📄 main.asm
字号:
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,228,',0,0
.dd LM129-_main
.dw 0x0d,0x0a
.code
LM129:
R1=[28672] // QImode move
R2=R1&(-8)
[28672]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,229,',0,0
.dd LM130-_main
.dw 0x0d,0x0a
.code
LM130:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,230,',0,0
.dd LM131-_main
.dw 0x0d,0x0a
.code
LM131:
pc=L59 // Indirect jump
L60:
.debug
.dw '.stabn 0x44,0,234,',0,0
.dd LM132-_main
.dw 0x0d,0x0a
.code
LM132:
L72:
R1=BP // QImode move
R2=BP+11
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,1 // QImode compare
NSJZ L74 //QImode EQ
pc=L73 // Indirect jump
L74:
.debug
.dw '.stabn 0x44,0,236,',0,0
.dd LM133-_main
.dw 0x0d,0x0a
.code
LM133:
call _Read_Temp // call without return value
.debug
.dw '.stabn 0x44,0,237,',0,0
.dd LM134-_main
.dw 0x0d,0x0a
.code
LM134:
R1=BP // QImode move
R2=BP+2
R4=[_Data+1] // QImode move
R1=R4&7
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,238,',0,0
.dd LM135-_main
.dw 0x0d,0x0a
.code
LM135:
R1=BP // QImode move
R2=BP+3
R1=[_Data] // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,239,',0,0
.dd LM136-_main
.dw 0x0d,0x0a
.code
LM136:
R1=BP // QImode move
R2=BP+7
R4=[_Data+1] // QImode move
R1=R4&7
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,240,',0,0
.dd LM137-_main
.dw 0x0d,0x0a
.code
LM137:
R1=BP // QImode move
R2=BP+8
R1=[_Data] // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,241,',0,0
.dd LM138-_main
.dw 0x0d,0x0a
.code
LM138:
R2=BP // QImode move
R1=BP+10
R2=[_Data+1] // QImode move
R4=256 // QImode move
[bp+22]=R4 // QImode move
R4=[bp+22] // QImode move
mr=R2*R4 // r3=R2*R4 16bit=16bit*16bit
R2=R3 // QImode move
R2 = R2 + [_Data] //addqi3
R3=R1 // QImode move
[R3]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,242,',0,0
.dd LM139-_main
.dw 0x0d,0x0a
.code
LM139:
R1=BP // QImode move
R4=BP+10
[bp+21]=R4 // QImode move
R1=BP // QImode move
R2=BP+10
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call __cvi1f2 // call with return value
SP = SP + 1 //SP
R3=0 // HFmode immediate to register move
R4=16160
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP = SP + 4 //SP
push R1,R2 to [sp] // pushhf
call __cvf2i1 // call with return value
SP = SP + 2 //SP
R4=[bp+21] // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,245,',0,0
.dd LM140-_main
.dw 0x0d,0x0a
.code
LM140:
R1=BP // QImode move
R2=BP+17
R1=[28672] // QImode move
R4=R1&7
R3=R2 // QImode move
[R3]=R4 // QImode move
.debug
.dw '.stabn 0x44,0,247,',0,0
.dd LM141-_main
.dw 0x0d,0x0a
.code
LM141:
R1=BP // QImode move
R2=BP+17
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,2 // QImode compare
NSJZ L77 //QImode EQ
CMP R1,2 // QImode compare
NSJG L81 //QImode GT
CMP R1,1 // QImode compare
NSJZ L76 //QImode EQ
pc=L79 // Indirect jump
L81:
CMP R1,4 // QImode compare
NSJZ L78 //QImode EQ
pc=L79 // Indirect jump
.debug
.dw '.stabn 0x44,0,249,',0,0
.dd LM142-_main
.dw 0x0d,0x0a
.code
LM142:
L76:
R2=BP // QImode move
R1=BP+2
R2=BP // QImode move
R3=BP+2
R4=R3 // QImode move
R4=[R4] // QImode move
R2=R4|128
R4=R1 // QImode move
[R4]=R2 // QImode move
R1=[28672] // QImode move
R2=R1|1024
[28672]=R2 // QImode move
pc=L75 // Indirect jump
L77:
.debug
.dw '.stabn 0x44,0,250,',0,0
.dd LM143-_main
.dw 0x0d,0x0a
.code
LM143:
R2=BP // QImode move
R1=BP+2
R2=BP // QImode move
R3=BP+2
R2=R3 // QImode move
R2=[R2] // QImode move
R4=R2|64
R2=R1 // QImode move
[R2]=R4 // QImode move
R1=[28672] // QImode move
R2=R1|512
[28672]=R2 // QImode move
pc=L75 // Indirect jump
L78:
.debug
.dw '.stabn 0x44,0,251,',0,0
.dd LM144-_main
.dw 0x0d,0x0a
.code
LM144:
R2=BP // QImode move
R1=BP+2
R2=BP // QImode move
R3=BP+2
R4=R3 // QImode move
R4=[R4] // QImode move
R2=R4|32
R4=R1 // QImode move
[R4]=R2 // QImode move
R1=[28672] // QImode move
R2=R1|256
[28672]=R2 // QImode move
pc=L75 // Indirect jump
L79:
.debug
.dw '.stabn 0x44,0,252,',0,0
.dd LM145-_main
.dw 0x0d,0x0a
.code
LM145:
pc=L75 // Indirect jump
L75:
.debug
.dw '.stabn 0x44,0,256,',0,0
.dd LM146-_main
.dw 0x0d,0x0a
.code
LM146:
R2=BP // QImode move
R1=BP+10
R2=BP // QImode move
R3=BP+18
R2=R1 // QImode move
R1=[R2] // QImode move
R4=R3 // QImode move
CMP R1,[R4] // QImode compare
NSJNG L82 //QImode LE
.debug
.dw '.stabn 0x44,0,258,',0,0
.dd LM147-_main
.dw 0x0d,0x0a
.code
LM147:
R2=BP // QImode move
R1=BP+2
R2=BP // QImode move
R3=BP+2
R2=R3 // QImode move
R2=[R2] // QImode move
R4=R2|16
R2=R1 // QImode move
[R2]=R4 // QImode move
L82:
.debug
.dw '.stabn 0x44,0,263,',0,0
.dd LM148-_main
.dw 0x0d,0x0a
.code
LM148:
L83:
R1=BP // QImode move
R2=BP+13
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,9 // QImode compare
NSJNG L85 //QImode LE
pc=L84 // Indirect jump
L85:
.debug
.dw '.stabn 0x44,0,265,',0,0
.dd LM149-_main
.dw 0x0d,0x0a
.code
LM149:
L86:
R2=[28706] // QImode move
R1=R2&64
CMP R1,0 // QImode test
NSJNZ L88 //QImode NE
pc=L87 // Indirect jump
L88:
.debug
.dw '.stabn 0x44,0,267,',0,0
.dd LM150-_main
.dw 0x0d,0x0a
.code
LM150:
R1=BP // QImode move
R2=BP+13
R4=R2 // QImode move
R3=[R4] // QImode move
R1=BP // QImode move
R1 = R1 + R3 //addqi3
R3=R1 // QImode move
R2=[R3] // QImode move
[28707]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,268,',0,0
.dd LM151-_main
.dw 0x0d,0x0a
.code
LM151:
R1=BP // QImode move
R2=BP+13
R3=BP // QImode move
R1=BP+13
R2=BP // QImode move
R3=BP+13
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+1
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,269,',0,0
.dd LM152-_main
.dw 0x0d,0x0a
.code
LM152:
R1=BP // QImode move
R2=BP+13
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,10 // QImode compare
NSJNG L89 //QImode LE
.debug
.dw '.stabn 0x44,0,270,',0,0
.dd LM153-_main
.dw 0x0d,0x0a
.code
LM153:
pc=L87 // Indirect jump
L89:
.debug
.dw '.stabn 0x44,0,271,',0,0
.dd LM154-_main
.dw 0x0d,0x0a
.code
LM154:
pc=L86 // Indirect jump
L87:
.debug
.dw '.stabn 0x44,0,272,',0,0
.dd LM155-_main
.dw 0x0d,0x0a
.code
LM155:
pc=L83 // Indirect jump
L84:
.debug
.dw '.stabn 0x44,0,273,',0,0
.dd LM156-_main
.dw 0x0d,0x0a
.code
LM156:
R1=BP // QImode move
R2=BP+13
R1=0 // QImode move
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,275,',0,0
.dd LM157-_main
.dw 0x0d,0x0a
.code
LM157:
R1=BP // QImode move
R2=BP+10
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _xianshi // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,276,',0,0
.dd LM158-_main
.dw 0x0d,0x0a
.code
LM158:
R1=1600 // QImode move
[SP--]=R1 // QImode move
call _delay // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,277,',0,0
.dd LM159-_main
.dw 0x0d,0x0a
.code
LM159:
R1=[28672] // QImode move
R2=R1&(-1800)
[28672]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,278,',0,0
.dd LM160-_main
.dw 0x0d,0x0a
.code
LM160:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,279,',0,0
.dd LM161-_main
.dw 0x0d,0x0a
.code
LM161:
pc=L72 // Indirect jump
L73:
.debug
.dw '.stabn 0x44,0,281,',0,0
.dd LM162-_main
.dw 0x0d,0x0a
.code
LM162:
pc=L56 // Indirect jump
L57:
.debug
.dw '.stabn 0x44,0,288,',0,0
.dd LM163-_main
.dw 0x0d,0x0a
.code
LM163:
LBE5:
.debug
.dw '.stabn 0x44,0,288,',0,0
.dd LM164-_main
.dw 0x0d,0x0a
.code
LM164:
L26:
sp+=24
pop bp from [sp]
retf
.endp // end of main
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB5-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "shuju:24=ar1;0;9;1",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabs "shuchu:1",128,0,0,10',0x0d,0x0a
.CODE
.debug
.dw '.stabs "biaozhi:1",128,0,0,11',0x0d,0x0a
.CODE
.debug
.dw '.stabs "i:1",128,0,0,12',0x0d,0x0a
.CODE
.debug
.dw '.stabs "number:1",128,0,0,13',0x0d,0x0a
.CODE
.debug
.dw '.stabs "yuyin:1",128,0,0,14',0x0d,0x0a
.CODE
.debug
.dw '.stabs "data:25=ar1;0;1;1",128,0,0,15',0x0d,0x0a
.CODE
.debug
.dw '.stabs "n:1",128,0,0,17',0x0d,0x0a
.CODE
.debug
.dw '.stabs "out:1",128,0,0,18',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE5-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME5-_main
.dw 0x0d,0x0a
.code
LME5:
.code
.debug
.dw '.stabs "PlaySnd_Auto:F19",36,0,0,',0,0,offset _PlaySnd_Auto,seg _PlaySnd_Auto,0x0d,0x0a
.CODE
.public _PlaySnd_Auto
_PlaySnd_Auto: .proc
.debug
.dw '.stabn 0x44,0,302,',0,0
.dd LM165-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM165:
// total=1, vars=1
// frame_pointer_needed: 1
push bp to [sp]
sp-=1
bp=sp+1
R1=BP+4
[BP]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,303,',0,0
.dd LM166-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM166:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Initial // call with return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,304,',0,0
.dd LM167-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM167:
R1=3 // QImode move
[SP--]=R1 // QImode move
R1=[BP] // QImode move
R3=[BP] // QImode move
R2=R3+1
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
R2=[BP] // QImode move
R1=[R2] // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Play // call without return value
SP = SP + 3 //SP
.debug
.dw '.stabn 0x44,0,305,',0,0
.dd LM168-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM168:
L125:
call _SACM_A2000_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
NSJNZ L127 //QImode NE
pc=L126 // Indirect jump
L127:
.debug
.dw '.stabn 0x44,0,307,',0,0
.dd LM169-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM169:
call _SACM_A2000_ServiceLoop // call without return value
.debug
.dw '.stabn 0x44,0,308,',0,0
.dd LM170-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM170:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,309,',0,0
.dd LM171-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM171:
pc=L125 // Indirect jump
L126:
.debug
.dw '.stabn 0x44,0,310,',0,0
.dd LM172-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM172:
call _SACM_A2000_Stop // call without return value
.debug
.dw '.stabn 0x44,0,311,',0,0
.dd LM173-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM173:
.debug
.dw '.stabn 0x44,0,311,',0,0
.dd LM174-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM174:
L124:
sp+=1
pop bp from [sp]
retf
.endp // end of PlaySnd_Auto
.debug
.dw '.stabs "uiSndIndex:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabs "uiDAC_Channel:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
.dw '.stabf ',0,0
.dd LME6-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LME6:
.iram
.public _Data
_Data:
.dw 8 dup(0)
.external _SACM_A2000_Stop
.external _SACM_A2000_ServiceLoop
.external _SACM_A2000_Status
.external _SACM_A2000_Play
.external _SACM_A2000_Initial
.external _Read_Temp
.external __cvf2i1
.external __mulf2
.external __cvi1f2
.external __modi1
.external __divi1
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -