📄 write_page.lis
字号:
0098 80917100 lds R24,113
009C 887F andi R24,248
009E 8831 cpi R24,24
00A0 C1F7 brne L24
00A2 X5:
00A2 .dbline 86
00A2 0A2D mov R16,R10
00A4 BCDF xcall _i2c_wrdata
00A6 .dbline 87
00A6 AA24 clr R10
00A8 05C0 xjmp L30
00AA L27:
00AA .dbline 88
00AA .dbline 89
00AA F601 movw R30,R12
00AC 0191 ld R16,Z+
00AE 6F01 movw R12,R30
00B0 B6DF xcall _i2c_wrdata
00B2 .dbline 90
00B2 L28:
00B2 .dbline 87
00B2 A394 inc R10
00B4 L30:
00B4 .dbline 87
00B4 0C80 ldd R0,y+4
00B6 A014 cp R10,R0
00B8 C0F3 brlo L27
00BA X6:
00BA .dbline 91
00BA CFDF xcall _i2c_stop
00BC .dbline -2
00BC L23:
00BC .dbline 0 ; func end
00BC 0C940000 xjmp pop_xgset003C
00C0 .dbsym r i 10 c
00C0 .dbsym l i2c_nub 4 c
00C0 .dbsym r i2c_add 10 c
00C0 .dbsym r i2c_data 12 pc
00C0 .dbend
00C0 .dbfunc e i2c_rebyte _i2c_rebyte fc
00C0 ; i2c_data -> R10
00C0 ; i2c_add -> R10
.even
00C0 _i2c_rebyte::
00C0 AA92 st -y,R10
00C2 A02E mov R10,R16
00C4 .dbline -1
00C4 .dbline 96
00C4 L32:
00C4 .dbline 99
00C4 .dbline 100
00C4 A4DF xcall _i2c_start
00C6 .dbline 101
00C6 00EA ldi R16,160
00C8 AADF xcall _i2c_wrdata
00CA .dbline 102
00CA L33:
00CA .dbline 103
00CA 80917100 lds R24,113
00CE 887F andi R24,248
00D0 8831 cpi R24,24
00D2 C1F7 brne L32
00D4 X7:
00D4 .dbline 105
00D4 0A2D mov R16,R10
00D6 A3DF xcall _i2c_wrdata
00D8 .dbline 106
00D8 9ADF xcall _i2c_start
00DA .dbline 107
00DA 01EA ldi R16,161
00DC A0DF xcall _i2c_wrdata
00DE .dbline 108
00DE A9DF xcall _i2c_redata
00E0 A02E mov R10,R16
00E2 .dbline 109
00E2 BBDF xcall _i2c_stop
00E4 .dbline 110
00E4 0A2D mov R16,R10
00E6 .dbline -2
00E6 L31:
00E6 .dbline 0 ; func end
00E6 A990 ld R10,y+
00E8 0895 ret
00EA .dbsym r i2c_data 10 c
00EA .dbsym r i2c_add 10 c
00EA .dbend
00EA .dbfunc e i2c_rese _i2c_rese fV
00EA ; i -> R10
00EA ; i2c_nub -> y+4
00EA ; i2c_add -> R10
00EA ; i2c_data -> R20,R21
.even
00EA _i2c_rese::
00EA 0E940000 xcall push_xgset300C
00EE A22E mov R10,R18
00F0 A801 movw R20,R16
00F2 .dbline -1
00F2 .dbline 119
00F2 L36:
00F2 .dbline 122
00F2 .dbline 123
00F2 8DDF xcall _i2c_start
00F4 .dbline 124
00F4 00EA ldi R16,160
00F6 93DF xcall _i2c_wrdata
00F8 .dbline 125
00F8 L37:
00F8 .dbline 126
00F8 80917100 lds R24,113
00FC 887F andi R24,248
00FE 8831 cpi R24,24
0100 C1F7 brne L36
0102 X8:
0102 .dbline 128
0102 0A2D mov R16,R10
0104 8CDF xcall _i2c_wrdata
0106 .dbline 129
0106 83DF xcall _i2c_start
0108 .dbline 130
0108 01EA ldi R16,161
010A 89DF xcall _i2c_wrdata
010C .dbline 131
010C AA24 clr R10
010E 06C0 xjmp L42
0110 L39:
0110 .dbline 132
0110 .dbline 133
0110 9ADF xcall _i2c_redataack
0112 FA01 movw R30,R20
0114 0083 std z+0,R16
0116 .dbline 134
0116 4F5F subi R20,255 ; offset = 1
0118 5F4F sbci R21,255
011A .dbline 135
011A L40:
011A .dbline 131
011A A394 inc R10
011C L42:
011C .dbline 131
011C 8C81 ldd R24,y+4
011E 8150 subi R24,1
0120 A816 cp R10,R24
0122 B0F3 brlo L39
0124 X9:
0124 .dbline 136
0124 86DF xcall _i2c_redata
0126 FA01 movw R30,R20
0128 0083 std z+0,R16
012A .dbline 137
012A 97DF xcall _i2c_stop
012C .dbline -2
012C L35:
012C .dbline 0 ; func end
012C 0C940000 xjmp pop_xgset300C
0130 .dbsym r i 10 c
0130 .dbsym l i2c_nub 4 c
0130 .dbsym r i2c_add 10 c
0130 .dbsym r i2c_data 20 pc
0130 .dbend
.area lit(rom, con, rel)
0000 L44:
0000 0102 .byte 1,2
0002 0304 .byte 3,4
0004 0506 .byte 5,6
0006 0708 .byte 7,8
0008 090A .byte 9,10
000A 0B0C .byte 11,12
000C 0D0E .byte 13,14
000E 0F10 .byte 15,16
.area text(rom, con, rel)
0130 .dbfile E:\产品\开发板\mega128-board\实验程序\I2C读写24C04\页写\i2c.h
0130 .dbfile E:\产品\开发板\mega128-board\实验程序\I2C读写24C04\页写\write_page.c
0130 .dbfunc e main _main fI
0130 ; aa -> y+1
.even
0130 _main::
0130 6197 sbiw R28,17
0132 .dbline -1
0132 .dbline 9
0132 .dbline 10
0132 80E0 ldi R24,<L44
0134 90E0 ldi R25,>L44
0136 FE01 movw R30,R28
0138 3196 adiw R30,1
013A 00E1 ldi R16,16
013C 10E0 ldi R17,0
013E FA93 st -y,R31
0140 EA93 st -y,R30
0142 9A93 st -y,R25
0144 8A93 st -y,R24
0146 0E940000 xcall asgncblkx
014A .dbline 11
014A 5ADF xcall _i2c_init
014C .dbline 12
014C 80E1 ldi R24,16
014E 8883 std y+0,R24
0150 2227 clr R18
0152 8E01 movw R16,R28
0154 0F5F subi R16,255 ; offset = 1
0156 1F4F sbci R17,255
0158 98DF xcall _i2c_wrpage
015A .dbline -2
015A L43:
015A .dbline 0 ; func end
015A 6196 adiw R28,17
015C 0895 ret
015E .dbsym l aa 1 A[16:16]c
015E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -