📄 aasms.s43
字号:
#include "msp430xe42x.h"
NAME ASMS_Process
RSEG CODE
//extern unsigned int _FRACTIONAL_UNSIGNED_MUL(unsigned int operand1, unsigned int operand2);
PUBLIC _FRACTIONAL_UNSIGNED_MUL
_FRACTIONAL_UNSIGNED_MUL:
PUSH.W SR
DINT
MOV R12,&MPY
MOV R14,&OP2
MOV &RESLO,R12
MOV &RESHI,R13
ADD #4000h,R12
ADDC #0,R13
RLA R12
RLC R13
MOV R13,R12
RETI
//extern unsigned int _FRACTIONAL_UNSIGNED_MUL1(unsigned int operand1, unsigned int operand2);
PUBLIC _FRACTIONAL_UNSIGNED_MUL1
_FRACTIONAL_UNSIGNED_MUL1:
PUSH.W SR
DINT
MOV R12,&MPY
MOV R14,&OP2
MOV &RESLO,R12
MOV &RESHI,R13
ADD #4000h,R12
ADDC #0,R13
MOV R13,R12
RETI
//extern unsigned int FRACTIONAL_UNSIGNED_MUL(unsigned long operand1, unsigned int operand2);
//extern unsigned int _CURRENT_MUL(unsigned long operand1, unsigned long operand2);
//PUBLIC _FRACTIONAL_UNSIGNED_MUL
PUBLIC _CURRENT_MUL
//_FRACTIONAL_UNSIGNED_MUL:
_CURRENT_MUL:
PUSH.W SR
DINT
MOV R12,&MPY
MOV R14,&OP2
//MOV &RESLO,R12
MOV &RESHI,R15
MOV R13,&MPY
MOV R14,&OP2
MOV &RESHI,R12
ADD &RESLO,R15
ADDC #0,R12
ADD #8000h,R15
ADDC #0,R12
RETI
;==============================================
PUBLIC _WKUP
_WKUP: BIC #00F0H,10(SP);
RET
;==============================================
PUBLIC _BCD1INC
_BCD1INC: CLRC
DADD.B #1,0(R12)
RET
;==============================================
PUBLIC _BCD2INC
_BCD2INC: CLRC
DADD.B #1,0(R12)
DADC.B 1(R12)
RET
;==============================================
PUBLIC _BCD3INC
_BCD3INC: CLRC
DADD.B #1,0(R12)
DADC.B 1(R12)
DADC.B 2(R12)
RET
;==============================================
PUBLIC _BCD4INC
_BCD4INC: CLRC
DADD.B #1,0(R12)
DADC.B 1(R12)
DADC.B 2(R12)
DADC.B 3(R12)
RET
PUBLIC _BCD4INC10
_BCD4INC10: CLRC
DADD.B #10,0(R12)
DADC.B 1(R12)
DADC.B 2(R12)
DADC.B 3(R12)
BIC.B #0F0H,3(R12)
RET
PUBLIC _SWAPB1
_SWAPB1 SWPB R12
RET
;==============================================
PUBLIC _BCD1ADD
_BCD1ADD: CLRC
DADD.B @R14,0(R12)
RET
;==============================================
PUBLIC _BCD2ADD
_BCD2ADD: CLRC
DADD.B @R14+,0(R12)
DADD.B @R14,1(R12)
RET
;==============================================
PUBLIC _BCD3ADD
_BCD3ADD: CLRC
DADD.B @R14+,0(R12)
DADD.B @R14+,1(R12)
DADD.B @R14,2(R12)
RET
;==============================================
PUBLIC _BCD4ADD
_BCD4ADD: CLRC
DADD.B @R14+,0(R12)
DADD.B @R14+,1(R12)
DADD.B @R14+,2(R12)
DADD.B @R14,3(R12)
RET
;==============================================
PUBLIC _BCD4SUB
_BCD4SUB: ADD.B #066H,0(R12)
INV.B 0(R12)
ADD.B #066H,1(R12)
INV.B 1(R12)
ADD.B #066H,2(R12)
INV.B 2(R12)
ADD.B #066H,3(R12)
INV.B 3(R12)
SETC
DADD.B @R14+,0(R12)
DADD.B @R14+,1(R12)
DADD.B @R14+,2(R12)
DADD.B @R14,3(R12)
RET
;==============================================
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -