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

📄 flonrm.asm

📁 微芯公司的PIC子程序库及运算平台
💻 ASM
字号:
;********************FLONRM********************
;本程序实现非标准浮点数左规格式化。
;入口参数:原浮点数在ARGBH1:ARGBL1:EXP1中。
;出口参数:结果在ARGBH1:ARGBL1:EXP1中。
;占用资源:W,STATUS,020H,021H,023H,024H,025H,029H,一重堆栈。

           IFNDEF       FLONRM1 
            #DEFINE     FLONRM1

FLONRM      MOVLW       0C0H
            ANDWF       FPFLAGS,F
            CLRF        TEMP2       ;指数减少量清0
            MOVF        ARGBH1,W    
            BTFSS       STATUS,Z    ;尾数高字节为0吗?
            GOTO        NORM2424
            MOVF        ARGBL1,W    ;左移8位
            MOVWF       ARGBH1
            BTFSC       STATUS,Z    ;结果为0吗?
            GOTO        RES024
            CLRF        ARGBL1
            BSF         TEMP2,3
NORM2424    MOVF        TEMP2,W
            SUBWF       EXP1,F
            BTFSS       STATUS,Z
            BTFSS       STATUS,C
            GOTO        SETFUN
            BCF         STATUS,C    ;清除进位位
NORM2424A   BTFSC       ARGBH1,MSB  ;如果MSB=1,格式化完成
            GOTO        FIXSIGN24
            RLF         ARGBL1,F    ;否则,尾数左移,指数减1
            RLF         ARGBH1,F    
            DECFSZ      EXP1,F
            GOTO        NORM2424A
            GOTO        SETFUN      ;如果EXP1=0,则发生下溢
           ENDIF

⌨️ 快捷键说明

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