📄 display_board3.lst
字号:
FILE: <library>
__start:
__text_start:
004D E5CF LDI R28,0x5F
004E E0D4 LDI R29,4
004F BFCD OUT 0x3D,R28
0050 BFDE OUT 0x3E,R29
0051 51CE SUBI R28,0x1E
0052 40D0 SBCI R29,0
0053 EA0A LDI R16,0xAA
0054 8308 STD Y+0,R16
0055 2400 CLR R0
0056 E9E3 LDI R30,0x93
0057 E0F0 LDI R31,0
0058 E010 LDI R17,0
0059 39EE CPI R30,0x9E
005A 07F1 CPC R31,R17
005B F011 BEQ 0x005E
005C 9201 ST R0,Z+
005D CFFB RJMP 0x0059
005E 8300 STD Z+0,R16
005F E6E7 LDI R30,0x67
0060 E0F0 LDI R31,0
0061 E6A0 LDI R26,0x60
0062 E0B0 LDI R27,0
0063 E010 LDI R17,0
0064 39EA CPI R30,0x9A
0065 07F1 CPC R31,R17
0066 F021 BEQ 0x006B
0067 95C8 LPM
0068 9631 ADIW R30,1
0069 920D ST R0,X+
006A CFF9 RJMP 0x0064
006B D2A9 RCALL _main
_exit:
006C CFFF RJMP _exit
_delay:
n --> R16
006D 9310007C STS delay_time_count+1,R17
006F 9300007B STS delay_time_count,R16
0071 940E044E CALL 0x44E
0073 F7E9 BNE 0x0071
0074 2033 TST R3
0075 F7D9 BNE 0x0071
0076 9508 RET
_disp_bit:
bitChoose --> R22
disCodeIndex --> R20
0077 D33A RCALL push_gset2
0078 2F62 MOV R22,R18
0079 2F40 MOV R20,R16
007A B388 IN R24,0x18
007B 7F8D ANDI R24,0xFD
007C BB88 OUT 0x18,R24
007D 2F06 MOV R16,R22
007E D008 RCALL _send_data_disp
007F E584 LDI R24,0x54
0080 940E0448 CALL 0x448
0082 9104 LPM R16,0(Z)
0083 D003 RCALL _send_data_disp
0084 9AC1 SBI 0x18,1
0085 D324 RCALL pop_gset2
0086 9508 RET
_send_data_disp:
count --> R20
send_data --> R22
0087 D32A RCALL push_gset2
0088 2F60 MOV R22,R16
0089 2744 CLR R20
008A C010 RJMP 0x009B
008B 2F06 MOV R16,R22
008C 2F14 MOV R17,R20
008D D36B RCALL lsl8
008E 2F80 MOV R24,R16
008F 7880 ANDI R24,0x80
0090 F421 BNE 0x0095
0091 B388 IN R24,0x18
0092 7F87 ANDI R24,0xF7
0093 BB88 OUT 0x18,R24
0094 C001 RJMP 0x0096
0095 9AC3 SBI 0x18,3
0096 9AC2 SBI 0x18,2
0097 B388 IN R24,0x18
0098 7F8B ANDI R24,0xFB
0099 BB88 OUT 0x18,R24
009A 9543 INC R20
009B 3048 CPI R20,0x8
009C F370 BCS 0x008B
009D D30C RCALL pop_gset2
009E 9508 RET
_Disp_key_group:
009F 91800068 LDS R24,disp_key_count
00A1 5F8F SUBI R24,0xFF
00A2 93800068 STS disp_key_count,R24
00A4 E087 LDI R24,7
00A5 90200068 LDS R2,disp_key_count
00A7 1582 CP R24,R2
00A8 F418 BCC 0x00AC
00A9 2422 CLR R2
00AA 92200068 STS disp_key_count,R2
00AC 91100068 LDS R17,disp_key_count
00AE E001 LDI R16,1
00AF D349 RCALL lsl8
00B0 2F20 MOV R18,R16
00B1 E680 LDI R24,0x60
00B2 940E041F CALL 0x41F
00B4 8100 LDD R16,Z+0
00B5 DFC1 RCALL _disp_bit
00B6 99B0 SBIC 0x16,0
00B7 C006 RJMP 0x00BE
00B8 E780 LDI R24,0x70
00B9 940E041F CALL 0x41F
00BB E081 LDI R24,1
00BC 8380 STD Z+0,R24
00BD C005 RJMP 0x00C3
00BE E780 LDI R24,0x70
00BF 940E041F CALL 0x41F
00C1 2422 CLR R2
00C2 8220 STD Z+0,R2
00C3 9508 RET
_dec_hex_disp:
temp --> R20
i --> R22
00C4 D2ED RCALL push_gset2
00C5 91400069 LDS R20,disp_code
00C7 9150006A LDS R21,disp_code+1
00C9 2766 CLR R22
00CA C010 RJMP 0x00DB
00CB E084 LDI R24,4
00CC 9F86 MUL R24,R22
00CD 0190 MOVW R18,R0
00CE 018A MOVW R16,R20
00CF D2D3 RCALL asr16
00D0 01C8 MOVW R24,R16
00D1 708F ANDI R24,0xF
00D2 7090 ANDI R25,0
00D3 E6E0 LDI R30,0x60
00D4 E0F0 LDI R31,0
00D5 2FA6 MOV R26,R22
00D6 27BB CLR R27
00D7 0FAE ADD R26,R30
00D8 1FBF ADC R27,R31
00D9 938C ST R24,0(X)
00DA 9563 INC R22
00DB 3067 CPI R22,7
00DC F370 BCS 0x00CB
00DD D2CC RCALL pop_gset2
00DE 9508 RET
_Key_num:
j --> R16
i --> R18
00DF 2700 CLR R16
00E0 2422 CLR R2
00E1 9030007A LDS R3,key_delay
00E3 1423 CP R2,R3
00E4 F410 BCC 0x00E7
00E5 940E0463 CALL 0x463
00E7 2722 CLR R18
00E8 C00D RJMP 0x00F6
00E9 E780 LDI R24,0x70
00EA E090 LDI R25,0
00EB 2FE2 MOV R30,R18
00EC 27FF CLR R31
00ED 0FE8 ADD R30,R24
00EE 1FF9 ADC R31,R25
00EF 8180 LDD R24,Z+0
00F0 3081 CPI R24,1
00F1 F419 BNE 0x00F5
00F2 9320006F STS new_key_num,R18
00F4 E001 LDI R16,1
00F5 9523 INC R18
00F6 E087 LDI R24,7
00F7 1782 CP R24,R18
00F8 F780 BCC 0x00E9
00F9 2300 TST R16
00FA F419 BNE 0x00FE
00FB E08F LDI R24,0xF
00FC 9380006F STS new_key_num,R24
00FE 9180006E LDS R24,old_key_num
0100 308F CPI R24,0xF
0101 F461 BNE 0x010E
0102 9180006F LDS R24,new_key_num
0104 308F CPI R24,0xF
0105 F041 BEQ 0x010E
0106 9020007A LDS R2,key_delay
0108 2022 TST R2
0109 F421 BNE 0x010E
010A 2E28 MOV R2,R24
010B 9220006D STS key_num,R2
010D C029 RJMP 0x0137
010E 9180006E LDS R24,old_key_num
0110 308F CPI R24,0xF
0111 F089 BEQ 0x0123
0112 9030006F LDS R3,new_key_num
0114 1638 CP R3,R24
0115 F469 BNE 0x0123
0116 E08F LDI R24,0xF
0117 9380006D STS key_num,R24
0119 91800078 LDS R24,key_down_time
011B 91900079 LDS R25,key_down_time+1
011D 9601 ADIW R24,1
011E 93900079 STS key_down_time+1,R25
0120 93800078 STS key_down_time,R24
0122 C014 RJMP 0x0137
0123 9180006E LDS R24,old_key_num
0125 308F CPI R24,0xF
0126 F081 BEQ 0x0137
0127 9180006F LDS R24,new_key_num
0129 308F CPI R24,0xF
012A F461 BNE 0x0137
012B E08F LDI R24,0xF
012C 9380006D STS key_num,R24
012E 2422 CLR R2
012F 2433 CLR R3
0130 92300079 STS key_down_time+1,R3
0132 92200078 STS key_down_time,R2
0134 E684 LDI R24,0x64
0135 9380007A STS key_delay,R24
0137 9020006F LDS R2,new_key_num
0139 9220006E STS old_key_num,R2
013B 9508 RET
_port_int:
013C EF8F LDI R24,0xFF
013D BB8A OUT 0x1A,R24
013E BB8B OUT 0x1B,R24
013F E08E LDI R24,0xE
0140 BB87 OUT 0x17,R24
0141 EF8F LDI R24,0xFF
0142 BB88 OUT 0x18,R24
0143 BB84 OUT 0x14,R24
0144 BB85 OUT 0x15,R24
0145 EF88 LDI R24,0xF8
0146 BB81 OUT 0x11,R24
0147 EF8F LDI R24,0xFF
0148 BB82 OUT 0x12,R24
0149 9508 RET
_timer_int:
014A 2422 CLR R2
014B BC2E OUT 0x2E,R2
014C 940E0459 CALL 0x459
014E BC2F OUT 0x2F,R2
014F E081 LDI R24,1
0150 BD8E OUT 0x2E,R24
0151 E084 LDI R24,4
0152 BF89 OUT 0x39,R24
0153 9508 RET
_exit_int:
0154 E480 LDI R24,0x40
0155 BF8B OUT 0x3B,R24
0156 E082 LDI R24,2
0157 BF85 OUT 0x35,R24
0158 9508 RET
_uart_int:
0159 2422 CLR R2
015A B82A OUT 0x0A,R2
015B B82B OUT 0x0B,R2
015C BC20 OUT 0x20,R2
015D E085 LDI R24,5
015E B989 OUT 0x09,R24
015F E988 LDI R24,0x98
0160 B98A OUT 0x0A,R24
0161 EA8E LDI R24,0xAE
0162 BD80 OUT 0x20,R24
0163 9508 RET
_device_int:
0164 94F8 BCLR 7
0165 DFD6 RCALL _port_int
0166 DFE3 RCALL _timer_int
0167 DFEC RCALL _exit_int
0168 DFF0 RCALL _uart_int
0169 9478 BSET 7
016A 9508 RET
_uart_TX:
data --> R16
016B 9A5E SBI 0x0B,6
016C B90C OUT 0x0C,R16
016D 9508 RET
016E 940E0439 CALL 0x439
_uart_time_out:
0170 9601 ADIW R24,1
0171 940E0434 CALL 0x434
0173 90200087 LDS R2,HeadEN
0175 2022 TST R2
0176 F521 BNE 0x019B
0177 90200085 LDS R2,FileEnd
0179 2022 TST R2
017A F501 BNE 0x019B
017B 3280 CPI R24,0x20
017C E0E3 LDI R30,3
017D 079E CPC R25,R30
017E F0E0 BCS 0x019B
017F 9020007D LDS R2,sys_cont
0181 9030007E LDS R3,sys_cont+1
0183 2022 TST R2
0184 F479 BNE 0x0194
0185 2033 TST R3
0186 F469 BNE 0x0194
0187 9180008E LDS R24,time_out_s
0189 5F8F SUBI R24,0xFF
018A 9380008E STS time_out_s,R24
018C 3184 CPI R24,0x14
018D F431 BNE 0x0194
018E E081 LDI R24,1
018F E090 LDI R25,0
0190 940E0434 CALL 0x434
0192 940E0454 CALL 0x454
0194 EA0A LDI R16,0xAA
0195 DFD5 RCALL _uart_TX
0196 940E0439 CALL 0x439
0198 9701 SBIW R24,1
0199 940E0434 CALL 0x434
019B 940E0439 CALL 0x439
019D 3E88 CPI R24,0xE8
019E E0E3 LDI R30,3
019F 079E CPC R25,R30
01A0 F421 BNE 0x01A5
01A1 E081 LDI R24,1
01A2 E090 LDI R25,0
01A3 940E0434 CALL 0x434
01A5 9508 RET
_SPI_data_send:
count --> R20
send_data --> R22
01A6 D20B RCALL push_gset2
01A7 2F60 MOV R22,R16
01A8 2744 CLR R20
01A9 C010 RJMP 0x01BA
01AA 2F06 MOV R16,R22
01AB 2F14 MOV R17,R20
01AC D252 RCALL lsr8
01AD 2F80 MOV R24,R16
01AE 7081 ANDI R24,1
01AF F421 BNE 0x01B4
01B0 B385 IN R24,0x15
01B1 778F ANDI R24,0x7F
01B2 BB85 OUT 0x15,R24
01B3 C001 RJMP 0x01B5
01B4 9AAF SBI 0x15,7
01B5 9A93 SBI 0x12,3
01B6 B382 IN R24,0x12
01B7 7F87 ANDI R24,0xF7
01B8 BB82 OUT 0x12,R24
01B9 9543 INC R20
01BA 3048 CPI R20,0x8
01BB F370 BCS 0x01AA
01BC D1ED RCALL pop_gset2
01BD 9508 RET
_Screen_send:
i --> R20
01BE D1F5 RCALL push_gset1
01BF E048 LDI R20,0x8
01C0 B382 IN R24,0x12
01C1 7E8F ANDI R24,0xEF
01C2 BB82 OUT 0x12,R24
01C3 C006 RJMP 0x01CA
01C4 954A DEC R20
01C5 E986 LDI R24,0x96
01C6 940E0448 CALL 0x448
01C8 8100 LDD R16,Z+0
01C9 DFDC RCALL _SPI_data_send
01CA 2422 CLR R2
01CB 1624 CP R2,R20
01CC F3B8 BCS 0x01C4
01CD 9A94 SBI 0x12,4
01CE D1E8 RCALL pop_gset1
01CF 9508 RET
_RAM_Write:
data --> R18
adress --> R16
01D0 940E0405 CALL <created procedures>
01D2 BB2B OUT 0x1B,R18
01D3 B382 IN R24,0x12
01D4 7B8F ANDI R24,0xBF
01D5 BB82 OUT 0x12,R24
01D6 9508 RET
_RAM_Read:
adress --> R16
01D7 940E0405 CALL <created procedures>
01D9 B382 IN R24,0x12
01DA 7D8F ANDI R24,0xDF
01DB BB82 OUT 0x12,R24
01DC 2422 CLR R2
01DD BA2A OUT 0x1A,R2
01DE EF8F LDI R24,0xFF
01DF BB8B OUT 0x1B,R24
01E0 B309 IN R16,0x19
01E1 9508 RET
_data_store:
data --> R20
01E2 D1D1 RCALL push_gset1
01E3 2F40 MOV R20,R16
01E4 344C CPI R20,0x4C
01E5 F479 BNE 0x01F5
01E6 91800085 LDS R24,FileEnd
01E8 3081 CPI R24,1
01E9 F459 BNE 0x01F5
01EA E081 LDI R24,1
01EB 93800087 STS HeadEN,R24
01ED 2422 CLR R2
01EE 92200086 STS HeadLoad,R2
01F0 2433 CLR R3
01F1 92300089 STS DataIndex+1,R3
01F3 92200088 STS DataIndex,R2
01F5 90200087 LDS R2,HeadEN
01F7 2022 TST R2
01F8 F009 BEQ 0x01FA
01F9 C03C RJMP 0x0236
01FA 90200085 LDS R2,FileEnd
01FC 2022 TST R2
01FD F009 BEQ 0x01FF
01FE C037 RJMP 0x0236
01FF 2F24 MOV R18,R20
0200 91000088 LDS R16,DataIndex
0202 91100089 LDS R17,DataIndex+1
0204 DFCB RCALL _RAM_Write
0205 940E0426 CALL 0x426
0207 9601 ADIW R24,1
0208 93900089 STS DataIndex+1,R25
020A 93800088 STS DataIndex,R24
020C 3082 CPI R24,2
020D E0E0 LDI R30,0
020E 079E CPC R25,R30
020F F434 BGE 0x0216
0210 EC80 LDI R24,0xC0
0211 E094 LDI R25,4
0212 9390008B STS FileLength+1,R25
0214 9380008A STS FileLength,R24
0216 940E0426 CALL 0x426
0218 3081 CPI R24,1
0219 E0E0 LDI R30,0
021A 079E CPC R25,R30
021B F401 BNE 0x021C
021C 9020008A LDS R2,FileLength
021E 9030008B LDS R3,FileLength+1
0220 90400088 LDS R4,DataIndex
0222 90500089 LDS R5,DataIndex+1
0224 1442 CP R4,R2
0225 0453 CPC R5,R3
0226 F42C BGE 0x022C
0227 01C2 MOVW R24,R4
0228 3C80 CPI R24,0xC0
0229 E0E4 LDI R30,4
022A 079E CPC R25,R30
022B F054 BLT 0x0236
022C E180 LDI R24,0x10
022D E090 LDI R25,0
022E 940E045E CALL 0x45E
0230 1582 CP R24,R2
0231 0593 CPC R25,R3
0232 F41C BGE 0x0236
0233 E081 LDI R24,1
0234 940E0454 CALL 0x454
0236 91800087 LDS R24,HeadEN
0238 3081 CPI R24,1
0239 F501 BNE 0x025A
023A E983 LDI R24,0x93
023B E090 LDI R25,0
023C 91E00086 LDS R30,HeadLoad
023E 27FF CLR R31
023F 0FE8 ADD R30,R24
0240 1FF9 ADC R31,R25
0241 8340 STD Z+0,R20
0242 91800086 LDS R24,HeadLoad
0244 5F8F SUBI R24,0xFF
0245 93800086 STS HeadLoad,R24
0247 3083 CPI R24,3
0248 F489 BNE 0x025A
0249 91800093 LDS R24,Head
024B 348C CPI R24,0x4C
024C F469 BNE 0x025A
024D 91800094 LDS R24,Head+1
024F 3485 CPI R24,0x45
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -