📄 sdrv_functions_thai.lst
字号:
\ 0072 4D LD C,L
\ 0073 44 LD B,H
\ 0074 ED5B0200 LD DE,(region_win+2)
\ 0078 1600 LD D,0
\ 007A 2A0000 LD HL,(region_win)
\ 007D 62 LD H,D
\ 007E 19 ADD HL,DE
\ 007F F680 OR 128
\ 0081 ED42 SBC HL,BC
\ 0083 E28700 JP PO,?0054
\ 0086 AC XOR H
\ 0087 ?0054:
\ 0087 FA1901 JP M,?0070
\ 008A ?0012:
91 {
92 DUMP(RESULT_PUTCHAR_X_ERR);
93 PutCharErrFlag = RESULT_PUTCHAR_X_ERR;//X轴超出
94 return FALSE;
95 }
\ 008A ?0013:
96 if (region.y+ASCII_LARGE_HEIGHT_DEF > region_win.y+region_win.height)
\ 008A ED4B0100 LD BC,(region+1)
\ 008E 42 LD B,D
\ 008F 211000 LD HL,16
\ 0092 09 ADD HL,BC
\ 0093 4D LD C,L
\ 0094 44 LD B,H
\ 0095 ED5B0300 LD DE,(region_win+3)
\ 0099 1600 LD D,0
\ 009B 2A0100 LD HL,(region_win+1)
\ 009E 62 LD H,D
\ 009F 19 ADD HL,DE
\ 00A0 F680 OR 128
\ 00A2 ED42 SBC HL,BC
\ 00A4 E2A800 JP PO,?0055
\ 00A7 AC XOR H
\ 00A8 ?0055:
\ 00A8 F24E01 JP P,?0005
\ 00AB ?0014:
97 {
98 DUMP(RESULT_PUTCHAR_Y_ERR);
99 PutCharErrFlag = RESULT_PUTCHAR_Y_ERR;//Y轴超出
\ 00AB C34201 JP ?0071
100 return FALSE;
101 }
\ 00AE ?0015:
102 break;
\ 00AE ?0016:
103
104 case CharMode1616://16*16点阵模式(汉字)
105 if (region.x+CHINESE_WIDTH_DEF > region_win.x+region_win.width)
\ 00AE ED4B0000 LD BC,(region)
\ 00B2 0600 LD B,0
\ 00B4 211000 LD HL,16
\ 00B7 09 ADD HL,BC
\ 00B8 4D LD C,L
\ 00B9 44 LD B,H
\ 00BA ED5B0200 LD DE,(region_win+2)
\ 00BE 1600 LD D,0
\ 00C0 2A0000 LD HL,(region_win)
\ 00C3 62 LD H,D
\ 00C4 19 ADD HL,DE
\ 00C5 F680 OR 128
\ 00C7 ED42 SBC HL,BC
\ 00C9 E2CD00 JP PO,?0056
\ 00CC AC XOR H
\ 00CD ?0056:
\ 00CD FA1901 JP M,?0070
\ 00D0 ?0017:
106 {
107 DUMP(RESULT_PUTCHAR_X_ERR);
108 PutCharErrFlag = RESULT_PUTCHAR_X_ERR;//X轴超出
109 return FALSE;
110 }
\ 00D0 ?0018:
111 if (region.y+CHINESE_HEIGHT_DEF > region_win.y+region_win.height)
\ 00D0 ED4B0100 LD BC,(region+1)
\ 00D4 42 LD B,D
\ 00D5 211000 LD HL,16
\ 00D8 09 ADD HL,BC
\ 00D9 4D LD C,L
\ 00DA 44 LD B,H
\ 00DB ED5B0300 LD DE,(region_win+3)
\ 00DF 1600 LD D,0
\ 00E1 2A0100 LD HL,(region_win+1)
\ 00E4 62 LD H,D
\ 00E5 19 ADD HL,DE
\ 00E6 F680 OR 128
\ 00E8 ED42 SBC HL,BC
\ 00EA E2EE00 JP PO,?0057
\ 00ED AC XOR H
\ 00EE ?0057:
\ 00EE F24E01 JP P,?0005
\ 00F1 ?0019:
112 {
113 DUMP(RESULT_PUTCHAR_Y_ERR);
114 PutCharErrFlag = RESULT_PUTCHAR_Y_ERR;//Y轴超出
\ 00F1 184F JR ?0071
115 return FALSE;
116 }
\ 00F3 ?0020:
117 break;
\ 00F3 ?0021:
118
119 case PicDisMode://图形显示模式
120 if (region.x+region.width > region_win.x+region_win.width)
\ 00F3 ED4B0200 LD BC,(region+2)
\ 00F7 0600 LD B,0
\ 00F9 ED5B0000 LD DE,(region)
\ 00FD 50 LD D,B
\ 00FE 69 LD L,C
\ 00FF 60 LD H,B
\ 0100 19 ADD HL,DE
\ 0101 4D LD C,L
\ 0102 44 LD B,H
\ 0103 ED5B0200 LD DE,(region_win+2)
\ 0107 1600 LD D,0
\ 0109 2A0000 LD HL,(region_win)
\ 010C 62 LD H,D
\ 010D 19 ADD HL,DE
\ 010E F680 OR 128
\ 0110 ED42 SBC HL,BC
\ 0112 E21601 JP PO,?0058
\ 0115 AC XOR H
\ 0116 ?0058:
\ 0116 F21D01 JP P,?0023
\ 0119 ?0022:
121 {
122 DUMP(RESULT_PUTCHAR_X_ERR);
123 PutCharErrFlag = RESULT_PUTCHAR_X_ERR;//X轴超出
\ 0119 ?0070:
\ 0119 3E01 LD A,1
\ 011B 182B JR ?0067
124 return FALSE;
125 }
\ 011D ?0023:
126 if (region.y+region.height > region_win.y+region_win.height)
\ 011D ED4B0300 LD BC,(region+3)
\ 0121 42 LD B,D
\ 0122 ED5B0100 LD DE,(region+1)
\ 0126 50 LD D,B
\ 0127 69 LD L,C
\ 0128 60 LD H,B
\ 0129 19 ADD HL,DE
\ 012A 4D LD C,L
\ 012B 44 LD B,H
\ 012C ED5B0300 LD DE,(region_win+3)
\ 0130 1600 LD D,0
\ 0132 2A0100 LD HL,(region_win+1)
\ 0135 62 LD H,D
\ 0136 19 ADD HL,DE
\ 0137 F680 OR 128
\ 0139 ED42 SBC HL,BC
\ 013B E23F01 JP PO,?0059
\ 013E AC XOR H
\ 013F ?0059:
\ 013F F24E01 JP P,?0005
\ 0142 ?0024:
127 {
128 DUMP(RESULT_PUTCHAR_Y_ERR);
129 PutCharErrFlag = RESULT_PUTCHAR_Y_ERR;//Y轴超出
\ 0142 ?0071:
\ 0142 3E02 LD A,2
\ 0144 1802 JR ?0067
130 return FALSE;
131 }
\ 0146 ?0025:
132 break;
\ 0146 ?0026:
133
134 default:
135 DUMP(RESULT_PUTCHAR_OTHER_ERR);
136 PutCharErrFlag = RESULT_PUTCHAR_OTHER_ERR;//不知类型的也不显示
\ 0146 3E03 LD A,3
\ 0148 ?0067:
\ 0148 320000 LD (PutCharErrFlag),A
137 return FALSE;
\ 014B AF XOR A
138 }
\ 014C 1802 JR ?0027
\ 014E ?0005:
139 return TRUE;
\ 014E 3E01 LD A,1
140 }
\ 0150 ?0027:
\ 0150 E1 POP HL
\ 0151 C1 POP BC
\ 0152 C9 RET
141 //================================================================================
\ 0153 END
Errors: none
Warnings: none
Code size: 339
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -