📄 mian.s
字号:
xjmp L29
L40:
.dbline 32
ldi R16,56
xjmp L29
L41:
.dbline 33
ldi R16,55
xjmp L29
L42:
.dbline 34
ldi R16,45
xjmp L29
L43:
.dbline 35
ldi R16,54
xjmp L29
L44:
.dbline 36
ldi R16,53
xjmp L29
L45:
.dbline 37
ldi R16,52
xjmp L29
L46:
.dbline 38
ldi R16,43
xjmp L29
L47:
.dbline 39
ldi R16,51
xjmp L29
L48:
.dbline 40
ldi R16,50
xjmp L29
L49:
.dbline 41
ldi R16,49
xjmp L29
L30:
.dbline 42
clr R16
.dbline -2
L29:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.area bss(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
L55:
.blkb 1
.area text(rom, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
.dbfunc e get_key _get_key fc
.dbsym s j L55 c
; i -> R20
.even
_get_key::
xcall push_gset1
.dbline -1
.dbline 47
.dbline 49
xcall _key_read
mov R20,R16
.dbline 50
tst R16
brne L56
.dbline 51
.dbline 52
clr R2
sts L55,R2
.dbline 53
clr R16
xjmp L54
L56:
.dbline 55
lds R2,L55
tst R2
brne L58
.dbline 56
.dbline 56
sts L55,R20
.dbline 57
ldi R16,10
ldi R17,0
xcall _delay_nms
.dbline 58
xcall _key_read
mov R20,R16
.dbline 59
lds R2,L55
cp R16,R2
brne L60
.dbline 59
.dbline 59
xjmp L54
L60:
.dbline 60
L58:
.dbline 61
clr R16
.dbline -2
L54:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
_a1::
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器/key.h
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e a1 _a1 A[5:5]c
_a2::
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e a2 _a2 A[5:5]c
_result_dp::
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.blkb 2
.area idata
.byte 32,32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e result_dp _result_dp A[7:7]c
_flag_a1::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e flag_a1 _flag_a1 c
_flag_a2::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e flag_a2 _flag_a2 c
_key::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e key _key c
_flag_count::
.blkb 1
.area idata
.byte 32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e flag_count _flag_count c
_ok::
.blkb 1
.area idata
.byte 32
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e ok _ok c
_error::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbsym e error _error c
L63:
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.area text(rom, con, rel)
.dbfile D:\avr\+++精华+++\计算器\mian.c
.dbfunc e process_key _process_key fV
.dbsym s i L63 c
.even
_process_key::
sbiw R28,2
.dbline -1
.dbline 36
.dbline 37
lds R24,_key
cpi R24,48
brsh X12
xjmp L64
X12:
ldi R24,57
lds R2,_key
cp R24,R2
brsh X13
xjmp L64
X13:
.dbline 38
.dbline 38
lds R24,_flag_a1
cpi R24,1
brne L66
.dbline 39
.dbline 40
ldi R24,<_a1
ldi R25,>_a1
lds R30,L63
clr R31
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L68
.dbline 40
ldi R24,<_a1
ldi R25,>_a1
lds R30,L63
clr R31
add R30,R24
adc R31,R25
std z+0,R2
L68:
.dbline 41
lds R24,L63
subi R24,255 ; addi 1
sts L63,R24
.dbline 42
lds R24,_a1+3
cpi R24,32
brne X14
xjmp L65
X14:
.dbline 42
.dbline 42
clr R2
sts _flag_a1,R2
.dbline 42
sts L63,R2
.dbline 42
.dbline 43
xjmp L65
L66:
.dbline 44
lds R24,_flag_a2
cpi R24,1
breq X15
xjmp L65
X15:
lds R24,_flag_count
cpi R24,32
brne X16
xjmp L65
X16:
.dbline 45
.dbline 46
ldi R24,<_a2
ldi R25,>_a2
lds R30,L63
clr R31
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L75
.dbline 46
ldi R24,<_a2
ldi R25,>_a2
lds R30,L63
clr R31
add R30,R24
adc R31,R25
lds R2,_key
std z+0,R2
L75:
.dbline 47
lds R24,L63
subi R24,255 ; addi 1
sts L63,R24
.dbline 48
lds R24,_a2+3
cpi R24,32
brne X17
xjmp L65
X17:
.dbline 48
.dbline 48
clr R2
sts _flag_a2,R2
.dbline 48
sts L63,R2
.dbline 48
.dbline 49
.dbline 50
xjmp L65
L64:
.dbline 51
lds R24,_key
cpi R24,43
breq L84
cpi R24,45
breq L84
cpi R24,42
breq L84
cpi R24,47
brne L80
L84:
.dbline 51
.dbline 51
clr R2
sts _flag_a1,R2
.dbline 51
lds R2,_key
sts _flag_count,R2
.dbline 51
clr R2
sts L63,R2
.dbline 51
xjmp L81
L80:
.dbline 53
lds R24,_key
cpi R24,61
brne L85
.dbline 54
.dbline 56
ldi R24,61
sts _ok,R24
.dbline 57
lds R24,_flag_a2
cpi R24,1
brne L87
lds R24,_a2
cpi R24,32
brne L87
.dbline 58
.dbline 58
ldi R24,1
sts _error,R24
.dbline 60
ldi R24,<L89
ldi R25,>L89
std y+1,R25
std y+0,R24
ldi R18,1
ldi R16,10
xcall _LCD_write_string
.dbline 61
xjmp L86
L87:
.dbline 63
.dbline 63
xcall _process_data
.dbline 64
clr R2
sts _flag_a2,R2
.dbline 64
.dbline 65
xjmp L86
L85:
.dbline 67
lds R24,_key
cpi R24,82
brne L90
.dbline 67
clr R2
sts L63,R2
L90:
L86:
L81:
L65:
.dbline 68
xcall _key_display
.dbline -2
L62:
adiw R28,2
.dbline 0 ; func end
ret
.dbend
.dbfunc e key_display _key_display fV
; i -> R20
.even
_key_display::
xcall push_gset1
sbiw R28,2
.dbline -1
.dbline 72
.dbline 74
lds R2,_key
tst R2
brne X18
xjmp L93
X18:
mov R24,R2
cpi R24,82
brne X19
xjmp L93
X19:
.dbline 75
.dbline 75
lds R2,_a1
std y+0,R2
ldi R18,1
clr R16
xcall _LCD_write_char
.dbline 76
lds R2,_a1+1
std y+0,R2
ldi R18,1
ldi R16,1
xcall _LCD_write_char
.dbline 77
lds R2,_a1+2
std y+0,R2
ldi R18,1
ldi R16,2
xcall _LCD_write_char
.dbline 78
lds R2,_a1+3
std y+0,R2
ldi R18,1
ldi R16,3
xcall _LCD_write_char
.dbline 79
lds R2,_flag_count
std y+0,R2
ldi R18,1
ldi R16,4
xcall _LCD_write_char
.dbline 80
lds R2,_a2
std y+0,R2
ldi R18,1
ldi R16,5
xcall _LCD_write_char
.dbline 81
lds R2,_a2+1
std y+0,R2
ldi R18,1
ldi R16,6
xcall _LCD_write_char
.dbline 82
lds R2,_a2+2
std y+0,R2
ldi R18,1
ldi R16,7
xcall _LCD_write_char
.dbline 83
lds R2,_a2+3
std y+0,R2
ldi R18,1
ldi R16,8
xcall _LCD_write_char
.dbline 84
lds R2,_ok
std y+0,R2
ldi R18,1
ldi R16,9
xcall _LCD_write_char
.dbline 86
clr R2
sts _key,R2
.dbline 87
L93:
.dbline 88
lds R2,_key
tst R2
brne X20
xjmp L101
X20:
mov R24,R2
cpi R24,82
breq X21
xjmp L101
X21:
.dbline 89
.dbline 90
ldi R24,<L103
ldi R25,>L103
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
xcall _LCD_write_string
.dbline 91
clr R20
xjmp L107
L104:
.dbline 91
ldi R24,<_a1
ldi R25,>_a1
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldi R24,32
std z+0,R24
L105:
.dbline 91
inc R20
L107:
.dbline 91
cpi R20,5
brlo L104
.dbline 92
clr R20
xjmp L111
L108:
.dbline 92
ldi R24,<_a2
ldi R25,>_a2
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldi R24,32
std z+0,R24
L109:
.dbline 92
inc R20
L111:
.dbline 92
cpi R20,5
brlo L108
.dbline 93
clr R20
xjmp L115
L112:
.dbline 93
ldi R24,<_result_dp
ldi R25,>_result_dp
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldi R24,32
std z+0,R24
L113:
.dbline 93
inc R20
L115:
.dbline 93
cpi R20,7
brlo L112
.dbline 94
ldi R24,1
sts _flag_a1,R24
.dbline 95
sts _flag_a2,R24
.dbline 96
clr R2
sts _key,R2
.dbline 97
ldi R24,32
sts _flag_count,R24
.dbline 98
sts _ok,R24
.dbline 99
sts _error,R2
.dbline 100
L101:
.dbline -2
L92:
adiw R28,2
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbend
.dbfunc e process_data _process_data fV
.even
_process_data::
.dbline -1
.dbline 106
.dbline 106
lds R24,_a1+3
cpi R24,32
breq L117
.dbline 106
.dbline 106
lds R2,_a1+1
ldi R24,100
mul R24,R2
movw R24,R0
subi R24,192
sbci R25,18
lds R18,_a1
clr R19
ldi R16,1000
ldi R17,3
xcall empy16s
movw R30,R16
subi R30,128
sbci R31,187
add R30,R24
adc R31,R25
lds R2,_a1+2
ldi R24,10
mul R24,R2
movw R24,R0
subi R24,224
sbci R25,1
add R30,R24
adc R31,R25
lds R24,_a1+3
clr R25
sbiw R24,48
add R30,R24
adc R31,R25
sts _data1+1,R31
sts _data1,R30
.dbline 106
xjmp L118
L117:
.dbline 107
lds R24,_a1+2
cpi R24,32
breq L123
.dbline 107
.dbline 107
lds R2,_a1+1
ldi R24,10
mul R24,R2
movw R24,R0
subi R24,224
sbci R25,1
lds R2,_a1
ldi R30,100
mul R30,R2
movw R30,R0
subi R30,192
sbci R31,18
add R30,R24
adc R31,R25
lds R24,_a1+2
clr R25
sbiw R24,48
add R30,R24
adc R31,R25
sts _data1+1,R31
sts _data1,R30
.dbline 107
xjmp L124
L123:
.dbline 108
lds R24,_a1+1
cpi R24,32
breq L128
.dbline 108
.dbline 108
lds R2,_a1
ldi R24,10
mul R24,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -