操作系统原理 实验报告
实验名称:姓 名:学 号:班 级:指导老师:
顺序结构程序设计 xxx xxxxxxxxx xxxxxxx 罗辛
一、实验内容
1、 汇编语言提供了“乘法”指令,在debug中可以看出运行机制如下:
请仔细分析上面的运行记录,并根据上面的方法在debug中完成: ① 你的学号的“末两位数字(使用十进制,字节型)×2”的 积,结果放
入200号存储单元;
② 你的学号的“末两位数字(使用十进制,字型)×2”的 积,结果使用
默认寄存器;
③ 显示寄存器与存储器中的结果。 要求:
② debug的屏幕截图,并分析各语句的功能; ② 指出各寄存器、各存储器中的结果。
2、 汇编语言提供了“除法”指令,在debug中可以看出运行机制如下:
请仔细分析上面的运行记录,并根据上面的方法在debug中完成: ① 你的学号的“末两位数字(使用十进制,字型)÷2”的商,结果使用默认寄存器;
② 你的学号的“末八位数字(使用十进制,字型)÷100”的商,使用200号存储单元;
③ 显示寄存器与存储器中的结果。 要求:
① debug的屏幕截图,并分析各语句的功能; ② 指出各寄存器、各存储器中的结果。 3、编程实现:
首先将FIRST字变量与SECONFD字变量相加,结果存入THIRD1存储字中,然后将FIRST与SECOND两个字变量相乘,结果存入THIRD2开始的两个字中。
提示:FIRST与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中。根据题目要求,应把存放在数据段内的被除数NUM1定义为32位,除数NUM2定义为16位,商NUM3定义为16位,余数NUM4定义为16位。 提示:
① 数据段定义 NUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW NUM4 DW ?
② 32位被除数与16位除数相除的程序段 MOV AX,WORD PTR NUM1 MOV DX,WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX
③ 本程序执行结果为:
2A8B7654H÷5ABCH=7809H……25B8H
7、试编写一个程序,要求把BL中的数除以CL中的数,并把其商乘以2,最后的结果存入DX寄存器中。
8、编程计算24,要求将123B0H~123BAH的内存单元定义为数据段
二、实验目的
(1) 掌握汇编程序的基本格式和结构 (2) 掌握顺序结构程序的设计方法
(3) 掌握ADD、ADC、SUB、SBC、MUL、IMUL、DIV、IDIV等算术运算指令。
(4) 掌握各种运算过程中各标志位的变化情况。
三、实验原理
操作系统原理,debug运行原理等。
四、实验过程
(重点部分,必须包括:实验开发环境、实验步骤、实验源程序代码及其结构分析)
实验开发环境:家用windows 10 笔记本电脑,DOSBOX虚拟环境。 实验步骤:运用DOSBOX虚拟debug环境进行实验。 实验源程序代码:
1.