微机原理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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命令将程序装入内存,并用断点及单步等方法执行程序、观察执行结果。