udivide1.asm

来自「包含几个高效的矢量运算的数学函数」· 汇编 代码 · 共 30 行

ASM
30
字号
;; Vectorized and modified by: Jeff Axelrod
;; Original Version:	Alex Tessarolo
	.include "ccall.asm"
	
	.def	_ti_udivide16
_ti_udivide16:
	pre_ccall 5,AR_NUM,AR_DEN,AR_QUOT,AR_REM,AR_N

	clrc	SXM			; MUST turn sign extension mode off.
					; Note: Overflow mode is off in C.
	
	mar *,AR_N		; AR_N = n
	mar *-,AR_NUM			; AR_N--

LOOP:
;	lacl	div_Num			; ACCH = 0   , ACCL = Num
	lacl *+,AR_DEN
	rpt	#14
;	subc	div_Den   		; ACCH = Rem , ACCL = Quot
	subc *
	subc *+,AR_REM
;	sach	div_Rem
	sach *+,AR_QUOT
;	sacl	div_Quot
	sacl *+,AR_N
	banz LOOP,AR_NUM

DONE:
	post_ccall 5

⌨️ 快捷键说明

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