display_board2.lst

来自「一个LED特效显示程序」· LST 代码 · 共 952 行 · 第 1/2 页

LST
952
字号
FILE: <library>
__text_start:
__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 D278      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 940E045D  CALL	0x45D
    0073 F7E9      BNE	0x0071
    0074 2033      TST	R3
    0075 F7D9      BNE	0x0071
    0076 9508      RET
_disp_bit:
  bitChoose            --> R22
  disCodeIndex         --> R20
    0077 D340      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 940E0457  CALL	0x457
    0082 9104      LPM	R16,0(Z)
    0083 D003      RCALL	_send_data_disp
    0084 9AC1      SBI	0x18,1
    0085 D32A      RCALL	pop_gset2
    0086 9508      RET
_send_data_disp:
  count                --> R20
  send_data            --> R22
    0087 D330      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 D378      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 D312      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 D356      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 D2F3      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 D2D9      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 D2D2      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 940E0477  CALL	0x477
    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 940E046D  CALL	0x46D
    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 EB8C      LDI	R24,0xBC
    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
_SPI_data_send:
  count                --> R20
  send_data            --> R22
    016E D249      RCALL	push_gset2
    016F 2F60      MOV	R22,R16
    0170 2744      CLR	R20
    0171 C010      RJMP	0x0182
    0172 2F06      MOV	R16,R22
    0173 2F14      MOV	R17,R20
    0174 D291      RCALL	lsl8
    0175 2F80      MOV	R24,R16
    0176 7880      ANDI	R24,0x80
    0177 F421      BNE	0x017C
    0178 B385      IN	R24,0x15
    0179 778F      ANDI	R24,0x7F
    017A BB85      OUT	0x15,R24
    017B C001      RJMP	0x017D
    017C 9AAF      SBI	0x15,7
    017D 9A93      SBI	0x12,3
    017E B382      IN	R24,0x12
    017F 7F87      ANDI	R24,0xF7
    0180 BB82      OUT	0x12,R24
    0181 9543      INC	R20
    0182 3048      CPI	R20,0x8
    0183 F370      BCS	0x0172
    0184 D22B      RCALL	pop_gset2
    0185 9508      RET
_Screen_send:
  i                    --> R20
    0186 D233      RCALL	push_gset1
    0187 B382      IN	R24,0x12
    0188 7E8F      ANDI	R24,0xEF
    0189 BB82      OUT	0x12,R24
    018A 2744      CLR	R20
    018B C006      RJMP	0x0192
    018C E986      LDI	R24,0x96
    018D 940E0457  CALL	0x457
    018F 8100      LDD	R16,Z+0
    0190 DFDD      RCALL	_SPI_data_send
    0191 9543      INC	R20
    0192 3048      CPI	R20,0x8
    0193 F3C0      BCS	0x018C
    0194 9A94      SBI	0x12,4
    0195 D227      RCALL	pop_gset1
    0196 9508      RET
_RAM_Write:
  data                 --> R18
  adress               --> R16
    0197 940E040C  CALL	<created procedures>
    0199 BB2B      OUT	0x1B,R18
    019A B382      IN	R24,0x12
    019B 7B8F      ANDI	R24,0xBF
    019C BB82      OUT	0x12,R24
    019D 9508      RET
_RAM_Read:
  temp                 --> R20
  adress               --> R16
    019E D21B      RCALL	push_gset1
    019F 940E040C  CALL	<created procedures>
    01A1 B382      IN	R24,0x12
    01A2 7D8F      ANDI	R24,0xDF
    01A3 BB82      OUT	0x12,R24
    01A4 2422      CLR	R2
    01A5 BA2A      OUT	0x1A,R2
    01A6 EF8F      LDI	R24,0xFF
    01A7 BB8B      OUT	0x1B,R24
    01A8 B349      IN	R20,0x19
    01A9 2F04      MOV	R16,R20
    01AA D212      RCALL	pop_gset1
    01AB 9508      RET
