delay.s

来自「avr单片机atmage16驱动小灯的一些例程 并且包括一些收发数据的程序利用」· S 代码 · 共 58 行

S
58
字号
	.module delay.c
	.area text(rom, con, rel)
	.dbfile E:\ICCAVR\project\AVRMEG~2\icc\019-TEST\delay.c
	.dbfunc e delay_ms _delay_ms fV
;              a -> R20,R21
;              b -> R22
;              i -> R16,R17
	.even
_delay_ms::
	xcall push_gset2
	.dbline -1
	.dbline 2
; /*延时函数*/
; void delay_ms(unsigned int i) {
	.dbline 6
	ldi R20,1
	ldi R21,0
	xjmp L5
L2:
	.dbline 6
; 
; 	unsigned int a;
; 	unsigned char b;
; 	for (a = 1; a < i; a++) {
	.dbline 7
	ldi R22,1
	xjmp L9
L6:
	.dbline 7
	.dbline 8
	.dbline 9
L7:
	.dbline 7
	inc R22
L9:
	.dbline 7
	tst R22
	brne L6
	.dbline 10
L3:
	.dbline 6
	subi R20,255  ; offset = 1
	sbci R21,255
L5:
	.dbline 6
	cp R20,R16
	cpc R21,R17
	brlo L2
	.dbline -2
L1:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r a 20 i
	.dbsym r b 22 c
	.dbsym r i 16 i
	.dbend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?