📄 160104_s6b0719.lst
字号:
0828 2D0A MOV R16,R10
0829 DD3E RCALL _set_page_add
082A 850C LDD R16,Y+12
082B DD45 RCALL _set_column_add
082C 8008 LDD R0,Y+0
082D 14A0 CP R10,R0
082E F419 BNE 0x0832
082F 2F06 MOV R16,R22
0830 DD2D RCALL _write_data
0831 C008 RJMP 0x083A
0832 8009 LDD R0,Y+1
0833 14A0 CP R10,R0
0834 F419 BNE 0x0838
0835 2F04 MOV R16,R20
0836 DD27 RCALL _write_data
0837 C002 RJMP 0x083A
0838 EF0F LDI R16,0xFF
0839 DD24 RCALL _write_data
083A 94E3 INC R14
083B 94A3 INC R10
083C 14EC CP R14,R12
083D F350 BCS 0x0828
083E 9622 ADIW R28,2
083F 940E097C CALL pop_gset5
0841 9624 ADIW R28,4
0842 9508 RET
_hex_to_ascii:
i --> R20
asc --> R22
hex --> R10
0843 940E0983 CALL push_gset3
0845 01B9 MOVW R22,R18
0846 2EA0 MOV R10,R16
0847 E042 LDI R20,2
0848 E050 LDI R21,0
0849 E01A LDI R17,0xA
084A 2D0A MOV R16,R10
084B 940E095B CALL mod8u
084D 2F80 MOV R24,R16
084E 5D80 SUBI R24,0xD0
084F 01FA MOVW R30,R20
0850 0FE6 ADD R30,R22
0851 1FF7 ADC R31,R23
0852 8380 STD Z+0,R24
0853 E01A LDI R17,0xA
0854 2D0A MOV R16,R10
0855 940E095D CALL div8u
0857 2EA0 MOV R10,R16
0858 5041 SUBI R20,1
0859 4050 SBCI R21,0
085A 3040 CPI R20,0
085B E0E0 LDI R30,0
085C 075E CPC R21,R30
085D F75C BGE 0x0849
085E 2422 CLR R2
085F 01FB MOVW R30,R22
0860 8223 STD Z+3,R2
0861 940E0976 CALL pop_gset3
0863 9508 RET
_wri_hex:
asc_temp --> Y+2
hex --> Y+10
add_y --> R22
add_x --> R20
0864 940E0985 CALL push_gset2
0866 2F62 MOV R22,R18
0867 2F40 MOV R20,R16
0868 9726 SBIW R28,6
0869 019E MOVW R18,R28
086A 5F2E SUBI R18,0xFE
086B 4F3F SBCI R19,0xFF
086C 850A LDD R16,Y+10
086D DFD5 RCALL _hex_to_ascii
086E 01CE MOVW R24,R28
086F 9602 ADIW R24,2
0870 8399 STD Y+1,R25
0871 8388 STD Y+0,R24
0872 2F26 MOV R18,R22
0873 2F04 MOV R16,R20
0874 DE22 RCALL _wri_asc_8x16_s
0875 9626 ADIW R28,6
0876 940E0973 CALL pop_gset2
0878 9508 RET
_menu_main:
i --> Y+7
0879 9726 SBIW R28,6
087A E988 LDI R24,0x98
087B E090 LDI R25,0
087C 8399 STD Y+1,R25
087D 8388 STD Y+0,R24
087E E021 LDI R18,1
087F E20C LDI R16,0x2C
0880 DE5C RCALL _wri_chinese_s
0881 E984 LDI R24,0x94
0882 E090 LDI R25,0
0883 8399 STD Y+1,R25
0884 8388 STD Y+0,R24
0885 E021 LDI R18,1
0886 E604 LDI R16,0x64
0887 DE0F RCALL _wri_asc_8x16_s
0888 E88F LDI R24,0x8F
0889 E090 LDI R25,0
088A 8399 STD Y+1,R25
088B 8388 STD Y+0,R24
088C E021 LDI R18,1
088D E70C LDI R16,0x7C
088E DE08 RCALL _wri_asc_8x16_s
088F EC88 LDI R24,0xC8
0890 E099 LDI R25,0x9
0891 839D STD Y+5,R25
0892 838C STD Y+4,R24
0893 E082 LDI R24,2
0894 838A STD Y+2,R24
0895 E08E LDI R24,0xE
0896 8388 STD Y+0,R24
0897 E021 LDI R18,1
0898 E10E LDI R16,0x1E
0899 DECC RCALL _wri_image
089A E888 LDI R24,0x88
089B E090 LDI R25,0
089C 8399 STD Y+1,R25
089D 8388 STD Y+0,R24
089E E024 LDI R18,4
089F E20C LDI R16,0x2C
08A0 DE3C RCALL _wri_chinese_s
08A1 E984 LDI R24,0x94
08A2 E090 LDI R25,0
08A3 8399 STD Y+1,R25
08A4 8388 STD Y+0,R24
08A5 E024 LDI R18,4
08A6 E604 LDI R16,0x64
08A7 DDEF RCALL _wri_asc_8x16_s
08A8 E88F LDI R24,0x8F
08A9 E090 LDI R25,0
08AA 8399 STD Y+1,R25
08AB 8388 STD Y+0,R24
08AC E024 LDI R18,4
08AD E70C LDI R16,0x7C
08AE DDE8 RCALL _wri_asc_8x16_s
08AF E883 LDI R24,0x83
08B0 E090 LDI R25,0
08B1 8399 STD Y+1,R25
08B2 8388 STD Y+0,R24
08B3 E027 LDI R18,7
08B4 E20C LDI R16,0x2C
08B5 DE27 RCALL _wri_chinese_s
08B6 E984 LDI R24,0x94
08B7 E090 LDI R25,0
08B8 8399 STD Y+1,R25
08B9 8388 STD Y+0,R24
08BA E027 LDI R18,7
08BB E604 LDI R16,0x64
08BC DDDA RCALL _wri_asc_8x16_s
08BD E78E LDI R24,0x7E
08BE E090 LDI R25,0
08BF 8399 STD Y+1,R25
08C0 8388 STD Y+0,R24
08C1 E027 LDI R18,7
08C2 E70C LDI R16,0x7C
08C3 DDD3 RCALL _wri_asc_8x16_s
08C4 E785 LDI R24,0x75
08C5 E090 LDI R25,0
08C6 8399 STD Y+1,R25
08C7 8388 STD Y+0,R24
08C8 E02B LDI R18,0xB
08C9 E20C LDI R16,0x2C
08CA DE12 RCALL _wri_chinese_s
08CB E08A LDI R24,0xA
08CC 8388 STD Y+0,R24
08CD E027 LDI R18,7
08CE E100 LDI R16,0x10
08CF DEFD RCALL _wri_line_h
08D0 E08A LDI R24,0xA
08D1 8388 STD Y+0,R24
08D2 E627 LDI R18,0x67
08D3 E100 LDI R16,0x10
08D4 DEF8 RCALL _wri_line_h
08D5 E680 LDI R24,0x60
08D6 8388 STD Y+0,R24
08D7 E027 LDI R18,7
08D8 E100 LDI R16,0x10
08D9 DF14 RCALL _wri_line_v
08DA E680 LDI R24,0x60
08DB 8388 STD Y+0,R24
08DC E027 LDI R18,7
08DD E10A LDI R16,0x1A
08DE DF0F RCALL _wri_line_v
08DF E781 LDI R24,0x71
08E0 E090 LDI R25,0
08E1 8399 STD Y+1,R25
08E2 8388 STD Y+0,R24
08E3 2722 CLR R18
08E4 E004 LDI R16,4
08E5 DE49 RCALL _wri_asc_4x8_s
08E6 E68D LDI R24,0x6D
08E7 E090 LDI R25,0
08E8 8399 STD Y+1,R25
08E9 8388 STD Y+0,R24
08EA E022 LDI R18,2
08EB E004 LDI R16,4
08EC DE42 RCALL _wri_asc_4x8_s
08ED E689 LDI R24,0x69
08EE E090 LDI R25,0
08EF 8399 STD Y+1,R25
08F0 8388 STD Y+0,R24
08F1 E024 LDI R18,4
08F2 E004 LDI R16,4
08F3 DE3B RCALL _wri_asc_4x8_s
08F4 E685 LDI R24,0x65
08F5 E090 LDI R25,0
08F6 8399 STD Y+1,R25
08F7 8388 STD Y+0,R24
08F8 E026 LDI R18,6
08F9 E004 LDI R16,4
08FA DE34 RCALL _wri_asc_4x8_s
08FB E984 LDI R24,0x94
08FC E090 LDI R25,0
08FD 8399 STD Y+1,R25
08FE 8388 STD Y+0,R24
08FF E028 LDI R18,0x8
0900 E004 LDI R16,4
0901 DE2D RCALL _wri_asc_4x8_s
0902 E682 LDI R24,0x62
0903 E090 LDI R25,0
0904 8399 STD Y+1,R25
0905 8388 STD Y+0,R24
0906 E02A LDI R18,0xA
0907 E008 LDI R16,0x8
0908 DE26 RCALL _wri_asc_4x8_s
0909 E680 LDI R24,0x60
090A E090 LDI R25,0
090B 8399 STD Y+1,R25
090C 8388 STD Y+0,R24
090D E02C LDI R18,0xC
090E E00C LDI R16,0xC
090F DE1F RCALL _wri_asc_4x8_s
0910 9626 ADIW R28,6
0911 9508 RET
_main:
0912 DD47 RCALL _init_160104
0913 DF65 RCALL _menu_main
0914 9508 RET
push_arg4:
0915 933A ST R19,-Y
0916 932A ST R18,-Y
push_arg2:
0917 931A ST R17,-Y
0918 930A ST R16,-Y
0919 9508 RET
asr16:
091A 2322 TST R18
091B F021 BEQ 0x0920
091C 9515 ASR R17
091D 9507 ROR R16
091E 952A DEC R18
091F CFFA RJMP asr16
0920 9508 RET
mod16s:
0921 9468 BSET 6
0922 92DA ST R13,-Y
0923 2ED1 MOV R13,R17
0924 C004 RJMP 0x0929
div16s:
0925 94E8 BCLR 6
0926 92DA ST R13,-Y
0927 2ED1 MOV R13,R17
0928 26D3 EOR R13,R19
0929 FF17 SBRS R17,7
092A C004 RJMP 0x092F
092B 9510 COM R17
092C 9500 COM R16
092D 5F0F SUBI R16,0xFF
092E 4F1F SBCI R17,0xFF
092F FF37 SBRS R19,7
0930 C004 RJMP 0x0935
0931 9530 COM R19
0932 9520 COM R18
0933 5F2F SUBI R18,0xFF
0934 4F3F SBCI R19,0xFF
0935 940E0942 CALL xdiv16u
0937 FED7 SBRS R13,7
0938 C004 RJMP 0x093D
0939 9510 COM R17
093A 9500 COM R16
093B 5F0F SUBI R16,0xFF
093C 4F1F SBCI R17,0xFF
093D 90D9 LD R13,Y+
093E 9508 RET
mod16u:
093F 9468 BSET 6
0940 C001 RJMP xdiv16u
div16u:
0941 94E8 BCLR 6
xdiv16u:
0942 92EA ST R14,-Y
0943 92FA ST R15,-Y
0944 938A ST R24,-Y
0945 24EE CLR R14
0946 24FF CLR R15
0947 E180 LDI R24,0x10
0948 0F00 LSL R16
0949 1F11 ROL R17
094A 1CEE ROL R14
094B 1CFF ROL R15
094C 16E2 CP R14,R18
094D 06F3 CPC R15,R19
094E F018 BCS 0x0952
094F 1AE2 SUB R14,R18
0950 0AF3 SBC R15,R19
0951 9503 INC R16
0952 958A DEC R24
0953 F7A1 BNE 0x0948
0954 F416 BRTC 0x0957
0955 2D0E MOV R16,R14
0956 2D1F MOV R17,R15
0957 9189 LD R24,Y+
0958 90F9 LD R15,Y+
0959 90E9 LD R14,Y+
095A 9508 RET
mod8u:
095B 9468 BSET 6
095C C001 RJMP xdiv8u
div8u:
095D 94E8 BCLR 6
xdiv8u:
095E 932A ST R18,-Y
095F 92FA ST R15,-Y
0960 92EA ST R14,-Y
0961 24FF CLR R15
0962 24EE CLR R14
0963 E120 LDI R18,0x10
0964 0F00 LSL R16
0965 1CFF ROL R15
0966 1CEE ROL R14
0967 16E1 CP R14,R17
0968 F010 BCS 0x096B
0969 1AE1 SUB R14,R17
096A 9503 INC R16
096B 952A DEC R18
096C F7B9 BNE 0x0964
096D F40E BRTC 0x096F
096E 2D0E MOV R16,R14
096F 90E9 LD R14,Y+
0970 90F9 LD R15,Y+
0971 9129 LD R18,Y+
0972 9508 RET
pop_gset2:
0973 E0E2 LDI R30,2
0974 940C098B JMP pop
pop_gset3:
0976 E0E4 LDI R30,4
0977 940C098B JMP pop
pop_gset4:
0979 E0E8 LDI R30,0x8
097A 940C098B JMP pop
pop_gset5:
097C 27EE CLR R30
097D 940C098B JMP pop
push_gset5:
097F 92FA ST R15,-Y
0980 92EA ST R14,-Y
push_gset4:
0981 92DA ST R13,-Y
0982 92CA ST R12,-Y
push_gset3:
0983 92BA ST R11,-Y
0984 92AA ST R10,-Y
push_gset2:
0985 937A ST R23,-Y
0986 936A ST R22,-Y
push_gset1:
0987 935A ST R21,-Y
0988 934A ST R20,-Y
0989 9508 RET
pop_gset1:
098A E0E1 LDI R30,1
pop:
098B 9149 LD R20,Y+
098C 9159 LD R21,Y+
098D FDE0 SBRC R30,0
098E 9508 RET
098F 9169 LD R22,Y+
0990 9179 LD R23,Y+
0991 FDE1 SBRC R30,1
0992 9508 RET
0993 90A9 LD R10,Y+
0994 90B9 LD R11,Y+
0995 FDE2 SBRC R30,2
0996 9508 RET
0997 90C9 LD R12,Y+
0998 90D9 LD R13,Y+
0999 FDE3 SBRC R30,3
099A 9508 RET
099B 90E9 LD R14,Y+
099C 90F9 LD R15,Y+
099D 9508 RET
lsl16:
099E 2322 TST R18
099F F021 BEQ 0x09A4
09A0 0F00 LSL R16
09A1 1F11 ROL R17
09A2 952A DEC R18
09A3 CFFA RJMP lsl16
09A4 9508 RET
lsl8:
09A5 2311 TST R17
09A6 F019 BEQ 0x09AA
09A7 0F00 LSL R16
09A8 951A DEC R17
09A9 CFFB RJMP lsl8
09AA 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -