⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.s

📁 ICCAVR Rainguage counter program
💻 S
字号:
	.module functions.c
	.area text(rom, con, rel)
	.dbfile C:\RGauge\functions.c
	.dbfunc e uart_putc _uart_putc fV
;              c -> R16
	.even
_uart_putc::
	.dbline -1
	.dbline 4
; 
; #include "config.h"
; 
; void uart_putc(unsigned char c) {
L2:
	.dbline 6
	.dbline 6
L3:
	.dbline 6
;    // wait until UDR ready
; 	while(!(UCSRA & (1 << UDRE))) {};
	sbis 0xb,5
	rjmp L2
	.dbline 6
	.dbline 7
; 	UDR = c;    // send character
	out 0xc,R16
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r c 16 c
	.dbend
	.dbfunc e uart_puts _uart_puts fV
;              s -> R20,R21
	.even
_uart_puts::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 10
; }
; 
; void uart_puts(char *s) {
	xjmp L7
L6:
	.dbline 12
	.dbline 13
	movw R30,R20
	ldd R16,z+0
	xcall _uart_putc
	.dbline 14
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 15
L7:
	.dbline 12
; 	//  loop until *s != NULL
; 	while (*s) {
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L6
	.dbline -2
L5:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r s 20 pc
	.dbend
	.dbfunc e SPI_MasterTransmit _SPI_MasterTransmit fV
;          cData -> R16
	.even
_SPI_MasterTransmit::
	.dbline -1
	.dbline 19
; 		uart_putc(*s);
; 		s++;
; 	}
; }
; 
; void SPI_MasterTransmit (char cData)
; {
	.dbline 20
;  SPDR = cData;
	out 0xf,R16
L10:
	.dbline 21
L11:
	.dbline 21
;  while( !(SPDR & (1 <<SPIF)) );
	sbis 0xf,7
	rjmp L10
	.dbline -2
L9:
	.dbline 0 ; func end
	ret
	.dbsym r cData 16 c
	.dbend

⌨️ 快捷键说明

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