_data_store:
  data                 --> R20
    01AC D20D      RCALL	push_gset1
    01AD 2F40      MOV	R20,R16
    01AE 344C      CPI	R20,0x4C
    01AF F479      BNE	0x01BF
    01B0 91800085  LDS	R24,FileEnd
    01B2 3081      CPI	R24,1
    01B3 F459      BNE	0x01BF
    01B4 E081      LDI	R24,1
    01B5 93800087  STS	HeadEN,R24
    01B7 2422      CLR	R2
    01B8 92200086  STS	HeadLoad,R2
    01BA 2433      CLR	R3
    01BB 92300089  STS	DataIndex+1,R3
    01BD 92200088  STS	DataIndex,R2
    01BF 90200087  LDS	R2,HeadEN
    01C1 2022      TST	R2
    01C2 F591      BNE	0x01F5
    01C3 90200085  LDS	R2,FileEnd
    01C5 2022      TST	R2
    01C6 F571      BNE	0x01F5
    01C7 2F24      MOV	R18,R20
    01C8 91000088  LDS	R16,DataIndex
    01CA 91100089  LDS	R17,DataIndex+1
    01CC DFCA      RCALL	_RAM_Write
    01CD 940E0443  CALL	0x443
    01CF 9601      ADIW	R24,1
    01D0 93900089  STS	DataIndex+1,R25
    01D2 93800088  STS	DataIndex,R24
    01D4 3082      CPI	R24,2
    01D5 E0E0      LDI	R30,0
    01D6 079E      CPC	R25,R30
    01D7 F464      BGE	0x01E4
    01D8 019C      MOVW	R18,R24
    01D9 2F04      MOV	R16,R20
    01DA 2711      CLR	R17
    01DB D223      RCALL	lsl16
    01DC 940E0468  CALL	0x468
    01DE 2A20      OR	R2,R16
    01DF 2A31      OR	R3,R17
    01E0 9230008B  STS	FileLength+1,R3
    01E2 9220008A  STS	FileLength,R2
    01E4 940E0468  CALL	0x468
    01E6 90400088  LDS	R4,DataIndex
    01E8 90500089  LDS	R5,DataIndex+1
    01EA 1442      CP	R4,R2
    01EB 0453      CPC	R5,R3
    01EC F044      BLT	0x01F5
    01ED E180      LDI	R24,0x10
    01EE E090      LDI	R25,0
    01EF 1584      CP	R24,R4
    01F0 0595      CPC	R25,R5
    01F1 F41C      BGE	0x01F5
    01F2 E081      LDI	R24,1
    01F3 940E0463  CALL	0x463
    01F5 91800087  LDS	R24,HeadEN
    01F7 3081      CPI	R24,1
    01F8 F501      BNE	0x0219
    01F9 E983      LDI	R24,0x93
    01FA E090      LDI	R25,0
    01FB 91E00086  LDS	R30,HeadLoad
    01FD 27FF      CLR	R31
    01FE 0FE8      ADD	R30,R24
    01FF 1FF9      ADC	R31,R25
    0200 8340      STD	Z+0,R20
    0201 91800086  LDS	R24,HeadLoad
    0203 5F8F      SUBI	R24,0xFF
    0204 93800086  STS	HeadLoad,R24
    0206 3083      CPI	R24,3
    0207 F489      BNE	0x0219
    0208 91800093  LDS	R24,Head
    020A 348C      CPI	R24,0x4C
    020B F469      BNE	0x0219
    020C 91800094  LDS	R24,Head+1
    020E 3485      CPI	R24,0x45
    020F F449      BNE	0x0219
    0210 91800095  LDS	R24,Head+2
    0212 3484      CPI	R24,0x44
    0213 F429      BNE	0x0219
    0214 2422      CLR	R2
    0215 92200087  STS	HeadEN,R2
    0217 92200085  STS	FileEnd,R2
    0219 D1A3      RCALL	pop_gset1
    021A 9508      RET
_Disp_Model:
  PFileMax             --> R20
  file_length          --> R22
    021B D19C      RCALL	push_gset2
    021C 2766      CLR	R22
    021D 2777      CLR	R23
    021E 9020008D  LDS	R2,ModelDelayTime
    0220 9030008E  LDS	R3,ModelDelayTime+1
    0222 2022      TST	R2
    0223 F009      BEQ	0x0225
    0224 C071      RJMP	0x0296
    0225 2033      TST	R3
    0226 F009      BEQ	0x0228
    0227 C06E      RJMP	0x0296
    0228 9160008C  LDS	R22,DispModel
    022A 2777      CLR	R23
    022B 3060      CPI	R22,0
    022C 0767      CPC	R22,R23
    022D F0B9      BEQ	0x0245
    022E 3061      CPI	R22,1
    022F E0E0      LDI	R30,0
    0230 077E      CPC	R23,R30
    0231 F0E9      BEQ	0x024F
    0232 3062      CPI	R22,2
    0233 E0E0      LDI	R30,0
    0234 077E      CPC	R23,R30
    0235 F0E1      BEQ	0x0252
    0236 3063      CPI	R22,3
    0237 E0E0      LDI	R30,0
    0238 077E      CPC	R23,R30
    0239 F409      BNE	0x023B
    023A C047      RJMP	0x0282
    023B 3064      CPI	R22,4
    023C E0E0      LDI	R30,0
    023D 077E      CPC	R23,R30
    023E F0E9      BEQ	0x025C
    023F 3065      CPI	R22,5
    0240 E0E0      LDI	R30,0
    0241 077E      CPC	R23,R30
    0242 F409      BNE	0x0244
    0243 C03E      RJMP	0x0282
    0244 C03D      RJMP	0x0282
    0245 E084      LDI	R24,4
    0246 E090      LDI	R25,0

⌨️ 快捷键说明

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