📄 utils.s
字号:
.module utils.c
.area text(rom, con, rel)
.dbfile ./utils.c
.dbfunc e delayl _delayl fV
; cycles -> X-7
_delayl::
.dbline -1
push X
mov X,SP
.dbline 6
; #include <m8C.h>
; #include "utils.h"
; #include "globdefs.h"
;
; void delayl(unsigned long cycles)
; {
L3:
.dbline 7
L4:
.dbline 7
; while (cycles--);
mov A,[X-7]
mov [__r0],A
mov A,[X-6]
mov [__r1],A
mov A,[X-5]
mov [__r2],A
mov A,[X-4]
mov [__r3],A
sub A,1
mov [X-4],A
mov A,[__r2]
sbb A,0
mov [X-5],A
mov A,[__r1]
sbb A,0
mov [X-6],A
mov A,[__r0]
sbb A,0
mov [X-7],A
cmp [__r0],0
jnz L3
cmp [__r1],0
jnz L3
cmp [__r2],0
jnz L3
cmp [__r3],0
jnz L3
X0:
.dbline -2
.dbline 8
; }
L2:
pop X
.dbline 0 ; func end
ret
.dbsym l cycles -7 l
.dbend
.dbfunc e delayi _delayi fV
; cycles -> X-5
_delayi::
.dbline -1
push X
mov X,SP
.dbline 11
;
; void delayi(unsigned int cycles)
; {
L7:
.dbline 12
L8:
.dbline 12
; while (cycles--);
mov A,[X-4]
mov [__r1],A
mov A,[X-5]
mov [__r0],A
mov A,[__r1]
sub A,1
mov [X-4],A
mov A,[__r0]
sbb A,0
mov [X-5],A
cmp [__r0],0
jnz L7
cmp [__r1],0
jnz L7
X1:
.dbline -2
.dbline 13
; }
L6:
pop X
.dbline 0 ; func end
ret
.dbsym l cycles -5 i
.dbend
.dbfunc e delayc _delayc fV
; cycles -> X-4
_delayc::
.dbline -1
push X
mov X,SP
.dbline 16
;
; void delayc(unsigned char cycles)
; {
L11:
.dbline 17
L12:
.dbline 17
; while (cycles--);
mov A,[X-4]
mov [__r1],A
mov [__r0],0
sub A,1
mov [__r3],A
mov A,0
sbb A,0
mov A,[__r3]
mov [X-4],A
cmp [__r0],0
jnz L11
cmp [__r1],0
jnz L11
X2:
.dbline -2
.dbline 18
; }
L10:
pop X
.dbline 0 ; func end
ret
.dbsym l cycles 0 I
.dbsym l cycles -4 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -