⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复件 sort_s2.asm

📁 这是我最近一段时间编的一些弹片机的小程序,上面有大量的注释,一般都会看懂
💻 ASM
字号:
org 0000h
jmp 40h 
org 40h
mov r7,#3
mov r0,#40h
;***********************************************************************************
;子程序:SORT_S
;功能:实现双字节无符号数据块排序(增序)
;入口条件:数据块的首址在R0中,字节数在R7中
;出口信息:完成排序(增序)
;说明:SORT代表排序,S代表双字节
;***********************************************************************************
SORT_S:
       dec r7
       mov a,r7
       mov r3,a        ;r3保存外层循环比较次数
       mov a,r0
       mov r1,a        ;R1存放R0值,比较的基准位置,便于外层循环的进行
outloop:
        mov a,r7
        mov r3,a
        mov a,r1
        mov r0,a
                            
CMP1:  mov a,@r0
       mov r2,a
       inc r0
       inc r0
       
       subb a,@r0
       jnc high1   ;前面的大于后面的
       jz equl1  ;高字节相等
       jc low1    ;前面的小于后面的 bug       

high1: mov a,r2  ;高字节前面的大于后面的,则交换
       xch a,@r0
       dec r0
       dec r0
       mov @r0,a ;高字节交换,xiao fang qian
       inc r0
       mov a,@r0
       inc r0
       inc r0
       xch a,@r0
       dec r0
       dec r0
       mov @r0,a  ;低字节xiao fang qan
       inc r0     ;程序执行把大树放在后面
       djnz r3,CMP1
       djnz r7,outloop
       jmp $
       ret
equl1: dec r0    ;高字节相等,需比较低字节
       mov a,@r0
       mov r2,a
       inc r0
       inc r0
       subb a,@r0
       jnc  high2
high2: mov a,r2    ;低字节比较时前面的大
       xch a,@r0
       dec r0
       dec r0
       mov @r0,a
       dec r0
       mov a,@r0
       mov r2,a
       inc r0
       inc r0
       xch a,@r0
       dec r0
       dec r0
       mov a,r2
       mov @r0,a
       ret
low1:  ret     
            
       
                    
       





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -