📄 utils.lis
字号:
.module utils.c
.area text(rom, con, rel)
0000 .dbfile ./utils.c
0000 .dbfunc e delayl _delayl fV
0000 ; cycles -> X-7
0000 _delayl::
0000 .dbline -1
0000 10 push X
0001 4F mov X,SP
0002 .dbline 6
0002 ; #include <m8C.h>
0002 ; #include "utils.h"
0002 ; #include "globdefs.h"
0002 ;
0002 ; void delayl(unsigned long cycles)
0002 ; {
0002 L3:
0002 .dbline 7
0002 L4:
0002 .dbline 7
0002 ; while (cycles--);
0002 52F9 mov A,[X-7]
0004 5300 mov [__r0],A
0006 52FA mov A,[X-6]
0008 5300 mov [__r1],A
000A 52FB mov A,[X-5]
000C 5300 mov [__r2],A
000E 52FC mov A,[X-4]
0010 5300 mov [__r3],A
0012 1101 sub A,1
0014 54FC mov [X-4],A
0016 5100 mov A,[__r2]
0018 1900 sbb A,0
001A 54FB mov [X-5],A
001C 5100 mov A,[__r1]
001E 1900 sbb A,0
0020 54FA mov [X-6],A
0022 5100 mov A,[__r0]
0024 1900 sbb A,0
0026 54F9 mov [X-7],A
0028 3C0000 cmp [__r0],0
002B BFD6 jnz L3
002D 3C0000 cmp [__r1],0
0030 BFD1 jnz L3
0032 3C0000 cmp [__r2],0
0035 BFCC jnz L3
0037 3C0000 cmp [__r3],0
003A BFC7 jnz L3
003C X0:
003C .dbline -2
003C .dbline 8
003C ; }
003C L2:
003C 20 pop X
003D .dbline 0 ; func end
003D 7F ret
003E .dbsym l cycles -7 l
003E .dbend
003E .dbfunc e delayi _delayi fV
003E ; cycles -> X-5
003E _delayi::
003E .dbline -1
003E 10 push X
003F 4F mov X,SP
0040 .dbline 11
0040 ;
0040 ; void delayi(unsigned int cycles)
0040 ; {
0040 L7:
0040 .dbline 12
0040 L8:
0040 .dbline 12
0040 ; while (cycles--);
0040 52FC mov A,[X-4]
0042 5300 mov [__r1],A
0044 52FB mov A,[X-5]
0046 5300 mov [__r0],A
0048 5100 mov A,[__r1]
004A 1101 sub A,1
004C 54FC mov [X-4],A
004E 5100 mov A,[__r0]
0050 1900 sbb A,0
0052 54FB mov [X-5],A
0054 3C0000 cmp [__r0],0
0057 BFE8 jnz L7
0059 3C0000 cmp [__r1],0
005C BFE3 jnz L7
005E X1:
005E .dbline -2
005E .dbline 13
005E ; }
005E L6:
005E 20 pop X
005F .dbline 0 ; func end
005F 7F ret
0060 .dbsym l cycles -5 i
0060 .dbend
0060 .dbfunc e delayc _delayc fV
0060 ; cycles -> X-4
0060 _delayc::
0060 .dbline -1
0060 10 push X
0061 4F mov X,SP
0062 .dbline 16
0062 ;
0062 ; void delayc(unsigned char cycles)
0062 ; {
0062 L11:
0062 .dbline 17
0062 L12:
0062 .dbline 17
0062 ; while (cycles--);
0062 52FC mov A,[X-4]
0064 5300 mov [__r1],A
0066 550000 mov [__r0],0
0069 1101 sub A,1
006B 5300 mov [__r3],A
006D 5000 mov A,0
006F 1900 sbb A,0
0071 5100 mov A,[__r3]
0073 54FC mov [X-4],A
0075 3C0000 cmp [__r0],0
0078 BFE9 jnz L11
007A 3C0000 cmp [__r1],0
007D BFE4 jnz L11
007F X2:
007F .dbline -2
007F .dbline 18
007F ; }
007F L10:
007F 20 pop X
0080 .dbline 0 ; func end
0080 7F ret
0081 .dbsym l cycles 0 I
0081 .dbsym l cycles -4 c
0081 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -