suinc.asm
来自「pic单片机常用的汇编程序,很有用的,分成各个小模块」· 汇编 代码 · 共 39 行
ASM
39 行
;********************SUINC********************
;本程序实现对单字节无符号数据块进行增序排列。
;入口参数:数据块首址在SADR中,数据个数在W中。
;出口参数:排好序的数据仍在原数据块中。
;占用资源:W,STATUS,FSR,020H,028H,029H,02AH,02BH,一重堆栈。
IFNDEF SUINC1
#DEFINE SUINC1
SUINC ADDLW 0FFH ;字节数减1是比较次数
MOVWF TEMP3 ;TEMP3暂存内循环计数值
LOOP63 MOVF TEMP3,W
MOVWF TEMP4 ;循环计数器减1
BCF TEMP1,0 ;TEMP1:0作为交换标志位
MOVF SADR,W
MOVWF FSR
LOOP62 MOVF INDF,W
INCF FSR,F
SUBWF INDF,W
BTFSC STATUS,C
GOTO NEXT30
SUBWF INDF,W
MOVWF TEMP2 ;TEMP2暂存将要交换的数
MOVF INDF,W
DECF FSR,F
MOVWF INDF
MOVF TEMP2,W
INCF FSR,F
MOVWF INDF ;完成交换
BSF TEMP1,0 ;置交换标志
NEXT30 DECFSZ TEMP4,F
GOTO LOOP62
BTFSS TEMP1,0
RETLW 0
DECFSZ TEMP3,F
GOTO LOOP63
RETLW 0
ENDIF
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?