📄 dbsqr.asm
字号:
;********************DBSQR********************
;本程序实现单字节二进制数开平方。
;入口参数:原数据N在SOUH:SOU中。
;出口参数:结果在SOU中。
;占用资源:W,STATUS,024H,025H,028H,029H,一重堆栈。
;说明: 结果小于或等于真实值.
IFNDEF DBSQR1
#DEFINE DBSQR1
DBSQR MOVLW 0F0H
ANDWF SOUH,W
BTFSC STATUS,Z
GOTO NEXT55
MOVLW 10H
SUBWF SOUH,F ;N-1000H
MOVLW 81H
MOVWF TEMP1 ;n=64
GOTO NEXT56
NEXT55 MOVLW 1
MOVWF TEMP1
NEXT56 CLRF TEMP2 ;TEMP2:TEMP1=2n+1
NEXT37 MOVF TEMP1,W
SUBWF SOU,F
MOVF TEMP2,W
BTFSS STATUS,C
ADDLW 1
SUBWF SOUH,F ;减法(2n+1)-N
BTFSS STATUS,C
GOTO DONE11
MOVLW 2
ADDWF TEMP1,F
BTFSC STATUS,C
INCF TEMP2,F
GOTO NEXT37
DONE11 BCF STATUS,C
RRF TEMP2,W
MOVWF SOUH
RRF TEMP1,W
MOVWF SOU ;SOUH:SOU=n
RETLW 0
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -