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

📄 robot_function.asm

📁 基于凌阳的大名鼎鼎的杰克机器人代码。
💻 ASM
📖 第 1 页 / 共 5 页
字号:
LM99:
	R1=23	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM100-_TrainWord
	.dw 0x0d,0x0a
.code
LM100:
	R1=(-1)	// QImode move
	pc=L62	// Indirect jump
L71:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM101-_TrainWord
	.dw 0x0d,0x0a
.code
LM101:
	R1=(-1)	// QImode move
	pc=L62	// Indirect jump
L72:
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM102-_TrainWord
	.dw 0x0d,0x0a
.code
LM102:
	R1=23	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,176,',0,0
	.dd LM103-_TrainWord
	.dw 0x0d,0x0a
.code
LM103:
	R1=(-1)	// QImode move
	pc=L62	// Indirect jump
L73:
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM104-_TrainWord
	.dw 0x0d,0x0a
.code
LM104:
	R1=23	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM105-_TrainWord
	.dw 0x0d,0x0a
.code
LM105:
	R1=(-1)	// QImode move
	pc=L62	// Indirect jump
L75:
L67:
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM106-_TrainWord
	.dw 0x0d,0x0a
.code
LM106:
	pc=L63	// Indirect jump
L64:
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM107-_TrainWord
	.dw 0x0d,0x0a
.code
LM107:
	R1=0	// QImode move
	pc=L62	// Indirect jump
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM108-_TrainWord
	.dw 0x0d,0x0a
.code
LM108:
LBE5:
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM109-_TrainWord
	.dw 0x0d,0x0a
.code
LM109:
L62:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of TrainWord

.debug
	.dw '.stabs "WordID:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "SndIndex:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_TrainWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiRes_Train:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_TrainWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_TrainWord
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "PlaySnd:F19",36,0,0,',0,0,offset _PlaySnd,seg _PlaySnd,0x0d,0x0a
.CODE
.public _PlaySnd
_PlaySnd:	.proc
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM110-_PlaySnd
	.dw 0x0d,0x0a
.code
LM110:
	// 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,187,',0,0
	.dd LM111-_PlaySnd
	.dw 0x0d,0x0a
.code
LM111:
	call _BSR_StopRecognizer	// call without return value
.debug
	.dw '.stabn 0x44,0,188,',0,0
	.dd LM112-_PlaySnd
	.dw 0x0d,0x0a
.code
LM112:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_S480_Initial	// call with return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,189,',0,0
	.dd LM113-_PlaySnd
	.dw 0x0d,0x0a
.code
LM113:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_S480_Play	// call with return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM114-_PlaySnd
	.dw 0x0d,0x0a
.code
LM114:
L79:
	call _SACM_S480_Status	// call with return value
	R2=R1&1
	CMP R2,0	// QImode test
	NSJNZ L81	//QImode NE
	pc=L80	// Indirect jump
L81:
.debug
	.dw '.stabn 0x44,0,192,',0,0
	.dd LM115-_PlaySnd
	.dw 0x0d,0x0a
.code
LM115:
	call _SACM_S480_ServiceLoop	// call without return value
.debug
	.dw '.stabn 0x44,0,193,',0,0
	.dd LM116-_PlaySnd
	.dw 0x0d,0x0a
.code
LM116:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,194,',0,0
	.dd LM117-_PlaySnd
	.dw 0x0d,0x0a
.code
LM117:
	pc=L79	// Indirect jump
L80:
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM118-_PlaySnd
	.dw 0x0d,0x0a
.code
LM118:
	call _SACM_S480_Stop	// call with return value
.debug
	.dw '.stabn 0x44,0,196,',0,0
	.dd LM119-_PlaySnd
	.dw 0x0d,0x0a
.code
LM119:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _BSR_InitRecognizer	// call with return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM120-_PlaySnd
	.dw 0x0d,0x0a
.code
LM120:
	call _BSR_EnableCPUIndicator	// call without return value
.debug
	.dw '.stabn 0x44,0,198,',0,0
	.dd LM121-_PlaySnd
	.dw 0x0d,0x0a
.code
LM121:
.debug
	.dw '.stabn 0x44,0,198,',0,0
	.dd LM122-_PlaySnd
	.dw 0x0d,0x0a
.code
LM122:
L78:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of PlaySnd

.debug
	.dw '.stabs "SndIndex:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME8-_PlaySnd
	.dw 0x0d,0x0a
.code
LME8:
.code
.debug
	.dw '.stabs "Robot_Light:F19",36,0,0,',0,0,offset _Robot_Light,seg _Robot_Light,0x0d,0x0a
.CODE
.public _Robot_Light
_Robot_Light:	.proc
.debug
	.dw '.stabn 0x44,0,201,',0,0
	.dd LM123-_Robot_Light
	.dw 0x0d,0x0a
.code
LM123:
	// total=4, vars=4
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=4
	bp=sp+1

	R1=BP+7
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,202,',0,0
	.dd LM124-_Robot_Light
	.dw 0x0d,0x0a
.code
LM124:
LBB6:
.debug
	.dw '.stabn 0x44,0,206,',0,0
	.dd LM125-_Robot_Light
	.dw 0x0d,0x0a
.code
LM125:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,208,',0,0
	.dd LM126-_Robot_Light
	.dw 0x0d,0x0a
.code
LM126:
	R1=BP	// QImode move
	R2=BP+1
	R1=[28679]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,209,',0,0
	.dd LM127-_Robot_Light
	.dw 0x0d,0x0a
