📄 fssmi.asm
字号:
;********************FSSMI********************
;本程序实现在单字节数据块中查找有符号数极小值。
;入口参数:数据块首址在SADR中,字节数在W中。
;出口参数:极小值在SOU中,极小值地址在SADR中。
;占用资源:W,STATUS,FSR,020H,024H,028H,两重堆栈。
;说 明: 1.如果有两个或两个以上相等的极小值,则只能给出第一个极小值的地址.
; 2.加载本文件的同时也加载了另外一个文件"FSUMI.ASM",
; 故用户在使用这个子程序时可直接调用, 不必重新加载.
; 3.本程序的执行对原数据块并无影响.
IFNDEF FSSMI1
#DEFINE FSSMI1
FSSMI MOVWF TEMP1
MOVF SADR,W
MOVWF FSR
LOOP57 BTFSS INDF,7
GOTO NOMINUS
MOVF FSR,W
MOVWF SADR
MOVF INDF,W
INCF FSR,F
LOOP53 BTFSS INDF,7
GOTO LOOP54
SUBWF INDF,W
BTFSC STATUS,C
GOTO RECOVER3
MOVF FSR,W
MOVWF SADR ;SADR中存放最小值地址
MOVF INDF,W ;W中总是存放最小值
LOOP54 INCF FSR,F
DECFSZ TEMP1,F
GOTO LOOP53
MOVWF SOU
RETURN
RECOVER3 SUBWF INDF,W ;恢复W
GOTO LOOP54
NOMINUS INCF FSR,F
DECFSZ TEMP1,F
GOTO LOOP57
MOVF SADR,W
SUBWF FSR,W ;重新恢复字节数
CALL FSUMI ;无符号数的最小值即有符号数的最小值
RETURN
INCLUDE "FSUMI.ASM"
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -