⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.asm

📁 电子词典的设计开发
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.str '3'
	.dw 0
LC21:
	.str '4'
	.dw 0
LC22:
	.str '5'
	.dw 0
LC23:
	.str '6'
	.dw 0
LC24:
	.str '7'
	.dw 0
LC25:
	.str '8'
	.dw 0
LC26:
	.str '9'
	.dw 0
LC27:
	.str ' '
	.dw 0
LC28:
	.str 'a'
	.dw 0
LC29:
	.str 'b'
	.dw 0
LC30:
	.str 'c'
	.dw 0
LC31:
	.str 'd'
	.dw 0
LC32:
	.str 'e'
	.dw 0
LC33:
	.str 'f'
	.dw 0
LC34:
	.str 'g'
	.dw 0
LC35:
	.str 'h'
	.dw 0
LC36:
	.str 'i'
	.dw 0
LC37:
	.str 'j'
	.dw 0
LC38:
	.str 'k'
	.dw 0
LC39:
	.str 'l'
	.dw 0
LC40:
	.str 'm'
	.dw 0
LC41:
	.str 'n'
	.dw 0
LC42:
	.str 'o'
	.dw 0
LC43:
	.str 'p'
	.dw 0
LC44:
	.str 'q'
	.dw 0
LC45:
	.str 'r'
	.dw 0
LC46:
	.str 's'
	.dw 0
LC47:
	.str 't'
	.dw 0
LC48:
	.str 'u'
	.dw 0
LC49:
	.str 'v'
	.dw 0
LC50:
	.str 'w'
	.dw 0
LC51:
	.str 'x'
	.dw 0
LC52:
	.str 'y'
	.dw 0
LC53:
	.str 'z'
	.dw 0
.code
.debug
	.dw '.stabs "Play_Num:F19",36,0,0,',0,0,offset _Play_Num,seg _Play_Num,0x0d,0x0a
.CODE
.public _Play_Num
_Play_Num:	.proc
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM55-_Play_Num
	.dw 0x0d,0x0a
.code
LM55:
	// total=6, vars=6
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=6
	bp=sp+1

	R1=BP+9
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM56-_Play_Num
	.dw 0x0d,0x0a
.code
LM56:
LBB18:
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM57-_Play_Num
	.dw 0x0d,0x0a
.code
LM57:
	call _delay	// call without return value
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM58-_Play_Num
	.dw 0x0d,0x0a
.code
LM58:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _FG_ClearScreen	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM59-_Play_Num
	.dw 0x0d,0x0a
.code
LM59:
	R1=[bp+3]	// QImode move
	R3=[bp+3]	// QImode move
	R2=R3+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	JZ L153	// QImode NE
	PC=L101
L153:
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM60-_Play_Num
	.dw 0x0d,0x0a
.code
LM60:
LBB19:
	R1=[_flag_dictionary]	// QImode move
	CMP R1,0	// QImode test
	JNZ L154	// QImode EQ
	PC=L102
L154:
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=120	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=LC12	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L103	// Indirect jump
L102:
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM61-_Play_Num
	.dw 0x0d,0x0a
.code
LM61:
	R1=[_flag_find_tel]	// QImode move
	CMP R1,0	// QImode test
	JNZ L155	// QImode EQ
	PC=L104
L155:
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=125	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=LC13	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L103	// Indirect jump
L104:
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM62-_Play_Num
	.dw 0x0d,0x0a
.code
LM62:
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=125	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=LC14	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
L105:
L103:
.debug
	.dw '.stabn 0x44,0,165,',0,0
	.dd LM63-_Play_Num
	.dw 0x0d,0x0a
.code
LM63:
LBE19:
	pc=L106	// Indirect jump
L101:
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM64-_Play_Num
	.dw 0x0d,0x0a
.code
LM64:
LBB20:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _FG_ClearScreen	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM65-_Play_Num
	.dw 0x0d,0x0a
