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

📄 spwm_isr.asm

📁 凌阳单片机SPMC75F2413A 的变频调速系统
💻 ASM
📖 第 1 页 / 共 5 页
字号:
LM46:
	R1=28696	// QImode move
	[29793]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM47-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM47:
	R1=16384	// QImode move
	[29753]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM48-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM48:
	R1=[_iSin_TAB]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[29772]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM49-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM49:
	R1=_iSin_TAB	// QImode move
	R3=[_Phases_120]	// QImode move
	R2=R1	// QImode move
	R2+=R3	// addqi3_r0r
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[29773]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM50-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM50:
	R1=_iSin_TAB	// QImode move
	R3=[_Phases_240]	// QImode move
	R2=R1	// QImode move
	R2+=R3	// addqi3_r0r
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[29774]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM51-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM51:
	R1=[29704]	// QImode move
	R2=R1|(-32768)
	[29704]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM52-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM52:
	R4=[BP]	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	JG L17	// QImode LE
	PC=L11
L17:
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM53-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM53:
	R1=[29704]	// QImode move
	R2=R1|16384
	[29704]=R2	// QImode move
	pc=L12	// Indirect jump
L11:
.debug
	.dw '.stabn 0x44,0,152,',0,0
	.dd LM54-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM54:
	R1=[29704]	// QImode move
	R2=R1&(-16385)
	[29704]=R2	// QImode move
L12:
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM55-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM55:
	R1=[29704]	// QImode move
	R2=R1|1792
	[29704]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,154,',0,0
	.dd LM56-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM56:
	R1=[29704]	// QImode move
	R2=R1&(-193)
	[29704]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM57-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM57:
	R1=273	// QImode move
	[29716]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM58-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM58:
	R1=[29702]	// QImode move
	R2=R1|16128
	[29702]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM59-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM59:
	R1=[29732]	// QImode move
	R2=R1|16
	[29732]=R2	// QImode move
L8:
.debug
	.dw '.stabn 0x44,0,159,',0,0
	.dd LM60-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM60:
	R1=[BP]	// QImode move
	R1=[BP]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=_g_SPWM_Data_Temp+4	// QImode move
	R1=R2	// QImode move
	R1+=R3	// addqi3_r0r
	R2=0	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM61-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM61:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=_g_SPWM_Data_Temp+5	// QImode move
	R1=R2	// QImode move
	R1+=R3	// addqi3_r0r
	R2=0	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM62-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM62:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+1
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3	// QImode move
	R1=R1+_PWM_shift
	R2=4	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM63-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM63:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R2=_g_SPWM_Data_Temp	// QImode move
	R1=R2	// QImode move
	R1+=R3	// addqi3_r0r
	R2=0	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM64-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM64:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R1=R3	// QImode move
	R1=R1+_g_SPWM_Data_Temp
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R3=R2|2
	R4=R1	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM65-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM65:
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM66-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LM66:
L2:

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

.debug
	.dw '.stabs "IPM_Gate:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Moto:p1",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME1-_SPMC75_SPWM_TMR_Init
	.dw 0x0d,0x0a
.code
LME1:
.code
.debug
	.dw '.stabs "SPMC75_SPWM_ISR:F19",36,0,0,',0,0,offset _SPMC75_SPWM_ISR,seg _SPMC75_SPWM_ISR,0x0d,0x0a
.CODE
.public _SPMC75_SPWM_ISR
_SPMC75_SPWM_ISR:	.proc
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM67-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM67:
	// 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,176,',0,0
	.dd LM68-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM68:
LBB2:
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM69-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM69:
	R2=[bp+4]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,0	// QImode test
	JNG L23	// QImode GT
	PC=L19
L23:
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM70-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM70:
	R3=[bp+4]	// QImode move
	R1=[R3]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R1=R3	// QImode move
	R1=R1+_g_SPWM_Data_Temp
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R1=R2&1
	CMP R1,0	// QImode test
	JNZ L24	// QImode EQ
	PC=L20
L24:
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM71-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM71:
	R1=[_g_SPWM_Data_Temp+1]	// QImode move
	[_g_uiPhases_Add_Data_1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM72-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM72:
	R1=[_g_SPWM_Data_Temp+2]	// QImode move
	[_g_uiAM_Data_1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM73-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM73:
	R1=[_g_SPWM_Data_Temp+3]	// QImode move
	[29752]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,185,',0,0
	.dd LM74-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM74:
	R4=[bp+4]	// QImode move
	R1=[R4]	// QImode move
	R2=6	// QImode move
	mr=R1*R2	// r3=R1*R2 16bit=16bit*16bit
	R1=R3	// QImode move
	R1=R1+_g_SPWM_Data_Temp
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R3=R2&(-2)
	R4=R1	// QImode move
	[R4]=R3	// QImode move
L20:
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM75-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM75:
	R1=[_g_uiSPWM_phases_Add_1]	// QImode move
	R2=[_g_uiPhases_Add_Data_1]	// QImode move
	[_g_uiSPWM_phases_Add_1]=R1+R2
.debug
	.dw '.stabn 0x44,0,188,',0,0
	.dd LM76-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM76:
	R1=[_g_uiSPWM_phases_Add_1]	// QImode move
	R2=6	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,189,',0,0
	.dd LM77-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM77:
	R2=BP	// QImode move
	R1=BP+1
	R2=_iSin_TAB	// QImode move
	R3=[BP]	// QImode move
	R2+=R3	// addqi3_r0r
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM78-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM78:
	R1=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	R1=R3+1
	R3=[BP]	// QImode move
	R2=R3+[_Phases_120]	// addqi3_r0R
	R4=[_Sin_TAB_dot]	// QImode move
	R3=R4+(-1)
	R2&=R3
	R4=_iSin_TAB	// QImode move
	R3=R4	// QImode move
	R3+=R2	// addqi3_r0r
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,191,',0,0
	.dd LM79-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM79:
	R1=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	R1=R3+2
	R3=[BP]	// QImode move
	R2=R3+[_Phases_240]	// addqi3_r0R
	R4=[_Sin_TAB_dot]	// QImode move
	R3=R4+(-1)
	R2&=R3
	R4=_iSin_TAB	// QImode move
	R3=R4	// QImode move
	R3+=R2	// addqi3_r0r
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,192,',0,0
	.dd LM80-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM80:
	R1=[_g_uiAM_Data_1]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP+1
	[SP--]=R1	// QImode move
	call _SPWM_AM_MUL	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,193,',0,0
	.dd LM81-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM81:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[_PWM_shift]	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[29768]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,194,',0,0
	.dd LM82-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM82:
	R1=BP	// QImode move
	R2=BP+1
	R1=R2	// QImode move
	R2=R2+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=[_PWM_shift]	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	[29769]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM83-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM83:
	R1=BP	// QImode move
	R2=BP+1
	R1=R2	// QImode move
	R2=R2+2

⌨️ 快捷键说明

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