📄 main.asm
字号:
.dw 0x0d,0x0a
.code
LM43:
R1=1 // QImode move
[SP--]=R1 // QImode move
R1=BP // QImode move
R2=BP+3
R1=R2 // QImode move
R3=[R1] // QImode move
R1=BP // QImode move
R1 = R1 + R3 //addqi3
R3=R1 // QImode move
R2=[R3] // QImode move
[SP--]=R2 // QImode move
call _PlaySnd_Auto // call without return value
SP = SP + 2 //SP
.debug
.dw '.stabn 0x44,0,37,',0,0
.dd LM44-_dushu
.dw 0x0d,0x0a
.code
LM44:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,34,',0,0
.dd LM45-_dushu
.dw 0x0d,0x0a
.code
LM45:
L28:
R1=BP // QImode move
R2=BP+3
R3=BP // QImode move
R1=BP+3
R2=BP // QImode move
R3=BP+3
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+1
R2=R1 // QImode move
[R2]=R3 // QImode move
pc=L26 // Indirect jump
L27:
.debug
.dw '.stabn 0x44,0,39,',0,0
.dd LM46-_dushu
.dw 0x0d,0x0a
.code
LM46:
LBE4:
.debug
.dw '.stabn 0x44,0,39,',0,0
.dd LM47-_dushu
.dw 0x0d,0x0a
.code
LM47:
L25:
sp+=8
pop bp from [sp]
retf
.endp // end of dushu
.debug
.dw '.stabs "n:p1",160,0,0,11',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB4-_dushu
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "a:22=ar1;0;2;1",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabs "i:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE4-_dushu
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME4-_dushu
.dw 0x0d,0x0a
.code
LME4:
.code
.debug
.dw '.stabs "main:F1",36,0,0,',0,0,offset _main,seg _main,0x0d,0x0a
.CODE
.public _main
_main: .proc
.debug
.dw '.stabn 0x44,0,45,',0,0
.dd LM48-_main
.dw 0x0d,0x0a
.code
LM48:
// total=17, vars=17
// frame_pointer_needed: 1
push bp to [sp]
sp-=17
bp=sp+1
R1=BP+20
[bp+14]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,46,',0,0
.dd LM49-_main
.dw 0x0d,0x0a
.code
LM49:
LBB5:
.debug
.dw '.stabn 0x44,0,47,',0,0
.dd LM50-_main
.dw 0x0d,0x0a
.code
LM50:
R1=BP // QImode move
R2=BP+8
R1=0 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,48,',0,0
.dd LM51-_main
.dw 0x0d,0x0a
.code
LM51:
R1=BP // QImode move
R2=BP+9
R1=0 // QImode move
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,53,',0,0
.dd LM52-_main
.dw 0x0d,0x0a
.code
LM52:
R1=24 // QImode move
[28691]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,55,',0,0
.dd LM53-_main
.dw 0x0d,0x0a
.code
LM53:
R1=(-1) // QImode move
[28675]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,56,',0,0
.dd LM54-_main
.dw 0x0d,0x0a
.code
LM54:
R1=(-1) // QImode move
[28674]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,57,',0,0
.dd LM55-_main
.dw 0x0d,0x0a
.code
LM55:
R1=0 // QImode move
[28672]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,59,',0,0
.dd LM56-_main
.dw 0x0d,0x0a
.code
LM56:
R1=12288 // QImode move
[28679]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,60,',0,0
.dd LM57-_main
.dw 0x0d,0x0a
.code
LM57:
R1=12288 // QImode move
[28680]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,63,',0,0
.dd LM58-_main
.dw 0x0d,0x0a
.code
LM58:
R1=[28679] // QImode move
R2=R1|1024
[28679]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,64,',0,0
.dd LM59-_main
.dw 0x0d,0x0a
.code
LM59:
R1=[28680] // QImode move
R2=R1|1152
[28680]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,65,',0,0
.dd LM60-_main
.dw 0x0d,0x0a
.code
LM60:
R1=[28677] // QImode move
R2=R1|1024
[28677]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,67,',0,0
.dd LM61-_main
.dw 0x0d,0x0a
.code
LM61:
R1=0 // QImode move
[28708]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,68,',0,0
.dd LM62-_main
.dw 0x0d,0x0a
.code
LM62:
R1=5 // QImode move
[28709]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,70,',0,0
.dd LM63-_main
.dw 0x0d,0x0a
.code
LM63:
R1=0 // QImode move
[28705]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM64-_main
.dw 0x0d,0x0a
.code
LM64:
R1=192 // QImode move
[28706]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,73,',0,0
.dd LM65-_main
.dw 0x0d,0x0a
.code
LM65:
R1=BP // QImode move
R2=BP+11
R1=0 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,74,',0,0
.dd LM66-_main
.dw 0x0d,0x0a
.code
LM66:
L32:
pc=L34 // Indirect jump
pc=L33 // Indirect jump
L34:
.debug
.dw '.stabn 0x44,0,76,',0,0
.dd LM67-_main
.dw 0x0d,0x0a
.code
LM67:
R1=BP // QImode move
R2=BP+8
R1=123 // QImode move
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,77,',0,0
.dd LM68-_main
.dw 0x0d,0x0a
.code
LM68:
L35:
R1=BP // QImode move
R2=BP+11
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,3 // QImode compare
NSJNG L37 //QImode LE
pc=L36 // Indirect jump
L37:
.debug
.dw '.stabn 0x44,0,79,',0,0
.dd LM69-_main
.dw 0x0d,0x0a
.code
LM69:
L38:
R2=[28706] // QImode move
R1=R2&128
CMP R1,0 // QImode test
NSJNZ L40 //QImode NE
pc=L39 // Indirect jump
L40:
.debug
.dw '.stabn 0x44,0,81,',0,0
.dd LM70-_main
.dw 0x0d,0x0a
.code
LM70:
R1=BP // QImode move
R2=BP+11
R4=R2 // QImode move
R3=[R4] // QImode move
R1=BP // QImode move
R1 = R1 + R3 //addqi3
R2=[28707] // QImode move
R3=R1 // QImode move
[R3]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,82,',0,0
.dd LM71-_main
.dw 0x0d,0x0a
.code
LM71:
R1=BP // QImode move
R2=BP+11
R3=BP // QImode move
R1=BP+11
R2=BP // QImode move
R3=BP+11
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+1
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,83,',0,0
.dd LM72-_main
.dw 0x0d,0x0a
.code
LM72:
R1=BP // QImode move
R2=BP+11
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,4 // QImode compare
NSJNG L41 //QImode LE
.debug
.dw '.stabn 0x44,0,84,',0,0
.dd LM73-_main
.dw 0x0d,0x0a
.code
LM73:
pc=L39 // Indirect jump
L41:
.debug
.dw '.stabn 0x44,0,85,',0,0
.dd LM74-_main
.dw 0x0d,0x0a
.code
LM74:
pc=L38 // Indirect jump
L39:
.debug
.dw '.stabn 0x44,0,86,',0,0
.dd LM75-_main
.dw 0x0d,0x0a
.code
LM75:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,87,',0,0
.dd LM76-_main
.dw 0x0d,0x0a
.code
LM76:
pc=L35 // Indirect jump
L36:
.debug
.dw '.stabn 0x44,0,88,',0,0
.dd LM77-_main
.dw 0x0d,0x0a
.code
LM77:
R1=BP // QImode move
R2=BP+11
R1=0 // QImode move
R4=R2 // QImode move
[R4]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,90,',0,0
.dd LM78-_main
.dw 0x0d,0x0a
.code
LM78:
R1=BP // QImode move
R2=BP+10
R1=0 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
L42:
R1=BP // QImode move
R2=BP+10
R4=R2 // QImode move
R1=[R4] // QImode move
CMP R1,3 // QImode compare
NSJNG L45 //QImode LE
pc=L43 // Indirect jump
L45:
.debug
.dw '.stabn 0x44,0,92,',0,0
.dd LM79-_main
.dw 0x0d,0x0a
.code
LM79:
R1=0 // QImode move
R2=BP // QImode move
R3=BP+10
R2=R3 // QImode move
R4=[R2] // QImode move
R2=BP // QImode move
R2 = R2 + R4 //addqi3
R4=R2 // QImode move
R3=[R4] // QImode move
CMP R3,255 // QImode compare
NSJNZ L47 //QImode NE
R1=1 // QImode move
L47:
R2=0 // QImode move
R3=BP // QImode move
R3=BP+10
[bp+15]=R3 // QImode move
R4=[bp+15] // QImode move
R3=[R4] // QImode move
R4=R3+1
R3=BP // QImode move
R3 = R3 + R4 //addqi3
R4=R3 // QImode move
R4=[R4] // QImode move
[bp+15]=R4 // QImode move
R3=[bp+15] // QImode move
CMP R3,255 // QImode compare
NSJNZ L48 //QImode NE
R2=1 // QImode move
L48:
R1&=R2
CMP R1,0 // QImode test
NSJZ L44 //QImode EQ
.debug
.dw '.stabn 0x44,0,94,',0,0
.dd LM80-_main
.dw 0x0d,0x0a
.code
LM80:
R2=BP // QImode move
R1=BP+12
R2=BP // QImode move
R3=BP+10
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+2
R2=BP // QImode move
R2 = R2 + R3 //addqi3
R4=R2 // QImode move
R3=[R4] // QImode move
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,95,',0,0
.dd LM81-_main
.dw 0x0d,0x0a
.code
LM81:
R1=BP // QImode move
R3=BP+12
R2=R3 // QImode move
R1=R3+1
R2=BP // QImode move
R3=BP+10
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+3
R2=BP // QImode move
R2 = R2 + R3 //addqi3
R4=R2 // QImode move
R3=[R4] // QImode move
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,96,',0,0
.dd LM82-_main
.dw 0x0d,0x0a
.code
LM82:
pc=L43 // Indirect jump
L46:
.debug
.dw '.stabn 0x44,0,90,',0,0
.dd LM83-_main
.dw 0x0d,0x0a
.code
LM83:
L44:
R1=BP // QImode move
R2=BP+10
R3=BP // QImode move
R1=BP+10
R2=BP // QImode move
R3=BP+10
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+1
R2=R1 // QImode move
[R2]=R3 // QImode move
pc=L42 // Indirect jump
L43:
.debug
.dw '.stabn 0x44,0,101,',0,0
.dd LM84-_main
.dw 0x0d,0x0a
.code
LM84:
R2=BP // QImode move
R1=BP+8
R2=BP // QImode move
R3=BP+12
[bp+16]=R3 // QImode move
R4=[bp+16] // QImode move
R4=[R4] // QImode move
R2=R4&7
R3=256 // QImode move
[bp+15]=R3 // QImode move
R4=[bp+15] // QImode move
mr=R2*R4 // r3=R2*R4 16bit=16bit*16bit
R2=BP // QImode move
R4=BP+12
R2=R4 // QImode move
R4=R4+1
R2=R3 // QImode move
R3=R4 // QImode move
R2 = R2 + [R3] //addqi3
R4=R1 // QImode move
[R4]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,102,',0,0
.dd LM85-_main
.dw 0x0d,0x0a
.code
LM85:
R1=BP // QImode move
R2=BP+8
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,103,',0,0
.dd LM86-_main
.dw 0x0d,0x0a
.code
LM86:
R1=BP // QImode move
R2=BP+8
R4=R2 // QImode move
R1=[R4] // QImode move
CMP R1,900 // QImode compare
NSJNG L49 //QImode LE
.debug
.dw '.stabn 0x44,0,104,',0,0
.dd LM87-_main
.dw 0x0d,0x0a
.code
LM87:
R1=BP // QImode move
R2=BP+8
R1=900 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
pc=L50 // Indirect jump
L49:
.debug
.dw '.stabn 0x44,0,105,',0,0
.dd LM88-_main
.dw 0x0d,0x0a
.code
LM88:
R1=BP // QImode move
R2=BP+8
R4=R2 // QImode move
R1=[R4] // QImode move
CMP R1,99 // QImode compare
NSJG L50 //QImode GT
.debug
.dw '.stabn 0x44,0,106,',0,0
.dd LM89-_main
.dw 0x0d,0x0a
.code
LM89:
R1=BP // QImode move
R2=BP+8
R1=100 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
L51:
L50:
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM90-_main
.dw 0x0d,0x0a
.code
LM90:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,110,',0,0
.dd LM91-_main
.dw 0x0d,0x0a
.code
LM91:
pc=L32 // Indirect jump
L33:
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM92-_main
.dw 0x0d,0x0a
.code
LM92:
LBE5:
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM93-_main
.dw 0x0d,0x0a
.code
LM93:
L31:
sp+=17
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:23=ar1;0;7;1",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabs "shuchu:1",128,0,0,8',0x0d,0x0a
.CODE
.debug
.dw '.stabs "biaozhi:1",128,0,0,9',0x0d,0x0a
.CODE
.debug
.dw '.stabs "i:1",128,0,0,10',0x0d,0x0a
.CODE
.debug
.dw '.stabs "number:1",128,0,0,11',0x0d,0x0a
.CODE
.debug
.dw '.stabs "data:24=ar1;0;1;1",128,0,0,12',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,116,',0,0
.dd LM94-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM94:
// 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,117,',0,0
.dd LM95-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM95:
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,118,',0,0
.dd LM96-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM96:
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,119,',0,0
.dd LM97-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM97:
L62:
call _SACM_A2000_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
NSJNZ L64 //QImode NE
pc=L63 // Indirect jump
L64:
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM98-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM98:
call _SACM_A2000_ServiceLoop // call without return value
.debug
.dw '.stabn 0x44,0,122,',0,0
.dd LM99-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM99:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM100-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM100:
pc=L62 // Indirect jump
L63:
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM101-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM101:
call _SACM_A2000_Stop // call without return value
.debug
.dw '.stabn 0x44,0,125,',0,0
.dd LM102-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM102:
.debug
.dw '.stabn 0x44,0,125,',0,0
.dd LM103-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM103:
L61:
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:
.external _SACM_A2000_Stop
.external _SACM_A2000_ServiceLoop
.external _SACM_A2000_Status
.external _SACM_A2000_Play
.external _SACM_A2000_Initial
.external __modi1
.external __divi1
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -