📄 main.lis
字号:
00AE .dbline 186
00AE ; } while (rl & StatusBUSY);
00AE 470B80 tst [_rl],-128
00B1 BFE5 jnz L8
00B3 .dbline -2
00B3 .dbline 188
00B3 ;
00B3 ; }
00B3 L7:
00B3 .dbline 0 ; func end
00B3 7F ret
00B4 .dbend
00B4 .dbfunc e CS1_select _CS1_select fV
00B4 _CS1_select::
00B4 .dbline -1
00B4 .dbline 192
00B4 ;
00B4 ; // Controller #1
00B4 ; void CS1_select ()
00B4 ; {
00B4 .dbline 193
00B4 ; Ctrl &= ~CS2;
00B4 4104EF and REG[0x4],-17
00B7 .dbline 194
00B7 ; Ctrl |= CS1;
00B7 430408 or REG[0x4],8
00BA .dbline -2
00BA .dbline 195
00BA ; }
00BA L11:
00BA .dbline 0 ; func end
00BA 7F ret
00BB .dbend
00BB .dbfunc e CS2_select _CS2_select fV
00BB _CS2_select::
00BB .dbline -1
00BB .dbline 199
00BB ;
00BB ; // Controller #2
00BB ; void CS2_select ()
00BB ; {
00BB .dbline 200
00BB ; Ctrl &= ~CS1;
00BB 4104F7 and REG[0x4],-9
00BE .dbline 201
00BE ; Ctrl |= CS2;
00BE 430410 or REG[0x4],16
00C1 .dbline -2
00C1 .dbline 202
00C1 ; }
00C1 L12:
00C1 .dbline 0 ; func end
00C1 7F ret
00C2 .dbend
00C2 .dbfunc e cs_l _cs_l fV
00C2 _cs_l::
00C2 .dbline -1
00C2 .dbline 205
00C2 ;
00C2 ; //duplicate
00C2 ; void cs_l () {
00C2 .dbline 206
00C2 ; CS1_select ();
00C2 9FF0 xcall _CS1_select
00C4 .dbline -2
00C4 .dbline 207
00C4 ; }
00C4 L13:
00C4 .dbline 0 ; func end
00C4 7F ret
00C5 .dbend
00C5 .dbfunc e cs_r _cs_r fV
00C5 _cs_r::
00C5 .dbline -1
00C5 .dbline 209
00C5 ;
00C5 ; void cs_r () {
00C5 .dbline 210
00C5 ; CS2_select ();
00C5 9FF4 xcall _CS2_select
00C7 .dbline -2
00C7 .dbline 211
00C7 ; }
00C7 L14:
00C7 .dbline 0 ; func end
00C7 7F ret
00C8 .dbend
00C8 .dbfunc e Write _Write fV
00C8 _Write::
00C8 .dbline -1
00C8 .dbline 216
00C8 ;
00C8 ; // read write A0_instruction A0_Data
00C8 ;
00C8 ; void Write ()
00C8 ; {
00C8 .dbline 217
00C8 ; Ctrl |= WR;
00C8 430480 or REG[0x4],-128
00CB .dbline 218
00CB ; Ctrl &= ~WR;
00CB 41047F and REG[0x4],127
00CE .dbline -2
00CE .dbline 219
00CE ; }
00CE L15:
00CE .dbline 0 ; func end
00CE 7F ret
00CF .dbend
00CF .dbfunc e Read _Read fV
00CF _Read::
00CF .dbline -1
00CF .dbline 222
00CF ;
00CF ; void Read ()
00CF ; {
00CF .dbline 223
00CF ; Ctrl &= ~WR;
00CF 41047F and REG[0x4],127
00D2 .dbline 224
00D2 ; Ctrl |= WR;
00D2 430480 or REG[0x4],-128
00D5 .dbline -2
00D5 .dbline 225
00D5 ; }
00D5 L16:
00D5 .dbline 0 ; func end
00D5 7F ret
00D6 .dbend
00D6 .dbfunc e A0_Instruction _A0_Instruction fV
00D6 _A0_Instruction::
00D6 .dbline -1
00D6 .dbline 228
00D6 ;
00D6 ; void A0_Instruction ()
00D6 ; {
00D6 .dbline 229
00D6 ; Ctrl |= A0;
00D6 430404 or REG[0x4],4
00D9 .dbline 230
00D9 ; Ctrl &= ~A0;
00D9 4104FB and REG[0x4],-5
00DC .dbline -2
00DC .dbline 231
00DC ; }
00DC L17:
00DC .dbline 0 ; func end
00DC 7F ret
00DD .dbend
00DD .dbfunc e A0_Data _A0_Data fV
00DD _A0_Data::
00DD .dbline -1
00DD .dbline 234
00DD ;
00DD ; void A0_Data ()
00DD ; {
00DD .dbline 235
00DD ; Ctrl &= ~A0;
00DD 4104FB and REG[0x4],-5
00E0 .dbline 236
00E0 ; Ctrl |= A0;
00E0 430404 or REG[0x4],4
00E3 .dbline -2
00E3 .dbline 237
00E3 ; }
00E3 L18:
00E3 .dbline 0 ; func end
00E3 7F ret
00E4 .dbend
00E4 .dbfunc e PRT2_HZ _PRT2_HZ fV
00E4 _PRT2_HZ::
00E4 .dbline -1
00E4 .dbline 253
00E4 ;
00E4 ;
00E4 ; // ports operate
00E4 ;
00E4 ; // DM2 DM1 DM0 Mode
00E4 ; // 0 0 0 Resistive Pull Down
00E4 ; // 0 0 1 Strong Drive
00E4 ; // 0 1 0 High Impedence
00E4 ; // 0 1 1 Resistive Pull Up
00E4 ; // 1 0 0 Open Drain, Drives High
00E4 ; // 1 0 1 Slow Strong Drive
00E4 ; // 1 1 0 High Impedence Analog
00E4 ; // 1 1 1 Open Drain, Drives Low
00E4 ;
00E4 ;
00E4 ; void PRT2_HZ () {
00E4 .dbline 254
00E4 ; M8C_SetBank1;
00E4 7110 or F, 10h
00E6
00E6 .dbline 255
00E6 ; PRT2DM0 &= 0b00000000;
00E6 7110 or F,0x10 ; iopage = 1
00E8 620800 mov REG[0x8],0
00EB .dbline 256
00EB ; PRT2DM1 |= 0b11111111;
00EB 4309FF or REG[0x9],-1
00EE 70EF and F,0xEF ; iopage = 0
00F0 .dbline 257
00F0 ; M8C_SetBank0;
00F0 70EF and F, EFh
00F2
00F2 .dbline 258
00F2 ; PRT2DM2 &= 0b00000000;
00F2 620B00 mov REG[0xb],0
00F5 .dbline -2
00F5 .dbline 259
00F5 ; }
00F5 L19:
00F5 .dbline 0 ; func end
00F5 7F ret
00F6 .dbend
00F6 .dbfunc e PRT2_PD _PRT2_PD fV
00F6 _PRT2_PD::
00F6 .dbline -1
00F6 .dbline 261
00F6 ;
00F6 ; void PRT2_PD () {
00F6 .dbline 262
00F6 ; M8C_SetBank1;
00F6 7110 or F, 10h
00F8
00F8 .dbline 263
00F8 ; PRT2DM0 &= 0b00000000;
00F8 7110 or F,0x10 ; iopage = 1
00FA 620800 mov REG[0x8],0
00FD .dbline 264
00FD ; PRT2DM1 &= 0b00000000;
00FD 620900 mov REG[0x9],0
0100 70EF and F,0xEF ; iopage = 0
0102 .dbline 265
0102 ; M8C_SetBank0;
0102 70EF and F, EFh
0104
0104 .dbline 266
0104 ; PRT2DM2 &= 0b00000000;
0104 620B00 mov REG[0xb],0
0107 .dbline -2
0107 .dbline 267
0107 ; }
0107 L20:
0107 .dbline 0 ; func end
0107 7F ret
0108 .dbend
0108 .dbfunc e test_logo _test_logo fV
0108 ; a22 -> X+0
0108 _test_logo::
0108 .dbline -1
0108 10 push X
0109 4F mov X,SP
010A 3801 add SP,1
010C .dbline 270
010C ;
010C ;
010C ; void test_logo(){
010C .dbline 273
010C ; BYTE a22;
010C ;
010C ; if (x<= 60){
010C 3C0A3C cmp [_x],60
010F A003 jz X0
0111 D009 jnc L22
0113 X0:
0113 .dbline 273
0113 .dbline 274
0113 ; cs_l();
0113 9FAD xcall _cs_l
0115 .dbline 275
0115 ; a22 = x;
0115 510A mov A,[_x]
0117 5400 mov [X+0],A
0119 .dbline 276
0119 ; }
0119 8009 xjmp L23
011B L22:
011B .dbline 277
011B ; else {
011B .dbline 278
011B ; cs_r();
011B 9FA8 xcall _cs_r
011D .dbline 279
011D ; a22=(x-61);
011D 510A mov A,[_x]
011F 113D sub A,61
0121 5400 mov [X+0],A
0123 .dbline 280
0123 ; }
0123 L23:
0123 .dbline 283
0123 ;
0123 ;
0123 ; yByte = y ;//>> 3;
0123 5F0609 mov [_yByte],[_y]
0126 .dbline 284
0126 ; bitnum = y & 0x07;
0126 5109 mov A,[_y]
0128 2107 and A,7
012A 5308 mov [_bitnum],A
012C .dbline 285
012C ; bitmask = l_mask_array[bitnum];
012C 5F0008 mov [__r1],[_bitnum]
012F 550000 mov [__r0],0
0132 0600E8 add [__r1],<_l_mask_array
0135 0E00E8 adc [__r0],>_l_mask_array
0138 5100 mov A,[__r0]
013A 10 push X
013B 5800 mov X,[__r1]
013D 28 romx
013E 20 pop X
013F 5307 mov [_bitmask],A
0141 .dbline 288
0141 ;
0141 ;
0141 ; Data = ColumnAdressSet | a22;
0141 5200 mov A,[X+0]
0143 6008 mov REG[0x8],A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -