付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、五类常用程序:传输数据 求最大最小值 统计正负数 排序 加法程序存储器清零或置FF1.1将1000H-1063H中的各字节内容清0(或置FFH) 1.2传输数据块将1000H-1063H中的字节内容传递到4000H-4063H2.找最大值最小值从2500H-2563H中存放着数据,把其中的最大值找出来,地址存放在3000H中3.统计负数正数从2100H 开始存放100个无符号数,统计有多少个正数,多少个负数。负数个数存入2200H4.1求 1AH+02H+31H+14H+2FH+06H=?数据1AH、0FH 、24H、4EH、18H、2DH放在3000H- 3005H处4.2求十进制计算25
2、74 89 67+ 49 78 64 95数据25 74 89 67放在2400- 2403数据49 78 64 95放在2500- 25034.3将BLOCK单元开始的10个单元数相加,结果存放入BLOCK单元。若相加过程中发生溢出,停止运算,并在DL中设置溢出标志FF.5.冒泡排序方法5.1字节型变量VAR1、VAR2和VAR3存放有3个无符号数,将其中的内容按从大到小重新排列。 解:经重新排列后,VAR1的值最大,VAR3的值最 小。由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。编程思路:通过在三个数中找出最大值,将它与VAR1单元进行交换;然后对剩余的两
3、个数进行比较,将较大值存放在VAR2中。汇编语言程序如下:5.2存放在2040H-2045H中的字节数据由大到小排列推荐精选1.1将1000H-1063H中的各字节内容清0(或置FFH) MOV SI, 1000HMOV CX, 0064HXOR AL,ALL1: MOV SI, ALINC SIDEC CXJNZ L1HLT1.2传输数据块将1000H-1063H中的字节数据内容传递到4000H-4063HMOV SI, 1000HMOV DI, 4000HMOV CX, 0064HL1: MOV AL, SI MOV DI, ALINC SIINC DIDEC CXJNZ L1HLT2.
4、从2100H 开始存放100个无符号数,求最大值并存入单元2200HMOV SI, 2100HMOV CX, 0064HXOR AL,ALL1: CMP AL, SIJNC L2 MOV AL , SI L2: INC SIDEC CXJNZ L1MOV 2200, ALHLT如果求最小值XOR AL,AL 改为MOV AL,0FFHJNC L2 改为JC L2或者 MOV SI, ALINC SI相应 MOV CX, 0063H推荐精选3.统计负数正数从2100H 开始存放100个无符号数,统计有多少个正数,多少个负数。负数个数存入2200HMOV SI, 2100HMOV CX, 0064
5、HXOR DL,DLL1: MOV AL, SIAND AL,AL(/AND AL, FFH/TEST AL, 80H)JNS L2 INC DLL2: INC SILOOP L1MOV 2200,DLHLTLOOP L1可以改为DEC CXJNZ L1求最大最小值 JNC JC求正负数用 JS JNS4.1 1AH+0FH +24H+4EH+18H+2DH=?0E计算数据1AH、0FH 、24H、4EH、18H、2DH放在3000H- 3005H处参考程序:MOV SI,3000H MOV CX,0006H XOR AL,AL AA: ADD AL,SI INC SIDEC CXJNZ AA
6、 MOV 3040H ,ALHLT推荐精选4.2求十进制计算25 74 89 67+ 49 78 64 95数据25 74 89 67放在2400- 2403数据49 78 64 95放在2500- 2503MOV SI,2400HMOV DI,2500HMOV BX,2600HMOV CX,0004HXOR AL,ALAA: MOV AL,SIADC AL,DIDAAMOV BX,ALINC SIINC DIINC BXLOOP AAHLT5.冒泡排序方法5.1字节型变量VAR1、VAR2和VAR3存放有3个无符号数,将其中的内容按从大到小重新排列。 解:经重新排列后,VAR1的值最大,VA
7、R3的值最 小。由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。编程思路:通过在三个数中找出最大值,将它与VAR1单元进行交换;然后对剩余的两个数进行比较,将较大值存放在VAR2中。汇编语言程序如下:STACK SEGMENT STACK 'STACK' DW 100H DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTVAR1DB 46H ;先假设一组值,以便检验程序设计的正确性VAR2DB 15HVAR3DB 0A2HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES
8、:DATA,SS:STACKSTART: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX, STACK推荐精选 MOV SS, AX LEA SP,TOP MOV AL,VAR1;用户编写的程序 CMP AL,VAR2 JAE NO_CHG1 XCHG AL,VAR2NO_CHG1: CMP AL,VAR3 JAE NO_CHG2 XCHG AL,VAR3NO_CHG2: MOV VAR1,AL;最大值保存到VAR1 MOV AL,VAR2 CMP AL,VAR3 JAE NO_CHG3 XCHG AL,VAR3 MOV VAR2,AL;次大值保存到VAR2NO_CHG3: MOV AH,4CH;返回DOS操作系统 INT 21HCODE ENDS END START程序执行后,(VAR1)0A2H,(VAR2)46H,(VAR3)15H,说明程序设计正确。一般来说,在程序结束处,应该使之返回到DOS状态,以便进行其它操作。 当要排序的数据为有符号数时,只需要将程序中相应的JAE指令改成JGE指令。存放在2040H-2045H中的字节数据由大到小排列AA: MOV DL,00HMOV SI,2400HMOV CX,0006HDEC CXL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年成人高考市场营销本科考哪些科目?用什么软件听课刷题
- 2026 年尘肺病慢病护理宣讲
- 2026 年内镜中心护理质控管理工作分享
- 2026 年内镜中心胃肠镜检查护理配合课件
- 2026 年口腔黏膜溃疡护理分享
- 2026 年猩红热护理个案研讨宣讲
- 胸腔积液教学查房-右侧大量积液查因总结2026
- 部编版八年级上册语文第五单元字词
- 2026年《花卉学》期末考试模考模拟试题附答案详解(黄金题型)
- 2026年保密知识测试(二)
- 2026赫章鑫晨建工(集团)有限公司招聘20名工作人员笔试备考试题及答案详解
- GB/T 47826-2026航空航天系列阻燃磷酸酯液压油技术规范
- 新能源汽车保养维修手册
- APQP与PPAP培训课件教学课件
- 内部合伙人制度及股权激励方案(珍藏版)
- 视频监控设备测试方案
- 2025年留疆战士考试题(附答案)
- GB/T 3033-2025船舶与海上技术管路系统内含物的识别颜色
- 教师资格条例解读
- 专题22 语法填空(全国)十年(2016-2025)高考《英语》真题分类汇编
- 【杭州律协】2025商业诋毁不正当竞争案例研究白皮书
评论
0/150
提交评论