资源描述:
《汇编语言实验3顺序结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统原理实验报告实验名称:顺序结构程序设计姓名:xxx学号:xxxxxxxxx班级:xxxxxxx指导老师:罗辛一、实验内容1、 汇编语言提供了“乘法”指令,在debug中可以看出运行机制如下:请仔细分析上面的运行记录,并根据上面的方法在debug中完成:①你的学号的“末两位数字(使用十进制,字节型)×2”的积,结果放入200号存储单元;② 你的学号的“末两位数字(使用十进制,字型)×2”的积,结果使用默认寄存器;③ 显示寄存器与存储器中的结果。要求:② debug的屏幕截图,并分析各语句的功能;② 指出各寄存器、各存储器中的结果。2、 汇编语言提供了“除法”指令
2、,在debug中可以看出运行机制如下:请仔细分析上面的运行记录,并根据上面的方法在debug中完成:①你的学号的“末两位数字(使用十进制,字型)÷2”的商,结果使用默认寄存器;②你的学号的“末八位数字(使用十进制,字型)÷100”的商,使用200号存储单元;③显示寄存器与存储器中的结果。要求:① debug的屏幕截图,并分析各语句的功能;② 指出各寄存器、各存储器中的结果。3、编程实现: 首先将FIRST字变量与SECONFD字变量相加,结果存入THIRD1存储字中,然后将FIRST与SECOND两个字变量相乘,结果存入THIRD2开始的两个字中。提示:F
3、IRST与SECOND都是字变量,因此存放和的THIRD1单元也必须是字变量。而存放积的单元THIRD2必须是双字。4、编写程序完成下式的计算,其中X、Y、Z和W均为存放32位无符号数的单元地址:W=Z-(X+6)-(Y-8) 5、编程实现综合算术运算功能:(V-(X*Y+Z-540))。其中,X、Y、Z、V均为16位带符号数,已分别装入X、Y、Z、V单元中,要求上式计算结果的商存入AX,余数存入DX寄存器。6、编写一个32位无符号数除法的程序。要求将存放在NUM1中的32位无符号数与存放在NUM2中的16位无符号数相除,结果存放在NUM3和NUM4中。根据题目要求,
4、应把存放在数据段内的被除数NUM1定义为32位,除数NUM2定义为16位,商NUM3定义为16位,余数NUM4定义为16位。提示:① 数据段定义 NUM1 DD 2A8B7654HNUM2 DW5ABCHNUM3 DWNUM4 DW ?② 32位被除数与16位除数相除的程序段MOV AX,WORDPTRNUM1MOV DX,WORDPTRNUM1+2DIV NUM2MOV NUM3,AX MOV NUM4,DX③ 本程序执行结果为: 2A8B7654H÷5ABCH=7809H
5、……25B8H7、试编写一个程序,要求把BL中的数除以CL中的数,并把其商乘以2,最后的结果存入DX寄存器中。8、编程计算24,要求将123B0H~123BAH的内存单元定义为数据段二、实验目的(1) 掌握汇编程序的基本格式和结构(2) 掌握顺序结构程序的设计方法(3) 掌握ADD、ADC、SUB、SBC、MUL、IMUL、DIV、IDIV等算术运算指令。(4) 掌握各种运算过程中各标志位的变化情况。三、实验原理操作系统原理,debug运行原理等。四、实验过程(重点部分,必须包括:实验开发环境、实验步骤、实验源程序代码及其结构分析)实验开发环境:家用windows10
6、笔记本电脑,DOSBOX虚拟环境。实验步骤:运用DOSBOX虚拟debug环境进行实验。实验源程序代码:1.-a100Moval,08Movdl,2MuldlMovwordptr[0200],axMovax,0008Movdx,2Muldx2.movax,0208movdx,5131movcx,100pushbxpushaxmovax,dxmovdx,0divcxmovbx,axpopaxdivcxmovcx,dxmovdx,bxpopbx3.assumecs:code,ds:datadatasegmentFIRSTdw0123hSECONFDdw0456hTHIRD
7、1dw0hTHIRD2dw0hdataendscodesegmentstart:movax,datamovds,axmovax,FIRSTaddax,SECONFDmovTHIRD1,axmovax,FIRSTmulSECONFDmovwordptrTHIRD2,axmovwordptrTHIRD2+2,dxmovax,4c00hint21hcodeendsendstart4.assumecs:code,ds:datadatasegmentXdd2hYdd9hZdd15hWdd0hadd6hbdd8hdataendscodesegmentstart: