📄 fdkw.asm
字号:
;********************FDKW********************
;本程序实现在双字节数据块中顺序查找特定值(即关键字)。
;入口参数:关键字在SOUH:SOU中,数据块首址在SADR中,数据个数在W中。
;出口参数:如果找到,则其地址在SADR中,且STATUS:C为0,如果没找到,则STATUS:C为1。
;占用资源:W,STATUS,FSR,020H,024H,025H,028H,一重堆栈。
;说 明: 1.如果有多个数据等于特定值,则只能给出第一个的地址.
; 2.本程序的执行对原数据块并无影响.
IFNDEF FDKW1
#DEFINE FDKW1
FDKW MOVWF TEMP1
MOVF SADR,W
MOVWF FSR
LOOP59 MOVF INDF,W
SUBWF SOU,W
BTFSS STATUS,Z
GOTO NEXT28
INCF FSR,F
MOVF INDF,W
SUBWF SOUH,W ;低位相等的情况下判断高位
BTFSC STATUS,Z
GOTO DONE7 ;如果高位也相等则找到关键字
NEXT27 INCF FSR,F
DECFSZ TEMP1,F
GOTO LOOP59
BSF STATUS,C
RETLW 1
NEXT28 INCF FSR,F
GOTO NEXT27
DONE7 DECF FSR,W
MOVWF SADR
BCF STATUS,C
RETLW 0
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -