已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辽宁工程技术大学上机实验报告成绩课程名称计算机硬件基础实验题目简单程序设计院系软件学院专业软件工程班级10-03班姓名章睿学号1020010331实验日期2012-10-25实验目的1熟练掌握宏汇编程序设计的思想。2掌握顺序程序设计的思想及方法。3熟练掌握分支程序的结构。4掌握分支程序设计的思想、方法及上机调试过程。实验准备 18086/8088宏汇编指令及伪指令 2汇编语言程序设计的步骤 3顺序程序设计的思想和方法 4分支程序设计的思想和方法实验进度本次共有 3 个练习,完成 3 个。实验内容实验内容(续)【练习1】编写一个程序,计算表达式(XY-Z)/X的值,其中:X、Y、Z均为16位带符号数,存放在数据段中,要求将表达式的计算结果存放在数据段中的RESULT起始的单元中。(1) 实现方法 数据段中定义4个十六位存储单元分别为X、Y、Z、RESULT,并将运算结果存在RESULT中。(2) 程序代码DATA SEGMENT X DW ? Y DW ? Z DW ? RESULT DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX ,DATA MOV DS, AX MOV AX, X IMUL Y MOV CX,AX MOV BX,DX MOV AX ,Z CWD SUB CX,AX SBB BX,DX MOV AX, CX MOV DX ,BX IDIV X MOV RESULT, AX MOV AH, 4CH INT 21HCODE ENDSEND START【练习2】 设数据区中NUM1、NUM2字节单元中存放的是两个无符号数,试编写程序完成下述功能之一的操作:如果两个数均为偶数,则两个数分别加1后送入DA1、DA2字节单元中;如果一个为偶数,一个为奇数,则奇数送入DA1,偶数送入DA2字节单元中;如果两个数均为奇数,则两个数分别送入DA1、DA2字节单元中;实验内容 (续)实验内容(续)(1) 实现方法数据段中定义四个8位存储单元,分别为NUM1、MUN2、DA1、DA2,汇编时运用-E命令修改段内数据NUM1、NUM2的值,再运行,并将结果根据题目要求返回DA1、DA2中。(2) 程序代码DATA SEGMENT NUM1 DB ? NUM2 DB ? DA1 DB ? DA2 DB ?DATA ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DATASTART: MOV AX,SEG DATA MOV DS,AX MOV AL,NUM1 MOV DL,NUM1 MOV BL,NUM2 AND AL,1 JZ OU JNZ JIOU : MOV AL,NUM2 AND AL,1 JNZ OU1 INC DL MOV DA1,DL INC BL MOV DA2,BL JMP EXITJI : MOV DA1,DL MOV DA2,BL JMP EXITOU1 : MOV DA2,DL MOV DA1,BL JMP EXITEXIT : MOV AH,4CH INT 21HCSEG ENDS END START【练习3】在内存BUFFER单元中存有10个8位数,试编程找出其中的最大值及最小值,并放在指定的存储单元MAX和MIN中。(1) 实现方法 在数据段中定义一个字节型数据缓冲区BUFFER,长度为10,并写入数据,并定义将其起始地址指向2000H,在数据段中定义两个字节存储单元分别为MAX,MIN,并将其起始地址定义指向2010H。在代码段,将BUFFER的偏移地址传递给BX,然后进行比较,最后将最大值存入MAX单元中,将最小值存入MIN单元中(2)程序代码DATA SEGMENT ORG 2000H BUFFER DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,10H ORG 2010H MIN DB ? MAX DB ?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART : MOV AX,DATA MOV DS,AX LEA BX,BUFFER MOV AL,BX MOV DL,BX MOV CX,10MA : CMP AL,BX JNL MI MOV AL,BXMI : CMP DL,BX JNG BB MOV DL,BXBB : INC BX LOOP MA MOV MAX,AL MOV MIN,DL MOV AH,4CH INT 21HCODE ENDS END START实验分析【练习1】(1)该源程序取名suanfa.ASM,通过汇编、连接后生成可执行文件suanfa.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察上面数据可得起始地址为17ED,接下来我用-E命令来对内存中的数据进行修改赋值,并运行,查看结果对X、Y、Z分别赋值0002H,0003H,0004H,运算的出来的结果为0001H实验分析(续)日【练习2】(1) 该源程序取名jos.ASM,通过汇编、连接后生成可执行文件jos.EXE,运行该文件显示的内容如下:(2)调试方法和运行结果利用U命令观察上面数据可得起始地址为17ED,接下来我用-E命令来对内存中的数据进行修改赋值,并运行,查看结果因为根据题目要求,对输入的数据分三种情况进行运算,我第一次赋值都为偶数:实验分析(续) 第二次赋值一奇一偶:第三次赋值都为奇数:这三次运行结果都满足题目要求【练习3】 (1)该源程序取名maxmin.ASM,通过汇编、连接后生成可执行文件maxmin.EXE,运行该文件显示的内容如下:实验分析(续) (2)调试方法和运行结果:利用U命令观察上面数据可得起始地址为17ED,BX的首地址指向2000H,运行后,查看结果:从2000H开始存入数据缓冲区的十个字节型数据,从2010H开始依次存入MIN,MAX实验总结【练习1】1 存在的问题 字型数据实现乘法运算后,变成双字型数据,不能与字型数据进行加减法运算,需要通过CWD命令将字型数据扩展成双字型数据。2 实验结论 通过对数据段的定义和代码段的编写,通过汇编程序的调用编译,实现了数据类型之间的转换和算术运算3 收获和体会 初步掌握了汇编语言中数据之间的算术运算,大致明白了汇编系统对数据的调用。【练习2】1 存在的问题 对数据奇偶性的判断如果用JP/JNP指令来判断的话,会出错,因为它们的奇偶性的转移判断是以二进制数据中的“1”的个数的奇偶性为标准的,并不是判断数据本身的奇偶性。所以可以先与1进行逻辑与运算来判断数据D0位置上的数字是多少,再通过JZ/JNZ指令来判断转移实验总结(续)2 实验结论 通过对数据段的定义和代码段的编写,通过汇编程序的调用编译,实现了数据类型之间的逻辑和段内转移3 收获和体会 初步掌握了汇编语言中数据之间的逻辑运算,以及段内转移的指令的运行规律【练习3】1 存在的问题 对于数据缓冲区的数据的定义,在这里因为是对数据的大小的比较,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年人力经理岗位专业测试题及答案
- 2026年期末白狼测试题及答案
- 2026年企业班组长测试题及答案
- 2026年皮内注射技术测试题及答案
- 2026年车险实务测试题及答案
- 2026年行行重行行测试题及答案
- 2026年动土作业安全测试题及答案
- 指数计算题目及答案
- AI在装配式建筑构件智能制造技术中的应用
- 医院会议记录制度
- HGT 2902-2024《模塑用聚四氟乙烯树脂》
- DZ∕T 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼(正式版)
- 2024年泰安市泰山医养健康集团有限公司招聘笔试冲刺题(带答案解析)
- 人教版五年级上册《道德与法治》期末试卷(加答案)
- G-T 42574-2023 信息安全技术 个人信息处理中告知和同意的实施指南
- 国家职业资格鉴定统一月嫂培训教材
- 2023年十堰市郧阳区事业单位考试试题真题及答案
- 辅酶Q10-心脏安全卫士课件
- 国家开放大学《哲学基础》形考任务1-3参考答案
- GB/T 28603-2012无水氟化氢生产技术规范
- GB/T 17451-1998技术制图图样画法视图
评论
0/150
提交评论