.code
LM127:
	R1=BP	// QImode move
	R2=BP+2
	R1=[28680]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,210,',0,0
	.dd LM128-_Robot_Light
	.dw 0x0d,0x0a
.code
LM128:
	R1=[28677]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,212,',0,0
	.dd LM129-_Robot_Light
	.dw 0x0d,0x0a
.code
LM129:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	R2=[R2]	// QImode move
	R4=R2|4096
	R2=R1	// QImode move
	[R2]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,213,',0,0
	.dd LM130-_Robot_Light
	.dw 0x0d,0x0a
.code
LM130:
	R2=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	R2=R4|4096
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,214,',0,0
	.dd LM131-_Robot_Light
	.dw 0x0d,0x0a
.code
LM131:
	R1=[BP]	// QImode move
	R1=R1|4096
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,216,',0,0
	.dd LM132-_Robot_Light
	.dw 0x0d,0x0a
.code
LM132:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[28679]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,217,',0,0
	.dd LM133-_Robot_Light
	.dw 0x0d,0x0a
.code
LM133:
	R1=BP	// QImode move
	R2=BP+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[28680]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,218,',0,0
	.dd LM134-_Robot_Light
	.dw 0x0d,0x0a
.code
LM134:
	R1=[BP]	// QImode move
	[28677]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,220,',0,0
	.dd LM135-_Robot_Light
	.dw 0x0d,0x0a
.code
LM135:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,222,',0,0
	.dd LM136-_Robot_Light
	.dw 0x0d,0x0a
.code
LM136:
	R1=BP	// QImode move
	R2=BP+1
	R1=[28679]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,223,',0,0
	.dd LM137-_Robot_Light
	.dw 0x0d,0x0a
.code
LM137:
	R1=BP	// QImode move
	R2=BP+2
	R1=[28680]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,224,',0,0
	.dd LM138-_Robot_Light
	.dw 0x0d,0x0a
.code
LM138:
	R1=[28677]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,226,',0,0
	.dd LM139-_Robot_Light
	.dw 0x0d,0x0a
.code
LM139:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	R2=[R2]	// QImode move
	R4=R2|4096
	R2=R1	// QImode move
	[R2]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,227,',0,0
	.dd LM140-_Robot_Light
	.dw 0x0d,0x0a
.code
LM140:
	R2=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	R2=R4|4096
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,228,',0,0
	.dd LM141-_Robot_Light
	.dw 0x0d,0x0a
.code
LM141:
	R1=[BP]	// QImode move
	R1=R1&(-4097)
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,230,',0,0
	.dd LM142-_Robot_Light
	.dw 0x0d,0x0a
.code
LM142:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[28679]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,231,',0,0
	.dd LM143-_Robot_Light
	.dw 0x0d,0x0a
.code
LM143:
	R1=BP	// QImode move
	R2=BP+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[28680]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,232,',0,0
	.dd LM144-_Robot_Light
	.dw 0x0d,0x0a
.code
LM144:
	R1=[BP]	// QImode move
	[28677]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,233,',0,0
	.dd LM145-_Robot_Light
	.dw 0x0d,0x0a
.code
LM145:
LBE6:
.debug
	.dw '.stabn 0x44,0,233,',0,0
	.dd LM146-_Robot_Light
	.dw 0x0d,0x0a
.code
LM146:
L83:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of Robot_Light

.debug
	.dw '.stabs "n:p4",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_Robot_Light
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiP_IOB_Data:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiP_IOB_Dir:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiP_IOB_Attrib:4",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_Robot_Light
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_Robot_Light
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "Robot_DanceAgain:F19",36,0,0,',0,0,offset _Robot_DanceAgain,seg _Robot_DanceAgain,0x0d,0x0a
.CODE
.public _Robot_DanceAgain
_Robot_DanceAgain:	.proc
.debug
	.dw '.stabn 0x44,0,236,',0,0
	.dd LM147-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM147:
	// total=5, vars=5
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=5
	bp=sp+1

	R1=BP+8
	[bp+4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,237,',0,0
	.dd LM148-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM148:
LBB7:
.debug
	.dw '.stabn 0x44,0,242,',0,0
	.dd LM149-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM149:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,244,',0,0
	.dd LM150-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM150:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L85:
	R1=[BP]	// QImode move
	R2=[bp+4]	// QImode move
	CMP R1,[R2]	// QImode compare
	NSJB L88	//QImode LTU
	pc=L86	// Indirect jump
L88:
.debug
	.dw '.stabn 0x44,0,246,',0,0
	.dd LM151-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM151:
	R1=BP	// QImode move
	R2=BP+2
	R1=[28679]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,247,',0,0
	.dd LM152-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM152:
	R1=BP	// QImode move
	R2=BP+3
	R1=[28680]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,248,',0,0
	.dd LM153-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM153:
	R1=BP	// QImode move
	R2=BP+1
	R1=[28677]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,250,',0,0
	.dd LM154-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM154:
	R2=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	R2=R4|10496
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,251,',0,0
	.dd LM155-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM155:
	R2=BP	// QImode move
	R1=BP+3
	R2=BP	// QImode move
	R3=BP+3
	R2=R3	// QImode move
	R2=[R2]	// QImode move
	R4=R2|10496
	R2=R1	// QImode move
	[R2]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM156-_Robot_DanceAgain
	.dw 0x0d,0x0a
.code
LM156:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	R2=R4|10496
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM157-_Robot_DanceAgain
	.dw 0x0d,0x0a

⌨️ 快捷键说明

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