
16位汇编实现三大基本排序
发布日期:2021-05-19 04:41:15
浏览次数:19
分类:博客文章
本文共 1467 字,大约阅读时间需要 4 分钟。
最近得补补16, 32, 64位的汇编,还是16位的汇编好玩尤其是使用debug调试的时候:)
选择排序
;把数据从大到小排列;选择法排序assume cs:code,ds:datadata segment BUFFER db 1 dup(12h,31h,22h,44h,18h,99h,10h,2h,64h)data endscode segment start:mov ax,data mov ds,ax mov si,offset BUFFER mov cx,9 dec cx s0:push cx mov di,si mov al,[di] mov bx,di s1:inc di cmp al,[di] jna p mov al,[di] mov bx,di p:loop s1 xchg [si],al xchg [bx],al inc si pop cx loop s0 mov ax,4c00h int 21h code endsend start
冒泡排序
;冒泡法排序assume cs:code,ds:datadata segment BUFFER db 12h,31h,22h,44h,18h,99h,10h,2h,64hdata endscode segment start:mov ax,data mov ds,ax mov si,offset BUFFER mov cx,9 dec cx s:push cx mov di,si s0:mov bl,[di] cmp bl,[di+1] jna s1 xchg bl,[di+1] xchg bl,[di] s1:inc di loop s0 pop cx loop s mov ax,4c00h int 21h code endsend start
插入排序
;插入法排序;(有序系列扩大排序)assume cs:code,ds:data data segment BUFFER db 12h,31h,22h,44h,18h,99h,10h,2h,64hdata endscode segment start:mov ax,data mov ds,ax mov si,offset BUFFER inc si mov cx,8 s1:mov bx,si ;随着循环的进行有序序列不断扩大 s:mov al,[si] cmp al,[si-1] ja s0 xchg al,[si-1] xchg al,[si] cmp si,1 jna s0 dec si jmp s s0:mov si,bx inc si loop s1 mov ax,4c00h int 21h code endsend start
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月18日 04时12分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
输出对象的值——踩坑
2019-03-15
angular2项目里使用排他思想
2019-03-15
折线图上放面积并隐藏XY轴的线
2019-03-15
zabbix之自动发现
2019-03-15
Experience of tecent interview
2019-03-15
failed to push some refs to git
2019-03-15
在苹果Mac上如何更改AirDrop名称?
2019-03-15
1110 Complete Binary Tree (25 point(s))
2019-03-15
541【毕设课设】基于单片机电阻电感电容RLC测量仪系统
2019-03-15
568【毕设课设】基于单片机多路温度采集显示报警控制系统设计
2019-03-15
基于8086交通灯系统仿真设计(微机原理设计资料)
2019-03-15
解读域名管理之:域名注册机构介绍
2019-03-15
找中位数
2019-03-15
这些运维发展方向及系统运维技能都不了解,怎么能吃透Linux??
2019-03-15
自动化测试——UI自动化测试的痛点
2019-03-15
如何将萌推商品主图、属性图、详情图批量保存到电脑的方法
2019-03-15
2021年N1叉车司机模拟考试及N1叉车司机考试软件
2019-03-15
【奇淫巧技】Java动态代理(JDK和cglib)
2019-03-15
MP4修改元数据日志记录
2019-03-15