📄 minval.asm
字号:
;***********************************************************
; Version 2.20.01
;***********************************************************
;****************************************************************
; Function: minval
; Description: min value of a vector
;
; Copyright Texas instruments Inc, 1998
;----------------------------------------------------------------
; Revision History:
; 1.00, R. Piedra, 8/31/98 - Original release.
;****************************************************************
.mmregs
; Far-mode adjustment
.if __far_mode
offset .set 1 ; far mode uses one extra location for ret addr ll
.else
offset .set 0
.endif
.asg (2), ret_addr ; stack description
; x in A
.asg (3 + offset), arg_n
; register usage
.asg ar0, ar_x
;****************************************************************
.def _minval
.text
_minval
PSHM ST0 ; 1 cycle
PSHM ST1 ; 1 cycle
RSBX OVA ; 1 cycle
RSBX OVB ; 1 cycle
; Get arguments and set modes
; ---------------------------
ssbx sxm ; sign extension on (1)
ld *sp(arg_n),b ; b = n (1)
sub #1,b ; b = n-1 (2)
stlm b,brc ; brc = n-1 (1)
stlm a, ar_x ; pointer to x (1)
rptbd eloop-1 ; (2)
ld #7fffh,a ; a = most positive q15 value (1)
ld *ar_x+, b ; b = new element (1)
min a ; compare a with b and store (1)
; min value in a.
eloop
POPM ST1
POPM ST0
.if __far_mode
fret ; (6)
.else
ret ; (6)
.endif
;end of file. please do not remove. it is left here to ensure that no lines of code are removed by any editor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -