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

📄 spwm_isr.asm

📁 凌阳单片机SPMC75F2413A 的变频调速系统
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	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
	[29770]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,196,',0,0
	.dd LM84-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM84:
	R1=[29706]	// QImode move
	R2=R1|169
	[29706]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM85-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM85:
	pc=L21	// Indirect jump
L19:
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM86-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM86:
	R2=[bp+4]	// QImode move
	R1=[R2]	// 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 L25	// QImode EQ
	PC=L22
L25:
.debug
	.dw '.stabn 0x44,0,202,',0,0
	.dd LM87-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM87:
	R1=[_g_SPWM_Data_Temp+7]	// QImode move
	[_g_uiPhases_Add_Data_2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,203,',0,0
	.dd LM88-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM88:
	R1=[_g_SPWM_Data_Temp+8]	// QImode move
	[_g_uiAM_Data_2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,204,',0,0
	.dd LM89-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM89:
	R1=[_g_SPWM_Data_Temp+9]	// QImode move
	[29753]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,205,',0,0
	.dd LM90-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM90:
	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
L22:
.debug
	.dw '.stabn 0x44,0,207,',0,0
	.dd LM91-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM91:
	R1=[_g_uiSPWM_phases_Add_2]	// QImode move
	R2=[_g_uiPhases_Add_Data_2]	// QImode move
	[_g_uiSPWM_phases_Add_2]=R1+R2
.debug
	.dw '.stabn 0x44,0,208,',0,0
	.dd LM92-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM92:
	R1=[_g_uiSPWM_phases_Add_2]	// 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,209,',0,0
	.dd LM93-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM93:
	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,210,',0,0
	.dd LM94-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM94:
	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,211,',0,0
	.dd LM95-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM95:
	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,212,',0,0
	.dd LM96-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM96:
	R1=[_g_uiAM_Data_2]	// 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,213,',0,0
	.dd LM97-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM97:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[_PWM_shift+1]	// 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,214,',0,0
	.dd LM98-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM98:
	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+1]	// 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,215,',0,0
	.dd LM99-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM99:
	R1=BP	// QImode move
	R2=BP+1
	R1=R2	// QImode move
	R2=R2+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[_PWM_shift+1]	// 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,216,',0,0
	.dd LM100-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM100:
	R1=[29706]	// QImode move
	R2=R1|170
	[29706]=R2	// QImode move
L21:
.debug
	.dw '.stabn 0x44,0,218,',0,0
	.dd LM101-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM101:
LBE2:
.debug
	.dw '.stabn 0x44,0,218,',0,0
	.dd LM102-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LM102:
L18:

	sp+=5
	pop bp from [sp]
	retf
	.endp	// end of SPMC75_SPWM_ISR

.debug
	.dw '.stabs "Moto:p1",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB2-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiPhases_Temp:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "iNEW_Data:267=ar1;0;2;1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE2-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME2-_SPMC75_SPWM_ISR
	.dw 0x0d,0x0a
.code
LME2:
.code
.debug
	.dw '.stabs "Daly_Time:F19",36,0,0,',0,0,offset _Daly_Time,seg _Daly_Time,0x0d,0x0a
.CODE
.public _Daly_Time
_Daly_Time:	.proc
.debug
	.dw '.stabn 0x44,0,228,',0,0
	.dd LM103-_Daly_Time
	.dw 0x0d,0x0a
.code
LM103:
	// total=1, vars=1
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=1
	bp=sp+1

	R1=BP+4
.debug
	.dw '.stabn 0x44,0,229,',0,0
	.dd LM104-_Daly_Time
	.dw 0x0d,0x0a
.code
LM104:
LBB3:
.debug
	.dw '.stabn 0x44,0,230,',0,0
	.dd LM105-_Daly_Time
	.dw 0x0d,0x0a
.code
LM105:
L27:
	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,0	// QImode test
	JNG L34	// QImode GT
	PC=L29
L34:
	pc=L28	// Indirect jump
L29:
.debug
	.dw '.stabn 0x44,0,232,',0,0
	.dd LM106-_Daly_Time
	.dw 0x0d,0x0a
.code
LM106:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L30:
	R2=[BP]	// QImode move
	CMP R2,999	// QImode compare
	JG L35	// QImode LE
	PC=L32
L35:
	pc=L31	// Indirect jump
L33:
.debug
	.dw '.stabn 0x44,0,232,',0,0
	.dd LM107-_Daly_Time
	.dw 0x0d,0x0a
.code
LM107:
L32:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L30	// Indirect jump
L31:
.debug
	.dw '.stabn 0x44,0,234,',0,0
	.dd LM108-_Daly_Time
	.dw 0x0d,0x0a
.code
LM108:
	pc=L27	// Indirect jump
L28:
.debug
	.dw '.stabn 0x44,0,235,',0,0
	.dd LM109-_Daly_Time
	.dw 0x0d,0x0a
.code
LM109:
LBE3:
.debug
	.dw '.stabn 0x44,0,235,',0,0
	.dd LM110-_Daly_Time
	.dw 0x0d,0x0a
.code
LM110:
L26:

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

.debug
	.dw '.stabs "Time:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_Daly_Time
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE3-_Daly_Time
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_Daly_Time
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "SPMC75_Moto_start_RUN:F19",36,0,0,',0,0,offset _SPMC75_Moto_start_RUN,seg _SPMC75_Moto_start_RUN,0x0d,0x0a
.CODE
.public _SPMC75_Moto_start_RUN
_SPMC75_Moto_start_RUN:	.proc
.debug
	.dw '.stabn 0x44,0,245,',0,0
	.dd LM111-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM111:
	// 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,246,',0,0
	.dd LM112-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM112:
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,0	// QImode test
	JNG L43	// QImode GT
	PC=L37
L43:
.debug
	.dw '.stabn 0x44,0,248,',0,0
	.dd LM113-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM113:
	R1=[28777]	// QImode move
	R2=R1&(-256)
	[28777]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,249,',0,0
	.dd LM114-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM114:
	R1=[_IPM_Gate_En]	// QImode move
	CMP R1,0	// QImode test
	JNZ L44	// QImode EQ
	PC=L38
L44:
.debug
	.dw '.stabn 0x44,0,250,',0,0
	.dd LM115-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM115:
	R1=[28777]	// QImode move
	R2=R1|71
	[28777]=R2	// QImode move
	pc=L39	// Indirect jump
L38:
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM116-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM116:
	R1=[28777]	// QImode move
	R2=R1|120
	[28777]=R2	// QImode move
L39:
.debug
	.dw '.stabn 0x44,0,253,',0,0
	.dd LM117-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM117:
	R1=[28801]	// QImode move
	R2=R1&(-64)
	[28801]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM118-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM118:
	R1=[28777]	// QImode move
	R2=R1|128
	[28777]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,255,',0,0
	.dd LM119-_SPMC75_Moto_start_RUN
	.dw 0x0d,0x0a
.code
LM119:
	R1=500	// QImode move
	[SP--]=R1	// QImode move

⌨️ 快捷键说明

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