📄 fsuma.asm
字号:
;********************FSUMA********************
;本程序实现在单字节数据块中查找无符号数极大值。
;入口参数:数据块首址在SADR中,数据个数在W中。
;出口参数:极大值在SOU中,极大值地址在SADR中。
;占用资源:W,STATUS,FSR,020H,024H,028H,一重堆栈。
;说 明: 如果有两个或两个以上相等的极大值,则只能给出第一个极大值的地址.
IFNDEF FSUMA1
#DEFINE FSUMA1
FSUMA MOVWF TEMP1
MOVF SADR,W
MOVWF FSR
CLRW
LOOP42 SUBWF INDF,W
BTFSS STATUS,C
GOTO RECOVER
BTFSC STATUS,Z
GOTO RECOVER ;如果相等则取前者
MOVF FSR,W
MOVWF SADR ;SADR中存放最大值地址
MOVF INDF,W ;W中总是存放最大值
LOOP43 INCF FSR,F
DECFSZ TEMP1,F
GOTO LOOP42
MOVWF SOU
RETURN
RECOVER SUBWF INDF,W ;恢复W
GOTO LOOP43
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -