seg.s

来自「这是用C编的nrf905的通讯程序」· S 代码 · 共 69 行

S
69
字号
	.module seg.c
	.area lit(rom, con, rel)
L2:
	.byte 63,6
	.byte 91,'O
	.byte 'f,'m
	.byte 125,7
	.byte 127,'o
	.byte 'w,124
	.byte 57,94
	.byte 'y,'q
	.byte 63,6
	.byte 91,'O
	.byte 'f,'m
	.byte 125,7
	.byte 127,'o
	.byte 'w,124
	.byte 57,94
	.byte 'y,'q
	.area text(rom, con, rel)
	.dbfile C:\DOCUME~1\charon\MYDOCU~1\AVR\NRF905\seg.c
	.dbfunc e seg _seg fV
;          seg_7 -> y+0
;            num -> R20
	.even
_seg::
	xcall push_gset1
	mov R20,R16
	sbiw R28,32
	.dbline -1
	.dbline 4
; #include <iom16v.h>
; 
; void seg(unsigned char num)
; {
	.dbline 7
; 
; unsigned char seg_7[]= //0~9
; {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71,
	ldi R24,<L2
	ldi R25,>L2
	movw R30,R28
	ldi R16,32
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	xcall asgncblk
	.dbline 9
; 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71};
; PORTA=seg_7[num];
	movw R24,R28
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	out 0x1b,R2
	.dbline -2
L1:
	adiw R28,32
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym l seg_7 0 A[32:32]c
	.dbsym r num 20 c
	.dbend

⌨️ 快捷键说明

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