📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\TWI_24C01\source\main.c
0000 .dbfunc e main _main fV
0000 ; w -> R12,R13
0000 ; r -> R22,R23
0000 ; y -> R10,R11
0000 ; x -> y+2
0000 ; b -> R14,R15
0000 ; a -> R20,R21
0000 ; i -> R4,R5
.even
0000 _main::
0000 2497 sbiw R28,4
0002 .dbline -1
0002 .dbline 15
0002 ; /************************************************
0002 ; 文件:main.c
0002 ; 用途:
0002 ; 注意:内部8M晶振
0002 ; 创建:2008.4.1
0002 ; 修改:2008.4.1
0002 ; Copy Right (c) www.avrvi.com AVR与虚拟仪器
0002 ; ************************************************/
0002 ;
0002 ; #include "config.h"
0002 ;
0002 ; unsigned char write_buff[64],read_buff[64];
0002 ;
0002 ; void main(void)
0002 ; {
0002 .dbline 18
0002 ; unsigned int i,a,b,x,y;
0002 ; unsigned char *r,*w;
0002 ; delay_nms(100);
0002 04E6 ldi R16,100
0004 10E0 ldi R17,0
0006 0E940000 xcall _delay_nms
000A .dbline 19
000A ; twi_init(); //初始化cpu
000A 0E940000 xcall _twi_init
000E .dbline 21
000E 4424 clr R4
0010 5524 clr R5
0012 10C0 xjmp L5
0014 L2:
0014 .dbline 21
0014 80E0 ldi R24,<_write_buff
0016 90E0 ldi R25,>_write_buff
0018 F201 movw R30,R4
001A E80F add R30,R24
001C F91F adc R31,R25
001E 2224 clr R2
0020 2082 std z+0,R2
0022 80E0 ldi R24,<_read_buff
0024 90E0 ldi R25,>_read_buff
0026 F201 movw R30,R4
0028 E80F add R30,R24
002A F91F adc R31,R25
002C 2082 std z+0,R2
002E L3:
002E .dbline 21
002E C201 movw R24,R4
0030 0196 adiw R24,1
0032 2C01 movw R4,R24
0034 L5:
0034 .dbline 21
0034 ;
0034 ; for(i=0;i<64;i++) read_buff[i]=write_buff[i]=0;//清主机读和写缓存区
0034 C201 movw R24,R4
0036 8034 cpi R24,64
0038 E0E0 ldi R30,0
003A 9E07 cpc R25,R30
003C 58F3 brlo L2
003E .dbline 22
003E 4424 clr R4
0040 5524 clr R5
0042 0AC0 xjmp L9
0044 L6:
0044 .dbline 22
0044 80E0 ldi R24,<_write_buff
0046 90E0 ldi R25,>_write_buff
0048 F201 movw R30,R4
004A E80F add R30,R24
004C F91F adc R31,R25
004E 242C mov R2,R4
0050 2082 std z+0,R2
0052 L7:
0052 .dbline 22
0052 C201 movw R24,R4
0054 0196 adiw R24,1
0056 2C01 movw R4,R24
0058 L9:
0058 .dbline 22
0058 ; for(i=0;i<64;i++) write_buff[i]=i;//写缓存区赋初值
0058 C201 movw R24,R4
005A 8034 cpi R24,64
005C E0E0 ldi R30,0
005E 9E07 cpc R25,R30
0060 88F3 brlo L6
0062 .dbline 24
0062 ;
0062 ; r=read_buff; //读参数
0062 60E0 ldi R22,<_read_buff
0064 70E0 ldi R23,>_read_buff
0066 .dbline 25
0066 ; b=0x00;
0066 EE24 clr R14
0068 FF24 clr R15
006A .dbline 26
006A ; a=64;
006A 40E4 ldi R20,64
006C 50E0 ldi R21,0
006E .dbline 28
006E ;
006E ; w=write_buff; //写参数
006E 80E0 ldi R24,<_write_buff
0070 90E0 ldi R25,>_write_buff
0072 6C01 movw R12,R24
0074 .dbline 29
0074 ; x=0x00;
0074 0024 clr R0
0076 1124 clr R1
0078 1B82 std y+3,R1
007A 0A82 std y+2,R0
007C .dbline 30
007C ; y=64;
007C 80E4 ldi R24,64
007E 90E0 ldi R25,0
0080 5C01 movw R10,R24
0082 .dbline 32
0082 ;
0082 ; wt24c(w,x,y); //写
0082 B982 std y+1,R11
0084 A882 std y+0,R10
0086 9001 movw R18,R0
0088 8601 movw R16,R12
008A 4F92 push R4
008C 5F92 push R5
008E 0E940000 xcall _wt24c
0092 5F90 pop R5
0094 4F90 pop R4
0096 .dbline 33
0096 ; rd24c(r,b,a); //读
0096 5983 std y+1,R21
0098 4883 std y+0,R20
009A 9701 movw R18,R14
009C 8B01 movw R16,R22
009E 4F92 push R4
00A0 5F92 push R5
00A2 0E940000 xcall _rd24c
00A6 5F90 pop R5
00A8 4F90 pop R4
00AA L10:
00AA .dbline 35
00AA L11:
00AA .dbline 35
00AA FFCF xjmp L10
00AC X0:
00AC .dbline -2
00AC L1:
00AC 2496 adiw R28,4
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym r w 12 pc
00B0 .dbsym r r 22 pc
00B0 .dbsym r y 10 i
00B0 .dbsym l x 2 i
00B0 .dbsym r b 14 i
00B0 .dbsym r a 20 i
00B0 .dbsym r i 4 i
00B0 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\TWI_24C01\source\main.c
0000 _read_buff::
0000 .blkb 64
0040 .dbsym e read_buff _read_buff A[64:64]c
0040 _write_buff::
0040 .blkb 64
0080 .dbsym e write_buff _write_buff A[64:64]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -