📄 main.asm
字号:
.code
LM39:
L29:
call _Key_Get // call with return value
[BP]=R1 // QImode move
R1=1 // QImode move
[28690]=R1 // QImode move
L31:
.debug
.dw '.stabn 0x44,0,78,',0,0
.dd LM40-_main
.dw 0x0d,0x0a
.code
LM40:
R1=[BP] // QImode move
CMP R1,0 // QImode test
NSJZ L32 //QImode EQ
pc=L30 // Indirect jump
L32:
pc=L29 // Indirect jump
L30:
.debug
.dw '.stabn 0x44,0,79,',0,0
.dd LM41-_main
.dw 0x0d,0x0a
.code
LM41:
R1=[BP] // QImode move
CMP R1,33 // QImode compare
NSJZ L36 //QImode EQ
CMP R1,33 // QImode compare
NSJA L40 //QImode GTU
CMP R1,17 // QImode compare
NSJZ L37 //QImode EQ
pc=L38 // Indirect jump
L40:
CMP R1,65 // QImode compare
NSJZ L35 //QImode EQ
CMP R1,129 // QImode compare
NSJZ L34 //QImode EQ
pc=L38 // Indirect jump
.debug
.dw '.stabn 0x44,0,81,',0,0
.dd LM42-_main
.dw 0x0d,0x0a
.code
LM42:
L34:
R1=0 // QImode move
[_mode]=R1 // QImode move
call _Clear_S // call without return value
call _display_mode_0 // call without return value
pc=L33 // Indirect jump
L35:
.debug
.dw '.stabn 0x44,0,82,',0,0
.dd LM43-_main
.dw 0x0d,0x0a
.code
LM43:
pc=L33 // Indirect jump
L36:
.debug
.dw '.stabn 0x44,0,83,',0,0
.dd LM44-_main
.dw 0x0d,0x0a
.code
LM44:
pc=L33 // Indirect jump
L37:
.debug
.dw '.stabn 0x44,0,84,',0,0
.dd LM45-_main
.dw 0x0d,0x0a
.code
LM45:
pc=L33 // Indirect jump
L38:
.debug
.dw '.stabn 0x44,0,86,',0,0
.dd LM46-_main
.dw 0x0d,0x0a
.code
LM46:
R1=[BP] // QImode move
[SP--]=R1 // QImode move
call _code_to_delay // call with return value
SP = SP + 1 //SP
R2=BP // QImode move
R3=BP+1
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,87,',0,0
.dd LM47-_main
.dw 0x0d,0x0a
.code
LM47:
R1=[BP] // QImode move
[SP--]=R1 // QImode move
call _code_to_note // call with return value
SP = SP + 1 //SP
R2=BP // QImode move
R3=BP+3
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,88,',0,0
.dd LM48-_main
.dw 0x0d,0x0a
.code
LM48:
R1=BP // QImode move
R2=BP+3
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _display_add // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,89,',0,0
.dd LM49-_main
.dw 0x0d,0x0a
.code
LM49:
R1=BP // QImode move
R2=BP+1
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _sound // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,90,',0,0
.dd LM50-_main
.dw 0x0d,0x0a
.code
LM50:
pc=L33 // Indirect jump
L33:
.debug
.dw '.stabn 0x44,0,92,',0,0
.dd LM51-_main
.dw 0x0d,0x0a
.code
LM51:
R1=[BP] // QImode move
CMP R1,129 // QImode compare
NSJNZ L41 //QImode NE
.debug
.dw '.stabn 0x44,0,94,',0,0
.dd LM52-_main
.dw 0x0d,0x0a
.code
LM52:
R1=0 // QImode move
[BP]=R1 // QImode move
pc=L27 // Indirect jump
.debug
.dw '.stabn 0x44,0,95,',0,0
.dd LM53-_main
.dw 0x0d,0x0a
.code
LM53:
pc=L42 // Indirect jump
L41:
.debug
.dw '.stabn 0x44,0,96,',0,0
.dd LM54-_main
.dw 0x0d,0x0a
.code
LM54:
R1=0 // QImode move
[BP]=R1 // QImode move
L42:
.debug
.dw '.stabn 0x44,0,97,',0,0
.dd LM55-_main
.dw 0x0d,0x0a
.code
LM55:
pc=L26 // Indirect jump
L27:
.debug
.dw '.stabn 0x44,0,98,',0,0
.dd LM56-_main
.dw 0x0d,0x0a
.code
LM56:
pc=L6 // Indirect jump
L43:
.debug
.dw '.stabn 0x44,0,101,',0,0
.dd LM57-_main
.dw 0x0d,0x0a
.code
LM57:
L44:
pc=L46 // Indirect jump
pc=L45 // Indirect jump
L46:
.debug
.dw '.stabn 0x44,0,103,',0,0
.dd LM58-_main
.dw 0x0d,0x0a
.code
LM58:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,104,',0,0
.dd LM59-_main
.dw 0x0d,0x0a
.code
LM59:
L47:
call _Key_Get // call with return value
[BP]=R1 // QImode move
R1=1 // QImode move
[28690]=R1 // QImode move
L49:
.debug
.dw '.stabn 0x44,0,105,',0,0
.dd LM60-_main
.dw 0x0d,0x0a
.code
LM60:
R1=[BP] // QImode move
CMP R1,0 // QImode test
NSJZ L50 //QImode EQ
pc=L48 // Indirect jump
L50:
pc=L47 // Indirect jump
L48:
.debug
.dw '.stabn 0x44,0,106,',0,0
.dd LM61-_main
.dw 0x0d,0x0a
.code
LM61:
R1=[BP] // QImode move
CMP R1,65 // QImode compare
NSJZ L53 //QImode EQ
CMP R1,65 // QImode compare
NSJA L57 //QImode GTU
CMP R1,33 // QImode compare
NSJZ L54 //QImode EQ
pc=L55 // Indirect jump
L57:
CMP R1,129 // QImode compare
NSJZ L52 //QImode EQ
pc=L55 // Indirect jump
.debug
.dw '.stabn 0x44,0,108,',0,0
.dd LM62-_main
.dw 0x0d,0x0a
.code
LM62:
L52:
R1=0 // QImode move
[_mode]=R1 // QImode move
call _Clear_S // call without return value
call _display_mode_0 // call without return value
pc=L51 // Indirect jump
L53:
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM63-_main
.dw 0x0d,0x0a
.code
LM63:
call _display_del // call without return value
call _del_note // call without return value
pc=L51 // Indirect jump
L54:
.debug
.dw '.stabn 0x44,0,110,',0,0
.dd LM64-_main
.dw 0x0d,0x0a
.code
LM64:
call _store_end // call without return value
R1=3 // QImode move
[_mode]=R1 // QImode move
call _Clear_S // call without return value
call _display_mode_3 // call without return value
pc=L51 // Indirect jump
L55:
.debug
.dw '.stabn 0x44,0,113,',0,0
.dd LM65-_main
.dw 0x0d,0x0a
.code
LM65:
R1=[BP] // QImode move
[SP--]=R1 // QImode move
call _code_to_delay // call with return value
SP = SP + 1 //SP
R2=BP // QImode move
R3=BP+1
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,114,',0,0
.dd LM66-_main
.dw 0x0d,0x0a
.code
LM66:
R1=[BP] // QImode move
[SP--]=R1 // QImode move
call _code_to_note // call with return value
SP = SP + 1 //SP
R2=BP // QImode move
R3=BP+3
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,115,',0,0
.dd LM67-_main
.dw 0x0d,0x0a
.code
LM67:
R1=[BP] // QImode move
[SP--]=R1 // QImode move
call _code_to_num // call with return value
SP = SP + 1 //SP
R2=BP // QImode move
R3=BP+2
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,116,',0,0
.dd LM68-_main
.dw 0x0d,0x0a
.code
LM68:
R1=BP // QImode move
R2=BP+2
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _store_note // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,117,',0,0
.dd LM69-_main
.dw 0x0d,0x0a
.code
LM69:
R1=BP // QImode move
R2=BP+3
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _display_add // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,118,',0,0
.dd LM70-_main
.dw 0x0d,0x0a
.code
LM70:
R1=BP // QImode move
R2=BP+1
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
call _sound // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,119,',0,0
.dd LM71-_main
.dw 0x0d,0x0a
.code
LM71:
pc=L51 // Indirect jump
L51:
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM72-_main
.dw 0x0d,0x0a
.code
LM72:
R1=[BP] // QImode move
CMP R1,129 // QImode compare
NSJZ L59 //QImode EQ
R1=[BP] // QImode move
CMP R1,33 // QImode compare
NSJZ L59 //QImode EQ
pc=L58 // Indirect jump
L59:
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM73-_main
.dw 0x0d,0x0a
.code
LM73:
R1=0 // QImode move
[BP]=R1 // QImode move
pc=L45 // Indirect jump
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM74-_main
.dw 0x0d,0x0a
.code
LM74:
pc=L60 // Indirect jump
L58:
.debug
.dw '.stabn 0x44,0,126,',0,0
.dd LM75-_main
.dw 0x0d,0x0a
.code
LM75:
R1=0 // QImode move
[BP]=R1 // QImode move
L60:
.debug
.dw '.stabn 0x44,0,127,',0,0
.dd LM76-_main
.dw 0x0d,0x0a
.code
LM76:
pc=L44 // Indirect jump
L45:
.debug
.dw '.stabn 0x44,0,128,',0,0
.dd LM77-_main
.dw 0x0d,0x0a
.code
LM77:
pc=L6 // Indirect jump
L61:
.debug
.dw '.stabn 0x44,0,131,',0,0
.dd LM78-_main
.dw 0x0d,0x0a
.code
LM78:
L62:
pc=L64 // Indirect jump
pc=L63 // Indirect jump
L64:
.debug
.dw '.stabn 0x44,0,133,',0,0
.dd LM79-_main
.dw 0x0d,0x0a
.code
LM79:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,134,',0,0
.dd LM80-_main
.dw 0x0d,0x0a
.code
LM80:
L65:
call _Key_Get // call with return value
[BP]=R1 // QImode move
R1=1 // QImode move
[28690]=R1 // QImode move
L67:
.debug
.dw '.stabn 0x44,0,135,',0,0
.dd LM81-_main
.dw 0x0d,0x0a
.code
LM81:
R1=[BP] // QImode move
CMP R1,0 // QImode test
NSJZ L68 //QImode EQ
pc=L66 // Indirect jump
L68:
pc=L65 // Indirect jump
L66:
.debug
.dw '.stabn 0x44,0,136,',0,0
.dd LM82-_main
.dw 0x0d,0x0a
.code
LM82:
R1=[BP] // QImode move
CMP R1,68 // QImode compare
NSJZ L74 //QImode EQ
CMP R1,68 // QImode compare
NSJA L82 //QImode GTU
CMP R1,18 // QImode compare
NSJZ L79 //QImode EQ
CMP R1,18 // QImode compare
NSJA L83 //QImode GTU
CMP R1,17 // QImode compare
NSJZ L78 //QImode EQ
pc=L80 // Indirect jump
L83:
CMP R1,33 // QImode compare
NSJZ L77 //QImode EQ
CMP R1,65 // QImode compare
NSJZ L76 //QImode EQ
pc=L80 // Indirect jump
L82:
CMP R1,130 // QImode compare
NSJZ L72 //QImode EQ
CMP R1,130 // QImode compare
NSJA L84 //QImode GTU
CMP R1,72 // QImode compare
NSJZ L73 //QImode EQ
CMP R1,129 // QImode compare
NSJZ L75 //QImode EQ
pc=L80 // Indirect jump
L84:
CMP R1,132 // QImode compare
NSJZ L71 //QImode EQ
CMP R1,136 // QImode compare
NSJZ L70 //QImode EQ
pc=L80 // Indirect jump
.debug
.dw '.stabn 0x44,0,138,',0,0
.dd LM83-_main
.dw 0x0d,0x0a
.code
LM83:
L70:
R1=_song0 // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L71:
.debug
.dw '.stabn 0x44,0,139,',0,0
.dd LM84-_main
.dw 0x0d,0x0a
.code
LM84:
R1=_song1 // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L72:
.debug
.dw '.stabn 0x44,0,140,',0,0
.dd LM85-_main
.dw 0x0d,0x0a
.code
LM85:
R1=_song2 // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L73:
.debug
.dw '.stabn 0x44,0,141,',0,0
.dd LM86-_main
.dw 0x0d,0x0a
.code
LM86:
R1=_song3 // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L74:
.debug
.dw '.stabn 0x44,0,142,',0,0
.dd LM87-_main
.dw 0x0d,0x0a
.code
LM87:
R1=_song4 // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L75:
.debug
.dw '.stabn 0x44,0,143,',0,0
.dd LM88-_main
.dw 0x0d,0x0a
.code
LM88:
R1=0 // QImode move
[_mode]=R1 // QImode move
call _Clear_S // call without return value
call _display_mode_0 // call without return value
pc=L69 // Indirect jump
L76:
.debug
.dw '.stabn 0x44,0,144,',0,0
.dd LM89-_main
.dw 0x0d,0x0a
.code
LM89:
pc=L69 // Indirect jump
L77:
.debug
.dw '.stabn 0x44,0,145,',0,0
.dd LM90-_main
.dw 0x0d,0x0a
.code
LM90:
pc=L69 // Indirect jump
L78:
.debug
.dw '.stabn 0x44,0,146,',0,0
.dd LM91-_main
.dw 0x0d,0x0a
.code
LM91:
pc=L69 // Indirect jump
L79:
.debug
.dw '.stabn 0x44,0,147,',0,0
.dd LM92-_main
.dw 0x0d,0x0a
.code
LM92:
R1=_song // QImode move
[SP--]=R1 // QImode move
call _sing // call without return value
SP = SP + 1 //SP
pc=L69 // Indirect jump
L80:
.debug
.dw '.stabn 0x44,0,149,',0,0
.dd LM93-_main
.dw 0x0d,0x0a
.code
LM93:
pc=L69 // Indirect jump
L69:
.debug
.dw '.stabn 0x44,0,151,',0,0
.dd LM94-_main
.dw 0x0d,0x0a
.code
LM94:
R1=[BP] // QImode move
CMP R1,129 // QImode compare
NSJNZ L85 //QImode NE
.debug
.dw '.stabn 0x44,0,153,',0,0
.dd LM95-_main
.dw 0x0d,0x0a
.code
LM95:
R1=0 // QImode move
[BP]=R1 // QImode move
pc=L63 // Indirect jump
.debug
.dw '.stabn 0x44,0,154,',0,0
.dd LM96-_main
.dw 0x0d,0x0a
.code
LM96:
pc=L86 // Indirect jump
L85:
.debug
.dw '.stabn 0x44,0,155,',0,0
.dd LM97-_main
.dw 0x0d,0x0a
.code
LM97:
R1=0 // QImode move
[BP]=R1 // QImode move
L86:
.debug
.dw '.stabn 0x44,0,156,',0,0
.dd LM98-_main
.dw 0x0d,0x0a
.code
LM98:
pc=L62 // Indirect jump
L63:
.debug
.dw '.stabn 0x44,0,157,',0,0
.dd LM99-_main
.dw 0x0d,0x0a
.code
LM99:
pc=L6 // Indirect jump
L88:
L6:
.debug
.dw '.stabn 0x44,0,160,',0,0
.dd LM100-_main
.dw 0x0d,0x0a
.code
LM100:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,161,',0,0
.dd LM101-_main
.dw 0x0d,0x0a
.code
LM101:
LBE3:
pc=L3 // Indirect jump
L4:
.debug
.dw '.stabn 0x44,0,162,',0,0
.dd LM102-_main
.dw 0x0d,0x0a
.code
LM102:
R1=0 // QImode move
pc=L2 // Indirect jump
.debug
.dw '.stabn 0x44,0,163,',0,0
.dd LM103-_main
.dw 0x0d,0x0a
.code
LM103:
LBE2:
.debug
.dw '.stabn 0x44,0,163,',0,0
.dd LM104-_main
.dw 0x0d,0x0a
.code
LM104:
L2:
sp+=5
pop bp from [sp]
retf
.endp // end of main
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB2-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB3-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "key_code:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabs "key_delay:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
.dw '.stabs "key_num:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
.dw '.stabs "key_note:56=*11",128,0,0,3',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE3-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE2-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME1-_main
.dw 0x0d,0x0a
.code
LME1:
.code
.debug
.dw '.stabs "delay_nus:F19",36,0,0,',0,0,offset _delay_nus,seg _delay_nus,0x0d,0x0a
.CODE
.public _delay_nus
_delay_nus: .proc
.debug
.dw '.stabn 0x44,0,188,',0,0
.dd LM105-_delay_nus
.dw 0x0d,0x0a
.code
LM105:
// total=0, vars=0
// frame_pointer_needed: 1
push bp to [sp]
bp=sp+1
R1=BP+3
.debug
.dw '.stabn 0x44,0,189,',0,0
.dd LM106-_delay_nus
.dw 0x0d,0x0a
.code
LM106:
L128:
R2=R1 // QImode move
R3=[R2] // QImode move
R2=R3+(-1)
R3=R2 // QImode move
R2=R1 // QImode move
[R2]=R3 // QImode move
CMP R3,(-1) // QImode compare
NSJNZ L130 //QImode NE
pc=L129 // Indirect jump
L130:
pc=L128 // Indirect jump
L129:
.debug
.dw '.stabn 0x44,0,190,',0,0
.dd LM107-_delay_nus
.dw 0x0d,0x0a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -