📄 main.lis
字号:
0129 CC01B7 jmp L41
012C X19:
012C ; {
012C ; light_a|=0xff;
012C A6FF lda #-1
012E B700 sta 0
0130 ; for(i=0;i<=8;i++)
0130 3F02 clr *_i
0132 202D bra L46
0134 L43:
0134 ; {
0134 ; light_a&=~(1<<light_pin);
0134 6E0100 mov #1,*__r0
0137 B602 lda *_i
0139 A407 and #7
013B 2704 beq X10
013D X9:
013D 3800 lsl *__r0
013F 4BFC dbnza X9
0141 X10:
0141 3300 com *__r0
0143 B600 lda 0
0145 B400 and *__r0
0147 B700 sta 0
0149 ; for(k=0;k<1024;k++) //延时0.25秒
0149 3F01 clr *_k+1
014B 3F00 clr *_k
014D L47:
014D CD024E jsr _Delay1000
0150 95 tsx
0151 L48:
0151 5500 ldhx *_k
0153 AF01 aix #1
0155 3500 sthx *_k
0157 5500 ldhx *_k
0159 650400 cphx #1024
015C 95 tsx
015D 91EE blt L47
015F L44:
015F 3C02 inc *_i
0161 L46:
0161 B602 lda *_i
0163 A108 cmp #8
0165 23CD bls L43
0167 ; Delay1000();
0167 ; }
0167 ; for(i=0;i<=8;i++)
0167 3F02 clr *_i
0169 2043 bra L54
016B L51:
016B ; {
016B ; light_a&=~(0xc0>>light_pin);
016B B602 lda *_i
016D 6E0000 mov #0,*__r2
0170 6EC000 mov #-64,*__r3
0173 A40F and #15
0175 2706 beq X12
0177 X11:
0177 3700 asr *__r2
0179 3600 ror *__r3
017B 4BFA dbnza X11
017D X12:
017D 4E0000 mov *__r2,*__r0
0180 4E0000 mov *__r3,*__r1
0183 3300 com *__r1
0185 3300 com *__r0
0187 3F00 clr *__r2
0189 B600 lda 0
018B B400 and *__r1
018D B700 sta *__r1
018F B600 lda *__r2
0191 B400 and *__r0
0193 4E0000 mov *__r1,0
0196 ; for(k=0;k<1024;k++)
0196 3F01 clr *_k+1
0198 3F00 clr *_k
019A L55:
019A CD024E jsr _Delay1000
019D 95 tsx
019E L56:
019E 5500 ldhx *_k
01A0 AF01 aix #1
01A2 3500 sthx *_k
01A4 5500 ldhx *_k
01A6 650400 cphx #1024
01A9 95 tsx
01AA 91EE blt L55
01AC L52:
01AC 3C02 inc *_i
01AE L54:
01AE B602 lda *_i
01B0 A108 cmp #8
01B2 23B7 bls L51
01B4 ; Delay1000();
01B4 ; }
01B4 ; }
01B4 CC024A jmp L42
01B7 L41:
01B7 ; //8个LED中只有两个灯亮,亮灯顺序是从左到右,再从右到左,一个周期时间长度约8秒
01B7 ; else if((light_b&0x3)==0x03)
01B7 B601 lda 0x1
01B9 A403 and #3
01BB A103 cmp #3
01BD 2703 beq X20
01BF CC024A jmp L59
01C2 X20:
01C2 ; {
01C2 ; light_a|=0xff;
01C2 A6FF lda #-1
01C4 B700 sta 0
01C6 ; for(i=0;i<=8;i++)
01C6 3F02 clr *_i
01C8 202D bra L64
01CA L61:
01CA ; {
01CA ; light_a&=~(3<<light_pin);
01CA 6E0300 mov #3,*__r0
01CD B602 lda *_i
01CF A407 and #7
01D1 2704 beq X14
01D3 X13:
01D3 3800 lsl *__r0
01D5 4BFC dbnza X13
01D7 X14:
01D7 3300 com *__r0
01D9 B600 lda 0
01DB B400 and *__r0
01DD B700 sta 0
01DF ; for(k=0;k<1024;k++) //延时0.25秒
01DF 3F01 clr *_k+1
01E1 3F00 clr *_k
01E3 L65:
01E3 CD024E jsr _Delay1000
01E6 95 tsx
01E7 L66:
01E7 5500 ldhx *_k
01E9 AF01 aix #1
01EB 3500 sthx *_k
01ED 5500 ldhx *_k
01EF 650400 cphx #1024
01F2 95 tsx
01F3 91EE blt L65
01F5 L62:
01F5 3C02 inc *_i
01F7 L64:
01F7 B602 lda *_i
01F9 A108 cmp #8
01FB 23CD bls L61
01FD ; Delay1000();
01FD ; }
01FD ; for(i=0;i<=8;i++)
01FD 3F02 clr *_i
01FF 2043 bra L72
0201 L69:
0201 ; {
0201 ; light_a&=~(0xc0>>light_pin);
0201 B602 lda *_i
0203 6E0000 mov #0,*__r2
0206 6EC000 mov #-64,*__r3
0209 A40F and #15
020B 2706 beq X16
020D X15:
020D 3700 asr *__r2
020F 3600 ror *__r3
0211 4BFA dbnza X15
0213 X16:
0213 4E0000 mov *__r2,*__r0
0216 4E0000 mov *__r3,*__r1
0219 3300 com *__r1
021B 3300 com *__r0
021D 3F00 clr *__r2
021F B600 lda 0
0221 B400 and *__r1
0223 B700 sta *__r1
0225 B600 lda *__r2
0227 B400 and *__r0
0229 4E0000 mov *__r1,0
022C ; for(k=0;k<1024;k++)
022C 3F01 clr *_k+1
022E 3F00 clr *_k
0230 L73:
0230 CD024E jsr _Delay1000
0233 95 tsx
0234 L74:
0234 5500 ldhx *_k
0236 AF01 aix #1
0238 3500 sthx *_k
023A 5500 ldhx *_k
023C 650400 cphx #1024
023F 95 tsx
0240 91EE blt L73
0242 L70:
0242 3C02 inc *_i
0244 L72:
0244 B602 lda *_i
0246 A108 cmp #8
0248 23B7 bls L69
024A ; Delay1000();
024A ; }
024A ; }
024A L59:
024A L42:
024A L24:
024A L6:
024A L3:
024A CC000D jmp L2
024D X0:
024D L1:
024D .dbline 0 ; func end
024D 81 rts
024E ; u -> 0,X
024E _Delay1000::
024E A7FF ais #-1
0250 95 tsx
0251 ; }
0251 ; }
0251 ; /*[内部子程序存放处]
0251 ; /*Delay1000:延时1000个时钟周期-------------------------*
0251 ; *功 能:延时函数(约1000个时钟周期) *
0251 ; *参 数:无 *
0251 ; *返 回:无 *
0251 ; *-----------------------------------------------------*/
0251 ; void Delay1000(void)
0251 ; { unsigned char u;
0251 7F clr ,X
0252 2001 bra L81
0254 L78:
0254 L79:
0254 7C inc ,X
0255 L81:
0255 ; for(u=0;u<=110;u++);
0255 F6 lda ,X
0256 A16E cmp #110
0258 23FA bls L78
025A L77:
025A A701 ais #1
025C .dbline 0 ; func end
025C 81 rts
.area bss
0000 _k::
0000 .blkb 2
0002 _i::
0002 .blkb 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -