This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教一个关于CCS用ASM编程做带符号除法的小问题



就是想做一个32位被除数除以一个16位除数的小实验。
然后保留商和余数。
我刚学这些东西,对指令不太熟悉,所以现在写到这些就卡住了。。。。
其中AR1存放被除数,AR2存放除数,然后AR5和AR6存最后的余数和商。
.MMREGS
 .GLOBAL _MAIN
 .TEXT
_MAIN:
 XOR A
 XOR B
 STM #0100H,AR1
 STM #0106H,AR2
 STM #0110H,AR3
 STM #0120H,AR4
 STM #0130H,AR5
 STM #0132H,AR6
 LD *AR1+,A
 MPYA *AR2
 NOP
 
 
 
 ABS A
 RPT #15
 SUBC *AR2,A
 STH A,*AR4
 STL A,*AR3
 XOR A
 ADD *AR4,16,A
 ADD *AR1,A
 RPT #15
 SUBC *AR2,A
 
 
 XC 1,BLT
 NEG A
 STH A,*AR5
 STL A,*AR6+
 NOP
 B $
在添加MPYA和下面的XC以及NEG这三条指令之前,正数的除法还是能简单做一下的。但还是有很多问题,就像被除数最高位不能是1的问题。
所以~~请教一下