计算机应用实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一乘法运算实验

一、实验目的:

1、了解调试程序DEBUG的常用命令和功能。

2、掌握多字节乘法运算程序的编写方法。

3、学会程序调试方法。

二、实验原理

序号命令功能

0?显示Debug命令列表。

1a汇编8086/8087/8088记忆码。

2c比较内存的两个部分。

3d显示部分内存的内容。

4e从指定地址开始,将数据输入到内存。

5f使用指定值填充一段内存。

6g运行在内存中的可执行文件。

7h执行十六进制运算。

8i显示来自特定端口的1字节值。

9l将文件或磁盘扇区内容加载到内存。

10m复制内存块中的内容

11/n为l或w命令指定文件,或者指定正在测试的文件的参数。

12o向输出端口发送1个字节的值。

13p执行循环、重复的字符串指令、软件中断或子例程。

14q停止Debug会话。

15r显示或改变一个或多个寄存器。

16s在部分内存中搜索一个或多个字节值的模式。

17t执行一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug 下一步要执行的指令的解码形式。

18u反汇编字节并显示相应的原语句。

19w将被测试文件写入磁盘。

20xa分配扩展内存。

21xd释放扩展内存。

22xm映射扩展内存页。

23xs显示扩展内存的状态。

三、实验内容:

将两个无符号数相乘,将结果数存入规定地址。

名称地址数据

被乘数2000:0000

2000:0001 2A 30

乘数2000:0002

2000:0001 15 1B

乘积2000:0004

2000:0007

四、实验报告内容:

1、实验用源程序:

开机选择“开始”→“运行”→输入“command”→输入“debug”调出debug应用程序。

Debug源程序:

D 2000:0000 ;查看部分内存内容

E 2000:0000 2A 30 15 1B ;写入数据

D 2000:0000 ;查看输入后的数据

A 回车;写程序

MOV AX,2000

MOV DS,AX

MOV AX,[0000]

MOV BX,[0002]

MUL BX ;让AX乘以DX,结果存入DX:AX MOV [0004],AX

MOV [0007],DX

INT 20H ;正常中断程序

Ctrl+M ;退出编程,由键盘输入

G ;运行程序

D 2000:0000 ;查看程序运行结果

2、实验结果分析

输出结果显示为72-61 18-05结果正确。

实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。实验中发现输入的大小写对程序的结果没有影响。

实验二除法运算实验

一、实验目的:

1、了解调试程序DEBUG的常用命令和功能。

2、掌握多字节除法运算程序的编写方法。

3、学会程序调试方法。

二、实验内容:

将两个无符号数相除,将结果数存入规定地址。

被除数和除数的存放地址及数据如下:

名称地址数据

被除数除数2000:0010~0013

2000:0014~0015

2A3B4C5D

7C5D

商余数2000:0016~0017 2000:0018~0019

数据低位在前,高位在后。

三、实验报告内容:

1、实验用源程序

按照实验一中的方法调出debug:

Debug源程序:

D 2000:0000 ;查看部分内存内容

E 2000:0000 5D 7C 5D 4C 3B 2A ;写入数据

D 2000:0000 ;查看输入后的数据

A ;写程序

MOV AX,2A3B

MOV DX,4C5D

MOV BX,7C5D

MOV AX,[0010]

MOV DX,[0012]

MOV BX,[0014]

DIV BX ;被除数DX:AX除BX,商存入AX,余数存

到DX

MOV [0016],AX

MOV [0018],DX

INT 20H ;正常中断程序

Ctrl+M ;退出编程,由键盘输入

G ;运行程序

D 2000:0000 ;查看程序运行结果

2、实验结果分析

实验正确结果:7D-FF 9E-11

实验中应注意的问题,在输入数值时应高低位颠倒输入,程序运

算时是先进后出。遇到的问题:当输入正序时得到的结果是

EE-56 E7-6F(为错误结果)。

实验三数据转换实验

一、实验目的:

1、进一步掌握DEBUG使用方法。

2、掌握数制转换程序的编写方法。

3、学会调试循环程序和子程序方法。

二、实验内容:

将单元2000:0000~003中的8位十进制数35,26,38,74(数据高位在前,低位在后),转换成二进制数,存入单元2000:0004~0007中。

在编写程序时,要充分利用循环程序和调用子程序的方法来简化程序设计,并注意循环的地址及子程序入口地址的设置方法。

三、实验报告内容:

1、实验用源程序

STACKS SEGMENT STACK ;堆栈段

DW 128 DUP(?) ;只有128个字节STACKS ENDS

DATAS SEGMENT ;数据段

D1 DB 10

; D2 DB

; D3 DB 38H

; D4 DB 74H

DATAS ENDS

CODES SEGMENT ;代码段

ASSUME CS:CODES,DS:DATAS

START: MOV AX,DATAS ;初始化

MOV DS,AX

MOV AX,2000H

MOV DS,AX

MOV AX,2635H

MOV DI,0000H

相关文档
最新文档