微机原理实验报告

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

实验一DEBUG 调试

实验类型:实验课时:指导教师:

时间:2013 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:

一、实验目的

1.练习使用DEBUG,调试简单汇编程序。

二、实验要求

1.掌握DEBUG的使用,调试程序。

2.读懂程序中各条指令,说明程序功能。

三、实验内容

1.启动DEBUG,用A命令输入并汇编下列程序段。

100 MOV SI,200

103 MOV CX,10

106 MOV AL,0

108 MOV [SI ],AL

10A INC SI

10B INC AL

10D DEC CX

10E JNZ 108

110 INT 3

四、实验结果及分析

实验二简单汇编语言设计

实验类型:实验课时:指导教师:

时间: 2012 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:

一、实验目的

1.巩固DEBUG及宏汇编的使用。

2.加深对指令的理解。

二、实验要求

1.设堆栈指针SP=2000H,(AX)=3000H,(BX)=5000H。请编一程序将AX的内容

和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用

DEBUG调试程序进行汇编与调试。

2.设DS=当前段指地址,(BX)=0300H,(SI)=0002H,请用DEBUG的命令将存储

器偏移地址300H~304H连续单元顺序装入0AH、0BH、0CH、0DH、0EH。在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状态后系统自动分配的段地址。

2. SI和BX的初值可在DEBUG状态下,用R命令装入,也可以在程序中用指令来完成。用T命令程序执行执行,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态。也可用R命令直接调出寄存器,来检验各寄存器内容是否正确。

3.在执行程序前,可用E命令将偏移地址300H~304H送入0AH,0BH,0CH,0DH、0EH。实验内容3

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

四、程序实现

实验三汇编语言程序调试

实验类型:实验课时:指导教师:

时间: 2012 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:

一、实验目的

1.巩固DEBUG及宏汇编的使用

2.了解汇编语言程序上机过程。

3.加深对运算指令的理解。

二、实验要求

1.参照程序样例,实现简单汇编过程。

2.使用DEBUG对程序简单调试。

三、实验内容

1. 用文本编辑工具输入下段源文件,并存入磁盘。

NAME MY_PROGRAM ;程序模块名

DATA SEGMENT ;数据段开始

BUFFER1 DB 0,1,2,3,4,5,6,7,8,9

DB 0AH,0BH,0CH,0DH,0EH,0FH

BUFFER2 DB 10H DUP(0)

MESS DB ‘HAVE DONE’,13,10,’$’

DATA ENDS ;数据段结束

STACK SEGMENT PARA STACK

DB 100 DUP(?)

STACK ENDS ;堆栈段结束

CODE SEGMENT ;代码段开始

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

START:MOV AX,DATA

MOV DS,AX ;建立用户数据段

MOV ES,AX

LEA SI,BUFFER1

LEA DI,BUFFER2

MOV CX,10H

NEXT:MOV AL,[SI ]

MOV [DI ],AL

INC SI

INC DI

DEC CX

JNZ NEXT

LEA DX,MESS ;指向提示字符串

MOV AH,9 ;显示字符串的功能号

INT 21H ;DOS功能调用

MOV AH,4CH ;退出用户程序的功能号

INT 21H ;DOS功能调用

CODE ENDS ;代码段结束

END START ;整个源程序结束,并指明第一条执行语句

2. 用宏汇编软件MASM,或TASM对此程序进行汇编,产生OBJ,LST等文件。在显示屏上阅读这些文件。

3. 用连接软件LINK,或TLINK产生EXE文件。

4. 进入DEBUG,用L命令将程序装入内存,并用断点及单步等方法执行程序、观察执行结果。

相关文档
最新文档