版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 从210
4、0H 开始存放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, 0063H3.统计负数正数从2100H 开始存放100个无符号数,统计有多少个正数,多少个负数。负数个数存入2200HMOV SI, 2100HMOV CX, 0064HXOR DL,
5、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 MOV 304
6、0H ,ALHLT4.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的值最大,VAR3的值最 小。由于变量
7、中存放的数据为无符号数,因此应该采用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:DATA,SS:STA
8、CKSTART: 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,00H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业健康促进医疗安全风险防范
- 《老年衰弱门诊服务规范》编制说明
- 黑龙江2025年黑龙江省中医药科学院招聘99人笔试历年参考题库附带答案详解
- 长沙2025年湖南长沙麓山外国语实验中学编外合同制教师招聘29人笔试历年参考题库附带答案详解
- 职业倦怠的神经内分泌标志物与心理支持
- 通化2025年吉林通化师范学院招聘笔试历年参考题库附带答案详解
- 眉山2025年四川眉山彭山区招聘教育类高层次专业技术人才19人笔试历年参考题库附带答案详解
- 渭南2025年陕西渭南高新区选调紧缺学科专任教师25人笔试历年参考题库附带答案详解
- 济宁山东济宁市教育局北湖度假区分局所属事业单位引进急需紧缺教师25人笔试历年参考题库附带答案详解
- 江西2025年江西豫章师范学院招聘专职辅导员和专职思政课教师13人笔试历年参考题库附带答案详解
- 毕业论文写作与答辩(第三版)课件 专题一 破冰起航
- 2025年市场监督管理局招聘面试题及答案
- 社区调解案例讲解
- 中药离子导入治疗技术
- T-CEMA 027-2025 自血穴位注射疗法技术操作规范
- 股东合作协议出资协议书
- (高清版)DB31∕T 1578-2025 微型消防站建设与运行要求
- DB42T 1279-2017 机动车检验检测机构资质认定评审通 用指南
- 应急测绘服务方案(3篇)
- 2025至2030年中国移动充电车行业市场全景评估及发展策略分析报告
- 铁路项目部管理制度
评论
0/150
提交评论