📄 taleb.asm
字号:
;********************TALEB********************
;本程序实现标准浮点数比较大小。
;入口参数:A在ARGBH1:ARGBL1:EXP1中,B在ARGBH2:ARGBL2:EXP2中。
;出口参数:如果A<=B,则W=1,否则W=0。
;占用资源:W,STATUS,020H~02BH,一重堆栈。
IFNDEF TALEB1
#DEFINE TALEB1
TALEB MOVF AARGB0,W ; test if signs opposite
XORWF BARGB0,W
MOVWF TEMP
BTFSC TEMP,MSB
GOTO TALEB24O
BTFSC AARGB0,MSB
GOTO TALEB24N
TALEB24P MOVF AEXP,W ; compare positive arguments
SUBWF BEXP,W
BTFSS STATUS,C
RETLW 0x00
BTFSS STATUS,Z
RETLW 0x01
MOVF AARGB0,W
SUBWF BARGB0,W
BTFSS STATUS,C
RETLW 0x00
BTFSS STATUS,Z
RETLW 0x01
MOVF AARGB1,W
SUBWF BARGB1,W
BTFSS STATUS,C
RETLW 0x00
RETLW 0x01
TALEB24N MOVF BEXP,W ; compare negative arguments
SUBWF AEXP,W
BTFSS STATUS,C
RETLW 0x00
BTFSS STATUS,Z
RETLW 0x01
MOVF BARGB0,W
SUBWF AARGB0,W
BTFSS STATUS,C
RETLW 0x00
BTFSS STATUS,Z
RETLW 0x01
MOVF BARGB1,W
SUBWF AARGB1,W
BTFSS STATUS,C
RETLW 0x00
RETLW 0x01
TALEB24O BTFSS BARGB0,MSB
RETLW 0x01
RETLW 0x00
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -