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