[bugfix] 优化字体
This commit is contained in:
parent
930e6befeb
commit
2b86f5fe01
|
@ -5,6 +5,7 @@ export class CompileError extends Error {
|
|||
super(message);
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
index: number;
|
||||
}
|
||||
|
||||
|
@ -82,8 +83,8 @@ export class Compiler {
|
|||
["GX", "07"]
|
||||
])
|
||||
static font8x8: { [key: string]: number[] } = {
|
||||
'A': [0x7E, 0x11, 0x11, 0x7E, 0x11, 0x11, 0x11, 0x00],
|
||||
'B': [0x7C, 0x12, 0x12, 0x7C, 0x12, 0x12, 0x7C, 0x00],
|
||||
'A': [0x3E, 0x41, 0x41, 0x7F, 0x41, 0x41, 0x41, 0x00],
|
||||
'B': [0x7C, 0x42, 0x42, 0x7C, 0x42, 0x42, 0x7C, 0x00],
|
||||
'C': [0x3E, 0x41, 0x40, 0x40, 0x40, 0x41, 0x3E, 0x00],
|
||||
'D': [0x7C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x7C, 0x00],
|
||||
'E': [0x7F, 0x40, 0x40, 0x7C, 0x40, 0x40, 0x7F, 0x00],
|
||||
|
@ -97,7 +98,7 @@ export class Compiler {
|
|||
'M': [0x41, 0x63, 0x55, 0x49, 0x41, 0x41, 0x41, 0x00],
|
||||
'N': [0x41, 0x61, 0x51, 0x49, 0x45, 0x43, 0x41, 0x00],
|
||||
'O': [0x3E, 0x41, 0x41, 0x41, 0x41, 0x41, 0x3E, 0x00],
|
||||
'P': [0x7E, 0x11, 0x11, 0x7E, 0x40, 0x40, 0x40, 0x00],
|
||||
'P': [0x7E, 0x41, 0x41, 0x7E, 0x40, 0x40, 0x40, 0x00],
|
||||
'Q': [0x3E, 0x41, 0x41, 0x41, 0x45, 0x42, 0x3D, 0x00],
|
||||
'R': [0x7E, 0x41, 0x41, 0x7E, 0x44, 0x42, 0x41, 0x00],
|
||||
'S': [0x3E, 0x41, 0x40, 0x3E, 0x01, 0x41, 0x3E, 0x00],
|
||||
|
@ -112,7 +113,7 @@ export class Compiler {
|
|||
'1': [0x08, 0x18, 0x28, 0x08, 0x08, 0x08, 0x3E, 0x00],
|
||||
'2': [0x3E, 0x41, 0x01, 0x3E, 0x40, 0x40, 0x7F, 0x00],
|
||||
'3': [0x3E, 0x41, 0x01, 0x1E, 0x01, 0x41, 0x3E, 0x00],
|
||||
'4': [0x10, 0x30, 0x50, 0x90, 0x7F, 0x10, 0x10, 0x00],
|
||||
'4': [0x04, 0x0C, 0x14, 0x24, 0x7F, 0x04, 0x04, 0x00],
|
||||
'5': [0x7F, 0x40, 0x7E, 0x01, 0x01, 0x41, 0x3E, 0x00],
|
||||
'6': [0x3E, 0x40, 0x7E, 0x41, 0x41, 0x41, 0x3E, 0x00],
|
||||
'7': [0x7F, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00],
|
||||
|
@ -120,8 +121,8 @@ export class Compiler {
|
|||
'9': [0x3E, 0x41, 0x41, 0x3F, 0x01, 0x41, 0x3E, 0x00],
|
||||
'+': [0x00, 0x08, 0x08, 0x7F, 0x08, 0x08, 0x00, 0x00],
|
||||
'-': [0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00],
|
||||
'x': [0x00, 0x41, 0x22, 0x14, 0x08, 0x14, 0x22, 0x41],
|
||||
'/': [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00],
|
||||
'*': [0x00, 0x22, 0x14, 0x08, 0x14, 0x22, 0x00, 0x00],
|
||||
'/': [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00],
|
||||
' ': [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
|
||||
};
|
||||
Code: string = "";
|
||||
|
@ -199,11 +200,11 @@ export class Compiler {
|
|||
for (let i = 1; i <= 2; i++)
|
||||
if ((Compiler.Registers.has(mnemonicAndVals[i])))
|
||||
mnemonicAndVals[i] = Compiler.Registers.get(mnemonicAndVals[i])!;
|
||||
else if(this.Labels.has(mnemonicAndVals[i]))
|
||||
mnemonicAndVals[i] = this.Labels.get(mnemonicAndVals[i])!.toString(16).padStart(2,'0');
|
||||
else if (this.Labels.has(mnemonicAndVals[i]))
|
||||
mnemonicAndVals[i] = this.Labels.get(mnemonicAndVals[i])!.toString(16).padStart(2, '0');
|
||||
else
|
||||
mnemonicAndVals[i] = parseInt(mnemonicAndVals[i]).toString(16).padStart(2,'0');
|
||||
if (mnemonicAndVals[1] === 'NaN'||mnemonicAndVals[2] === 'NaN')
|
||||
mnemonicAndVals[i] = parseInt(mnemonicAndVals[i]).toString(16).padStart(2, '0');
|
||||
if (mnemonicAndVals[1] === 'NaN' || mnemonicAndVals[2] === 'NaN')
|
||||
throw new CompileError("Invalid operand", index);
|
||||
this.PCToMachineCode.set(pc, Compiler.KeyWordsToMachineCode.get(mnemonicAndVals[0])! + mnemonicAndVals[1] + mnemonicAndVals[2]);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue