📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile D:\avrvi\AVRVi_m128_Starter_Kit\TWI_24C01\source\main.c
.dbfunc e main _main fV
; w -> R12,R13
; r -> R22,R23
; y -> R10,R11
; x -> y+2
; b -> R14,R15
; a -> R20,R21
; i -> R4,R5
.even
_main::
sbiw R28,4
.dbline -1
.dbline 15
; /************************************************
; 文件:main.c
; 用途:
; 注意:内部8M晶振
; 创建:2008.4.1
; 修改:2008.4.1
; Copy Right (c) www.avrvi.com AVR与虚拟仪器
; ************************************************/
;
; #include "config.h"
;
; unsigned char write_buff[64],read_buff[64];
;
; void main(void)
; {
.dbline 18
; unsigned int i,a,b,x,y;
; unsigned char *r,*w;
; delay_nms(100);
ldi R16,100
ldi R17,0
xcall _delay_nms
.dbline 19
; twi_init(); //初始化cpu
xcall _twi_init
.dbline 21
clr R4
clr R5
xjmp L5
L2:
.dbline 21
ldi R24,<_write_buff
ldi R25,>_write_buff
movw R30,R4
add R30,R24
adc R31,R25
clr R2
std z+0,R2
ldi R24,<_read_buff
ldi R25,>_read_buff
movw R30,R4
add R30,R24
adc R31,R25
std z+0,R2
L3:
.dbline 21
movw R24,R4
adiw R24,1
movw R4,R24
L5:
.dbline 21
;
; for(i=0;i<64;i++) read_buff[i]=write_buff[i]=0;//清主机读和写缓存区
movw R24,R4
cpi R24,64
ldi R30,0
cpc R25,R30
brlo L2
.dbline 22
clr R4
clr R5
xjmp L9
L6:
.dbline 22
ldi R24,<_write_buff
ldi R25,>_write_buff
movw R30,R4
add R30,R24
adc R31,R25
mov R2,R4
std z+0,R2
L7:
.dbline 22
movw R24,R4
adiw R24,1
movw R4,R24
L9:
.dbline 22
; for(i=0;i<64;i++) write_buff[i]=i;//写缓存区赋初值
movw R24,R4
cpi R24,64
ldi R30,0
cpc R25,R30
brlo L6
.dbline 24
;
; r=read_buff; //读参数
ldi R22,<_read_buff
ldi R23,>_read_buff
.dbline 25
; b=0x00;
clr R14
clr R15
.dbline 26
; a=64;
ldi R20,64
ldi R21,0
.dbline 28
;
; w=write_buff; //写参数
ldi R24,<_write_buff
ldi R25,>_write_buff
movw R12,R24
.dbline 29
; x=0x00;
clr R0
clr R1
std y+3,R1
std y+2,R0
.dbline 30
; y=64;
ldi R24,64
ldi R25,0
movw R10,R24
.dbline 32
;
; wt24c(w,x,y); //写
std y+1,R11
std y+0,R10
movw R18,R0
movw R16,R12
push R4
push R5
xcall _wt24c
pop R5
pop R4
.dbline 33
; rd24c(r,b,a); //读
std y+1,R21
std y+0,R20
movw R18,R14
movw R16,R22
push R4
push R5
xcall _rd24c
pop R5
pop R4
L10:
.dbline 35
L11:
.dbline 35
xjmp L10
X0:
.dbline -2
L1:
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r w 12 pc
.dbsym r r 22 pc
.dbsym r y 10 i
.dbsym l x 2 i
.dbsym r b 14 i
.dbsym r a 20 i
.dbsym r i 4 i
.dbend
.area bss(ram, con, rel)
.dbfile D:\avrvi\AVRVi_m128_Starter_Kit\TWI_24C01\source\main.c
_read_buff::
.blkb 64
.dbsym e read_buff _read_buff A[64:64]c
_write_buff::
.blkb 64
.dbsym e write_buff _write_buff A[64:64]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -