📄 ps2main.s
字号:
ldi R16,40
xcall _LCD_WriteC
.dbline 127
; }
xcall _LCD_Write
.dbline 128
; }
ldi R16,40
xcall _LCD_WriteC
.dbline 129
; }
ldi R16,12
xcall _LCD_WriteC
.dbline 130
; }
ldi R16,1
xcall _LCD_WriteC
.dbline 131
; }
ldi R16,2
ldi R17,0
xcall _delay_nms
.dbline 132
; }
ldi R18,1
clr R16
xcall _LCD_SetXY
.dbline -2
L29:
.dbline 0 ; func end
ret
.dbend
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/1602.h
_Key_Up::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/1602.h
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/KeyCode.h
.dbsym e Key_Up _Key_Up c
_Finish::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/KeyCode.h
.dbsym e Finish _Finish c
.area lit(rom, con, rel)
_KeyCode::
.byte 28,'A
.byte 50,'B
.byte 33,'C
.byte 35,'D
.byte 36,'E
.byte 43,'F
.byte 52,'G
.byte 51,'H
.byte 'C,'I
.byte 59,'J
.byte 'B,'K
.byte 'K,'L
.byte 58,'M
.byte 49,'N
.byte 'D,'O
.byte 'M,'P
.byte 21,'Q
.byte 45,'R
.byte 27,'S
.byte 44,'T
.byte 60,'U
.byte 42,'V
.byte 29,'W
.byte 34,'X
.byte 53,'Y
.byte 26,'Z
.byte 'E,48
.byte 22,49
.byte 30,50
.byte 38,51
.byte 37,52
.byte 46,53
.byte 54,54
.byte 61,55
.byte 62,56
.byte 'F,57
.byte 14,126
.byte 123,62
.byte 'y,61
.byte 124,63
.byte 'w,64
.byte 'T,123
.byte 91,125
.byte 'L,58
.byte 'R,34
.byte 'A,60
.byte 224,60
.byte 'Z,59
.byte 'q,58
.byte 'p,48
.byte 'i,49
.byte 'r,50
.byte 'z,51
.byte 'k,52
.byte 's,53
.byte 't,54
.byte 'l,55
.byte 'u,56
.byte 125,57
.dbsym e KeyCode _KeyCode A[118:59:2]kc
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/KeyCode.h
.dbfunc e Decode _Decode fc
; i -> R20
; temp -> R22
; ScanCode -> R16
.even
_Decode::
xcall push_gset2
.dbline -1
.dbline 81
.dbline 83
mov R20,R16
clr R21
cpi R20,224
ldi R30,0
cpc R21,R30
breq L34
xjmp L31
X0:
.dbline 84
L34:
.dbline 85
.dbline 85
ldi R24,1
sts _Key_Up,R24
.dbline 85
ldi R20,12
.dbline 85
xjmp L32
L31:
.dbline 87
clr R22
xjmp L38
L35:
.dbline 87
L36:
.dbline 87
inc R22
L38:
.dbline 87
ldi R24,2
mul R24,R22
movw R30,R0
ldi R24,<_KeyCode
ldi R25,>_KeyCode
add R30,R24
adc R31,R25
lpm R30,Z
cp R30,R16
breq L39
cpi R22,59
brlo L35
L39:
.dbline 88
ldi R24,2
mul R24,R22
movw R30,R0
ldi R24,<_KeyCode
ldi R25,>_KeyCode
add R30,R24
adc R31,R25
lpm R30,Z
cp R30,R16
brne L40
.dbline 89
ldi R24,2
mul R24,R22
movw R30,R0
ldi R24,<_KeyCode+1
ldi R25,>_KeyCode+1
add R30,R24
adc R31,R25
lpm R20,Z
subi R20,48
L40:
.dbline 90
L32:
.dbline 91
clr R2
sts _Finish,R2
.dbline 92
mov R16,R20
.dbline -2
L30:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r temp 22 c
.dbsym r ScanCode 16 c
.dbend
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/KeyCode.h
_Int_Number::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2/KeyCode.h
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
.dbsym e Int_Number _Int_Number c
_Key_Value::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
.dbsym e Key_Value _Key_Value c
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
.dbfunc e Init _Init fV
.even
_Init::
.dbline -1
.dbline 15
.dbline 15
ldi R24,6
out 0x12,R24
.dbline 16
clr R2
out 0x11,R2
.dbline 19
in R24,0x35
andi R24,252
out 0x35,R24
.dbline 20
in R24,0x3b
ori R24,64
out 0x3b,R24
.dbline 21
sei
.dbline 22
xcall _LCD_Init
.dbline -2
L43:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
; j -> R20
; i -> R22
.even
_main::
sbiw R28,2
.dbline -1
.dbline 26
.dbline 27
clr R20
.dbline 28
xcall _Init
.dbline 29
ldi R24,<L45
ldi R25,>L45
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
xcall _LCD_Write_String
.dbline 30
ldi R18,2
clr R16
xcall _LCD_SetXY
xjmp L47
L46:
.dbline 31
.dbline 32
lds R2,_Finish
tst R2
breq L49
.dbline 33
.dbline 33
clr R2
sts _Finish,R2
.dbline 34
lds R16,_Key_Value
xcall _Decode
mov R22,R16
.dbline 35
cpi R16,0
brlo L51
ldi R24,9
cp R24,R16
brlo L51
.dbline 35
.dbline 36
ldi R24,<L53
ldi R25,>L53
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
xcall _LCD_Write_String
.dbline 37
mov R24,R22
subi R24,208 ; addi 48
std y+0,R24
ldi R18,2
mov R16,R20
xcall _LCD_Write_Char
.dbline 37
L51:
.dbline 38
inc R20
.dbline 39
cpi R20,16
brne L54
.dbline 39
.dbline 40
clr R20
.dbline 40
ldi R24,<L56
ldi R25,>L56
std y+1,R25
std y+0,R24
ldi R18,2
clr R16
xcall _LCD_Write_String
.dbline 40
L54:
.dbline 41
L49:
.dbline 41
L47:
.dbline 31
xjmp L46
X1:
.dbline -2
L44:
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r j 20 c
.dbsym r i 22 c
.dbend
.area vector(rom, abs)
.org 20
jmp _Serve1
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
.dbfunc e Serve1 _Serve1 fV
.even
_Serve1::
st -y,R2
st -y,R3
st -y,R24
st -y,R25
in R2,0x3f
st -y,R2
.dbline -1
.dbline 49
.dbline 49
lds R2,_Key_Up
tst R2
brne L58
.dbline 50
.dbline 50
clr R2
lds R3,_Int_Number
cp R2,R3
brsh L60
mov R24,R3
cpi R24,9
brsh L60
.dbline 51
.dbline 51
lds R2,_Key_Value
lsr R2
sts _Key_Value,R2
.dbline 52
sbis 0x10,1
rjmp L62
.dbline 52
mov R24,R2
ori R24,128
sts _Key_Value,R24
L62:
.dbline 52
L60:
.dbline 53
lds R24,_Int_Number
cpi R24,10
brne L64
.dbline 53
ldi R24,1
sts _Finish,R24
L64:
.dbline 54
lds R24,_Int_Number
cpi R24,33
brne L69
.dbline 54
clr R2
sts _Int_Number,R2
L68:
.dbline 55
L69:
.dbline 55
sbis 0x10,2
rjmp L68
.dbline 56
lds R24,_Int_Number
subi R24,255 ; addi 1
sts _Int_Number,R24
.dbline 56
xjmp L59
L58:
.dbline 58
.dbline 58
clr R2
lds R3,_Int_Number
cp R2,R3
brsh L71
mov R24,R3
cpi R24,9
brsh L71
.dbline 59
.dbline 59
lds R2,_Key_Value
lsr R2
sts _Key_Value,R2
.dbline 60
sbis 0x10,1
rjmp L73
.dbline 60
mov R24,R2
ori R24,128
sts _Key_Value,R24
L73:
.dbline 60
L71:
.dbline 61
lds R24,_Int_Number
cpi R24,10
brne L75
.dbline 61
ldi R24,1
sts _Finish,R24
L75:
.dbline 62
lds R24,_Int_Number
cpi R24,55
brne L80
.dbline 62
.dbline 62
clr R2
sts _Int_Number,R2
.dbline 62
sts _Key_Up,R2
.dbline 62
L79:
.dbline 63
L80:
.dbline 63
sbis 0x10,2
rjmp L79
.dbline 64
lds R24,_Int_Number
subi R24,255 ; addi 1
sts _Int_Number,R24
.dbline 64
L59:
.dbline -2
L57:
ld R2,y+
out 0x3f,R2
ld R25,y+
ld R24,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
L56:
.blkb 30
.area idata
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
.byte 32,32,32,32,32,32,32,32,32,32,32,32,32,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
L53:
.blkb 14
.area idata
.byte 'S,'u,'c,'c,'e,'s,'s,33,32,32,32,32,32,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
L45:
.blkb 13
.area idata
.byte 'P,'l,'e,'a,'s,'e,32,'i,'n,'p,'u,'t,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wpzhao.USTC\MYDOCU~1\我的文档\我的ICC\我的PS2\ps2main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -