网站大量收购独家精品文档,联系QQ:2885784924

微机接口原理实验5.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5多重循环程序 实验内容: CODE SEGMENT org 100hASSUME CS:CODE,DS:CODE org 100h ASSUME CS:CODE,DS:CODE MAIN: JMP START ARRAY DW 1234H,5673H,7FFFH,8000H,0DFFH DW 0AB5H,0369H,005FH,5634H,9069H COUNT EQU $-ARRAY START: MOV CX,COUNT SHR CX,1 除以2, 表示有10个数 DEC CX MOV BL,-1 AGAIN: MOV DX,CX .com文件定义一个代码段 数据定义 当前地址-首地址 占20个字节 逻辑右移一位,婴儿湿疹用什么药 提前结束 BL BL 为 0 转 EXIT BL,SI 赋 0 AND BL,BL JE EXIT XOR BL,BL XOR SI,SI AGAIN1: MOV AX,ARRAY[SI] CMP AX,ARRAY[SI+2] JLE NCHG XCHG ARRAY[SI+2],AX MOV ARRAY[SI],AX MOV BL,-1 NCHG: INC SI INC SI DEC DX JNZ AGAIN1 LOOP AGAIN EXIT: INT 20H ENDS END MAIN 小于等于转NCHG (有符号数) 非小于等于,互换 提前结束 SI+2 DX-1不等于0转AGAIN1 中断返回调用程序 注:此程序为对有符号数由小到大排列 实验报告 检查编译完成的 COM文件大小,并和相应的 EXE文件大小比较。 经检查,COM文件大小为69字节,比EXE文件小很多(实验 3的exe文件为698字节)。 COM文件一般比较小,其大小一般不能超过 64KB,而.EXE文件一般比较大,可以超过 64KB。且COM文件运行速度较 EXE快。 思考排序结果保存在哪里?如何查看? 排序结果保存在原来的地址当中,即 ARRAY数据定义时的地址,即 0102-0115 可以在MEMORY中输入相应的地址(0102-0115)查看。 其排序结果为: 8000H,9069H,005FH,0369H,0AB5H,0DFFH,1234H,5634H,5673H,7FFFH 3. 分别记录将转移指令 JLE 改为 JBE, JGE 和 JAE 后排序结果,并与手算结果比较。 JBE :无符号数由小到大排序 排序结果: 005FH,0369H,0AB5H,0DFFH,1234H,5634H,5673H,7FFFH,8000H,9069H JGE:有符号数由大到小排序 排序结果: 7FFFH,5673H,5634H,1234H,0DFFH,0AB5H,0369H,005FH,9069H,8000H JAE :无符号数由大到小排序 排序结果: 9069H,8000H,7FFFH,5673H,5634H,1234H,0DFFH,0AB5H,0369H,005FH 与手算结果一致。 4. 写出自编程序及绘制流程图和程序,并注释程序。 SEGMENTCODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODE MAIN:JMP START MAIN: ARRAYCOUNTSTART:DW 1234H,5673H,7FFFH,8000H,0DFFH DW 0AB5H,0369H,005FH,5634H,9069HEQU $-ARRAY MOV CX,COUNT SHR CX,1DEC CXAGAIN:MOV BL,-1MOV BH,0MOV DX,CXAND BL,BLJE EXIT给 ARRAY COUNT START: DW 1234H,5673H,7FFFH,8000H,0DFFH DW 0AB5H,0369H,005FH,5634H,9069H EQU $-ARRAY MOV CX,COUNT SHR CX,1 DEC CX AGAIN: MOV BL,-1 MOV BH,0 MOV DX,CX AND BL,BL JE EXIT 给 BH 赋初值 XOR BL,BL XOR SI,SI INC BH BH+1 AGAIN1: MOV AX,ARRAY[SI] CMP AX,ARRAY[SI+2] JLE NCHG XCHG ARRAY[SI+2],AX MOV ARRAY[SI],AX MOV BL,-1 NCHG: INC SI INC SI DEC DX JNZ AGAIN1 LOOP AGAIN EXIT: ADD BH,30H MOV DL,BH MOV AH,2 INT 21H CODE ENDS 16进制数转换为 ASC n码 DOS2 号功能调用,显示字符 END

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档