⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fssma.asm

📁 PIC单片机的汇编源码合集,应用比较广泛,设计程序时可做子程序来用
💻 ASM
字号:
;********************FSSMA********************
;本程序实现在单字节数据块中查找有符号数极大值。
;入口参数:数据块首址在SADR中,字节数在W中。
;出口参数:极大值在SOU中,极大值地址在SADR中。
;占用资源:W,STATUS,FSR,020H,024H,028H,两重堆栈。
;说    明: 1.如果有两个或两个以上相等的极大值,则只能给出第一个极大值的地址.
;          2.加载本文件的同时也加载了另外一个文件"FSUMA.ASM",
;            故用户在使用这个子程序时可直接调用, 不必重新加载.
;          3.本程序的执行对原数据块并无影响. 


           IFNDEF       FSSMA1
            #DEFINE     FSSMA1
                        
FSSMA       MOVWF       TEMP1
            MOVF        SADR,W
            MOVWF       FSR
LOOP51      BTFSC       INDF,7
            GOTO        NOPLUS
            MOVF        FSR,W
            MOVWF       SADR
            MOVF        INDF,W
            INCF        FSR,F
LOOP48      BTFSC       INDF,7
            GOTO        LOOP49
            SUBWF       INDF,W
            BTFSS       STATUS,C
            GOTO        RECOVER2
            BTFSC       STATUS,Z
            GOTO        RECOVER2    ;如果相等则取前者
            MOVF        FSR,W
            MOVWF       SADR        ;SADR中存放最大值地址
            MOVF        INDF,W      ;W中总是存放最大值
LOOP49      INCF        FSR,F
            DECFSZ      TEMP1,F
            GOTO        LOOP48
            MOVWF       SOU
            RETURN
RECOVER2    SUBWF       INDF,W      ;恢复W
            GOTO        LOOP49
NOPLUS      INCF        FSR,F
            DECFSZ      TEMP1,F
            GOTO        LOOP51
            MOVF        SADR,W
            SUBWF       FSR,W       ;重新恢复字节数
            CALL        FSUMA       ;无符号数的最大值即有符号数的最大值
            RETURN
            INCLUDE     "FSUMA.ASM"
           ENDIF

⌨️ 快捷键说明

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