微机原理实验指导书

  • 格式:doc
  • 大小:852.50 KB
  • 文档页数:32

下载文档原格式

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

《微机原理与应用实验指导书》

XX大学机电工程学院

刘XX

实验一调试程序——DEBUG

实验目的初步掌握汇编语言,可以调试简单的程序

实验内容用汇编语言编写一个简单的加法运算程序。

编程提要

1.进入DEBUG状态,开机进入DOS状态。

C>DEBUG↙

屏幕显示:

-

“-”为已进入DEBUG状态,在该提示符下可键入DEBUG命令。下划线部分为用户键入的字符或命令

2.键入程序并汇编

用DEBUG的A命令送入程序:

-A 100↙

MOV AL,33

MOV DL,35

ADD DL,AL

SUB DL,30

MOV AH,2

INT 21

3。执行程序

-G↙

4.反汇编

可以用反汇编U命令将键入的程序调出,并且可以得到每条汇编指令的机器码。

-u起始地址终止地址

5.退出DEBUG返回DOS状态

-Q

6.显示内存命令D

-D 0100↙

-D 起始地址终止地址↙

7.修改存储单元命令E

-E 地址↙

8.检查和修改寄存器内容命令R

格式:a. R

c.R[寄存器名]

功能:a.显示CPU内部所有寄存器的内容和全部标志位的状态。

b.显示和修改一个指定寄存器的内容和标志位的状态。

9.追踪与显示命令T

格式:a. T[=地址]或 T[地址]

b. T=[地址][条数]

10.命名命令N

格式:N文件名

11.读盘命令L

12.写盘命令W

实验报告(写出上机结果及现象)

实验二汇编与宏汇编程序

实验目的通过实验了解汇编就是把用汇编语言编写的源程序翻译(汇编)成机器语言的目标程序。汇编程序可以使用小汇编程序(ASM)也可以用宏汇编程序(MASM),

由于宏汇编程序不但可以代替ASM,而且可以汇编具有宏定义的汇编程序,因

此我们在汇编程序时使用宏汇编程序(MASM)。

实验内容

执行宏汇编程序

编程提要

1.汇编过程

在DOS状态下,键入MASM则调入宏汇编程序,屏幕显示与操作如下:

masm↙

Microsoft (R) Macro AssembLe Version 5.00

Copyright (C) Microsoft Corp 1981-1985,1987.All rights reserved.

Source filename [.ASM]: ex2↙

Object filename [ex2.OBJ]: ex2↙

Source listing [NUL.LST]: ex2↙

Cross- reference [NUL.CRF]: ex2↙

50678+410090 Bytes symbol space free

0 Warning Errors

0 Severe Errors

2.在DOS状态下,键入LINK(或LINK EX2)则系统调入LINK程序,屏幕显示操作如下:

C>LINK↙

IBM Personal Computer Linker

Version 2.00(C) Copyright IBM Corp 1981,1982,1983

Object Modules [.OBJ]: EX2↙

Run File [EX2.EXE]:EX2↙

List File[NUL.MAP]:EX2↙

Libraries[.LIB]: ↙

3.执行程序

当用连接程序LINK将目标程序(.OBJ)连接定位后,可产生可执行文件(.EXE),可以在DOS 状态下执行该程序。

C>EX2↙

How are you !

也可以键入EX2.EXE↙

C>EX2.EXE↙

How are you !

实验报告(写出上机结果及现象)

实验三初级程序的编写与调试实验

实验目的

1.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序

2.深入了解数据在存储器中的存储方法,及堆栈中数据的压入与弹出

3.掌握各种寻址方法及简单指令的执行过程

实验内容

1.设堆栈指针Sp=2000H,Ax=3000H,Bx=5000H请编一程序将Ax的内容和Bx的内容

进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用Debug调试程序进

行汇编与调试。

2.设DS=当前段指地址,BS=0300H,SI=0002H,请用DEBUG的命令将存储器依稀

偏移地址300H~304H连续单元顺序装入OAH、OBH、OCH、OEH。在DEBUG状态

下送入下面程序,并用单元步执行的方法,分析每条指令源地址的形成过程?当数

据传送完毕时,Ax中的内容是什么?

程序清单如下:

MOV Ax.Bx

MOV Ax,0304H

MOV Ax,[0304H]

MOV Ax,[Bx]

MOV Ax,0001[Bx]

MOV Ax,[Bx][Si]

MOV Ax,0001[Bx][Si]

HLT

3.设Ax=0002H,编一个程序段将Ax的内容乘10,要求用移位的方法完成。

编程提要

实验内容1

将两个寄存器的内容进行交换时,必顺有一个中间寄存器才能进行内容的交换,如果用堆栈做为中间存储单元,必顺遵循先进后出的原则。

实验内容2

1其中数据寄存器中的段地址为进入Debug状态后系统自动分配的段地址。

2Si和Bx的初值可在Debug状态下,用R命令装入,也可以在程序中用指令来完成。

3用T命令程序执行执行,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态。也可用R命令直接调出寄存器,来栓验各寄存器

内容是否确。

4在执行程序前,可用E命令将偏移地址300H~304H送入OAH,OBH,OCH,ODH。

实验内容3

用移位的方法完成某些乘法运算,是较为常见的方法,操作数左作一位为操作

数乘2运算。

实验报告(写出上机结果及现象)

实验四计算学生平均成绩的实验

实验目的熟悉汇编语言程序的使用,掌握十进制数的运算和设计显示程序运行结果的格式。

实验内容编写程序,计算20个分数的平均值,并以十进制表示将结果显示在屏幕上,显