.code
LM65:
	R1=[_flag_change]	// QImode move
	CMP R1,0	// QImode test
	JZ L156	// QImode NE
	PC=L107
L156:
	R1=20	// QImode move
	[SP--]=R1	// QImode move
	R1=25	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=LC15	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L108	// Indirect jump
L107:
.debug
	.dw '.stabn 0x44,0,170,',0,0
	.dd LM66-_Play_Num
	.dw 0x0d,0x0a
.code
LM66:
	R1=20	// QImode move
	[SP--]=R1	// QImode move
	R1=25	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=LC16	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
L108:
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM67-_Play_Num
	.dw 0x0d,0x0a
.code
LM67:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L109:
	R2=BP	// QImode move
	R1=BP+2
	R2=[bp+3]	// QImode move
	R4=[bp+3]	// QImode move
	R3=R4+1
	R2=R1	// QImode move
	R1=[R2]	// QImode move
	R4=R3	// QImode move
	CMP R1,[R4]	// QImode compare
	JNB L157	// QImode LTU
	PC=L112
L157:
	pc=L106	// Indirect jump
L112:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM68-_Play_Num
	.dw 0x0d,0x0a
.code
LM68:
	R1=BP	// QImode move
	R1=BP+1
	[bp+4]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=14	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __divu1	// call with return value
	SP=SP+2
	R4=[bp+4]	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,174,',0,0
	.dd LM69-_Play_Num
	.dw 0x0d,0x0a
.code
LM69:
	R2=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=14	// QImode move
	[bp+5]=R3	// QImode move
	R4=[bp+5]	// QImode move
	mr=R2*R4	// r3=R2*R4 16bit=16bit*16bit
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM70-_Play_Num
	.dw 0x0d,0x0a
.code
LM70:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	CMP R2,122	// QImode compare
	JNA L158	// QImode GTU
	PC=L111
L158:
	R4=R1	// QImode move
	R1=[R4]	// QImode move
	R2=R1	// QImode move
	R1=R2	// QImode move
	R1=R1+L151
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	pc=R2	// tablejump
.text
L151:
	.dw L114
	.dw L115
	.dw L116
	.dw L117
	.dw L118
	.dw L119
	.dw L120
	.dw L121
	.dw L122
	.dw L123
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L124
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L111
	.dw L125
	.dw L126
	.dw L127
	.dw L128
	.dw L129
	.dw L130
	.dw L131
	.dw L132
	.dw L133
	.dw L134
	.dw L135
	.dw L136
	.dw L137
	.dw L138
	.dw L139
	.dw L140
	.dw L141
	.dw L142
	.dw L143
	.dw L144
	.dw L145
	.dw L146
	.dw L147
	.dw L148
	.dw L149
	.dw L150
.code
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM71-_Play_Num
	.dw 0x0d,0x0a
.code
LM71:
L114:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC17	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L115:
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM72-_Play_Num
	.dw 0x0d,0x0a
.code
LM72:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC18	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L116:
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM73-_Play_Num
	.dw 0x0d,0x0a
.code
LM73:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC19	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L117:
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM74-_Play_Num
	.dw 0x0d,0x0a
.code
LM74:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC20	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L118:
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM75-_Play_Num
	.dw 0x0d,0x0a
.code
LM75:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC21	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L119:
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM76-_Play_Num
	.dw 0x0d,0x0a
.code
LM76:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=60	// QImode move
	R1=R2	// QImode move
	R1-=R3
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R2 lsl 3
	R3=120	// QImode move
	R2=R3	// QImode move
	R2-=R1
	[SP--]=R2	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=LC22	// QImode move
	[SP--]=R1	// QImode move
	call _FG_PutStr	// call with return value
	SP=SP+4
	pc=L111	// Indirect jump
L120:
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM77-_Play_Num
	.dw 0x0d,0x0a
.code
LM77:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=10	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -