汇编语言实现快速冒泡排序
DATAS SEGMENT
DATA DB 24,18,-8,-16,66,56,86,6,10,98
COUNT DB 10,10
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,ES:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV ES,AX
MOV BL,1 ;改进版本,用BL来检验是否排序完成,减少循环次数
LOOP1:
CMP BL,0
JE DATAOUT ;ZF=1,若相等或为0,则跳转
XOR BL,BL ;用逻辑异或将BL清零
MOV CL,COUNT ;COUNT用于外层的计数
DEC CL ;CL减一,CL用于内层的计数
PUSH CX ;将CX压入堆栈
LEA DI,DATA ;将数据段首地址赋值给DI
LOOP2:
MOV AL,[DI]
CMP AL,[DI+1] ;将前一个数与后一个数比较
JLE LOOP3 ;ZF=1或SF!=OF 若前一个数小于或等于后一个数,则跳转到LOOP3
XCHG [DI+1],AL ;前者大于后者,则交换两数
MOV [DI],AL ;如果前一个数字大于后一个数字,则交换
MOV BL,1
LOOP3:
INC DI ;指针加一
LOOP LOOP2 ;循环L00P2,直到CX==0成立
POP CX ;将CX从堆栈中弹出
MOV COUNT,CL ;改变外层计数器的值
JMP LOOP1
DATAOUT:
MOV CL,10 ;开始数据输出
LEA DI,DATA ;载入数据段(数组)首地址
NEXT:
MOV AX,0 ;输出下一个数
MOV BH,2 ;输出的数字之间的空格
MOV AL,[DI] ;取数
CMP AL,0
JGE NON ;如果是非负数,则跳至NON
NEG AL ;若是负数,将AL中的负数取补转成对应的正数
PUSH AX ;INT 21H 中断将会有一个返回值
MOV AH,2 ;同时显示负数的标记‘-’
MOV DL,"-" ;注意这个时候 AX 的值会因为 21H中断的调用而改变, 所以先要保存起来
INT 21H ;若是负数,在屏幕上显示‘-’号
POP AX ;某些中断之后AX会改变
NON: XOR AH,AH ;将AH清零
DIV COUNT+1 ;除以10取十位
MOV DH,AH ;AH是余数,AL是商(如果是个位数,则AL为零)
CMP AL,0
JE SINGLE ;如果AL为零(个位数),则跳转到DIR,直接输出十位数
ADD AL,30H ;将数字转换成ASC码
MOV DL,AL ;数字放入DL,在屏幕输出
MOV AH,2
INT 21H ;显示十位上的数值
SINGLE:
MOV AL,DH ;将余数(个位数)放入AL
XOR AH,AH ;将AH清零
ADD AX,3030H
MOV DL,AL ;所以最好在显示时判断是否是大于100或者小于100再根据判断结果来处理 DIV
OUTP:MOV AH,2 ;显示输出功能
INT 21H ;显示个位数
DEC BH ;BH减一
JZ XT ;若相等或为0,则跳转
MOV DL,BL ;BL为零,屏幕输出空格
JMP OUTP
XT: DEC CL ;输出数组下一个
JZ DONE ;如果ZF标志位为零(CL为零),则程序完成
INC DI ;数组指针+1
JMP NEXT ;继续输出数组下一个数
DONE: MOV AH,1 ;键盘输入并回显功能,目的是使程序输出窗口暂停,以便看到输出结果
INT 21H
MOV AH,4CH ;带返回码结束功能
INT 21H ;返回系统
CODES ENDS
END START
遨博智能深耕协作机器人领域给机器人一颗中国心你见过机器人泡茶吗?在江苏常州遨博智能机器人展示中心里,机器人的一只手臂夹起茶匙,灵活地从茶罐里取出一匙茶叶另一只手臂将壶盖轻轻拿起,茶叶被精准地放入茶壶整套动作灵活精准快速,用时
用于Web开发的Javascript与Python目录什么是Python?什么是JavaScript?JavaScript和Python的区别因素Python与JavaScript2022年选择哪种编程语言?Web开发正在成为IT
27C1U4K显示器发布400nit亮度96DCIP3色域据techpowerup消息,中国显示器品牌INNOCN世纪联合创新,今日在海外发布了27C1U27英寸4K液晶显示器。产品将于1月15日开售。该产品针对平面设计师等用户推出,三边
15年过去,还没有品牌在销量上超越诺基亚看似现在智能手机领域百花齐放百家争鸣,事实上大家已经明白智能手机已经出现垄断的现象。真正可供选择的也就头部那五六个品牌,其它二三线品牌的生存空间正一点一点地在缩小。更有意思的是截至
耳朵听了会怀孕?我实名推荐JBL品质音箱在这个看脸的时代,蓝牙音箱也要靠颜值吃饭!在我的心中,JBL出品的音箱颜值都很在线,我也购买过他家的很多音箱,我今天就来给你们盘点一下4款JBL家的高颜值音箱吧!第一款JBLFLI
诚意满满的大屏娱乐旗舰魅族16T体验前言其实看头图就能知道,我是一个十几年的老魅友了。想当年读大学的时候,从微型计算机杂志上看到了E2的广告,第一次知道了这个品牌。那个时候魅族才刚刚从代工厂发展起来,还为其他一些品牌
java爬虫标准流程(简约版)importcom。sun。xml。internal。messaging。saaj。util。ByteOutputStreamimportjava。io。InputStreamim
开启绿色冬奥之旅,氢燃料电池汽车为何受青睐中国商报(记者赵熠如)日前,国家电投集团在京举办2022年北京冬奥会氢能客车启用仪式。作为更绿色的新能源汽车,氢燃料电池汽车受到了北京冬奥会的青睐。氢燃料电池汽车陆续交付近日,在北
腾讯员工坐标csig,被打两星,当场和leader表达不满,年后离职坐标腾讯csig某实验室,因为被打两星,当场和leader表达不满,说年后离职,leader居然让我等到六七月离职,这样我来了两年半,可以拿到四个月补偿。这其实就是一星,n1吧,该
Mysql5。7及以上版本修改密码登录数据后。选择mysql数据库usemysql修改密码updateusersetauthenticationstringPASSWORD(mynewpassword)whereu
Rust学习笔记(四十)闭包实例(简单缓存)针对三十九节中Cacher实现的限制,我们可以用HashMap代替结构体中的单个value。HashMap的key就是我们传入闭包的参数,value就是闭包执行的结果。当我们调用v
美国抵制新疆棉,其中还有隐情最近一段时间,网上铺天盖地都是关于美国抵制新疆棉的新闻,什么耐克阿迪达斯HM等等企业都宣布拒绝使用新疆棉,不仅如此,还限制其供应商也不许使用新疆棉。除了线下实体店的疯狂打压之外,线
AppleSiliconM124英寸iMac测评一个月前,苹果继续在Mac上无情地摧毁了英特尔。最新的AppleSiliconMac是对iMac产品线的更新,但是这次苹果没有像过去那样重复使用以前的处理器体系结构的机箱,而是全力
Apple允许您指定在您死后谁可以访问您的账户在周一的WWDC2021活动中,Apple宣布,从今年秋季开始的iOS15和macOSMonterey操作系统更新开始,将可以指定在您死亡的情况下谁可以访问您的账户。新功能称为数字
Apple的新MacPro计划当苹果计划从英特尔处理器转移到自己的芯片时,很多人担心苹果能否与英特尔竞争,但苹果用M1证明了自己有能力制造强大的芯片。苹果不仅有能力生产打破基准的处理器,而且有能力生产让英特尔的
如何使用iCloud备份您的MacApple的iCloud是一种易于使用的方案,用于从iPhoneiPad和Mac备份照片视频文档和其他重要数据。您可以订阅各种存储计划,从每月0。79英镑0。99美元到2TB每月6
WWDC2021新产品抢先看苹果全球开发者大会(WWDC)的产品发布则更难预测。正如你在WWDC的历史文章中读到的,苹果公司的一些大产品已经在WWDC上宣布或发布,比如iPhone3G,3GS和4,各种各样的
这就是Mac比PC更好的原因我们列出了您下次购买新电脑时应该选择Mac的15个充分理由。Mac操作系统Windows没有任何问题,但Mac操作系统有一些非常特别的地方。MacOS是最精致的Unix系统,现在结
对比iPhone12Pro与iPhone12普通型号是否足够好这是一个新的开始,因为iPhone12iPhone12proiPhone12mini和iPhone12promax是有史以来第一款具有5G连接的iPhone设备。可iPhone12
如何在macOS旋转显示器并垂直使用它您不必总是保持横向显示,可以将第二个屏幕变成垂直显示器并调整macOS以使用它,这样不仅可以改善主显示器上的图像,而且可以同时连接到你的Mac,增加你在执行任务时必须使用的工作空间
2021年12。9英寸iPadPro测评2021iPadPro是苹果高端平板电脑向前迈出的重要一步。凭借M1处理器Thunderbolt3连接升级的摄像头和闪亮的新显示屏,iPadPro比以往任何时候都更接近实现其潜力。
苹果iOS15正式发布,新功能抢先看苹果召开WWDC21全球开发者大会上正式公布了全新iOS15系统,这是该公司针对iPhone的下一个重大更新,带来了全新FaceTime与通知界面,并对照片天气钱包地图等应用进行了