当前位置:文档之家› 微机原理与接口技术实验报告

微机原理与接口技术实验报告

新疆农业大学机械交通学院
实习(实验)报告纸
班级:机制072 学号: 073731234 姓名:唐伟
课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用
实验时间: 6.22 指导教师签字:成绩:
—、实验目的
1.学习DEBUG软件的基本使用方法。

2.掌握8088/8086的寻址方式。

3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。

二、实验内容与步骤
实验内容:
修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。

程序从CS:0100H开始存放。

调试完成后程序命名为PCS.EXE并存盘。

实验步骤:
(1)用A命令输入程序;
(2)用反汇编U命令显示程序及目标码;
存盘程序命令为PCS1.EXE;
三、思考题
1.EXE文件程序的第一条可执行指令的IP等于多少?
答:EXE文件程序的第一条可执行指令的IP等于0010 。

2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式?
答: DEBUG把所有数据都作为字节序列处理。

因此它可以读任何类型的文件。

DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。

它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。

DEBUG总是用四位十六进制数表示地址。

用两位数表示十六进制数据。

不支持标号。

3.试述本次实验中你学会的DEBUG命令?
答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)
新疆农业大学机械交通学院
实习(实验)报告纸
班级:机制072 学号: 073731234 姓名:唐伟
课程名称:微机原理及接口技术实习(实验)名称: 汇编语言程序的建立和运行实验时间: 6.22 指导教师签字:成绩:
—、实验目的
1.熟悉伪指令和汇编运算符,掌握汇编语言程序的编写方法。

2.学习汇编语言源程序的编辑、汇编、连接、调试及运行的全过程。

二、思考题
1.用DEBUG软件调试程序(.EXE文件形式),不执行任何指令,可以用D命令(-DDS: 0)查看数据段的原始数据吗?为什么?
答:首先用T命令顺序执行用户程序的前几条直到寄存器DS/ES已预置为用户的数据段。

在用T命令执行程序时,每执行一条指令,显示指令执行后寄存器的变化情况,以便用户查看指令执行结果。

观察用户程序数据段出事内容:在地3步执行后DS/ES已指向用户程序的数据段和附加段,这时用D命令可查看用户程序的原始数据。

2.汇编语言源程序通过了汇编和链接是否就正确无误了?为什么?
答:如果汇编和链接都正确, 产生的可执行文件就可在 DOS 下运行, 只要直接打入文件名即可. 调试汇编语言源程序在汇编及连接中能够检查出语法错误,有些逻辑错误,结构错误,只有在调试运行中, 才能发现. 调试工具 DEBUG 是为汇编语言。

3.汇编语言源程序经汇编和链接后产生的是哪一种可执行文件?这种文件中IP的初始值一般是多少?
答:汇编(masm 文件名.asm)后生成目标文件.obj。

再经过链接程序(link.exe)可以生成列表文件.list,可执行文件.exe。

三、实验内容及步骤
1.程序编辑。

DATA SEGMENT
CR EQU 0DH
LF EQU 0AH
DAT1 DB'HOW ARE YOU?',CR,LF,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET DAT1 MOV AH,9
INT 21
MOV AH,4CH
INT 21H
CODE ENDS
END START
2.试验过程
新疆农业大学机械交通学院
实习(实验)报告纸
班级:机制072 学号: 073731234 姓名:唐伟
课程名称:微机原理及接口技术实习(实验)名称: 代码转换实验
实验时间: 6.22 指导教师签字:成绩:
一、实验目的
1.掌握计算机常用代码的软件转换技术。

2.进一步熟悉DEBUG软件的使用。

3.掌握简单循环程序的编程方法。

二、试验过程
(1)
(2)
三、思考题
1.本实验中用DEBUG软件输入的程序的起始地址等于多少?最初四个段寄存器的初始化值有何特点?
答:输入程序的起始地址是0150,最初四个段寄存器的初始化值均为8位二进制数2.DEBUG状态下输入的程序属哪一种可执行文件?它有几个段?这种文件第一条可执行指令必须位于何处?
答:DEBUG状态下输入的程序属OBJ可执行文件,有三个段。

这种文件第一条可执行指令须位于136E:0100处。

3.画出循环程序结构框图。

新疆农业大学机械交通学院
实习(实验)报告纸
班级:机制072 学号: 073731234 姓名:唐伟
课程名称:微机原理及接口技术实习(实验)名称: 两个多位十进制数相加实验时间: 6.23 指导教师签字:成绩:
一、实验目的
1.学习并掌握数据传送指令和算术运算指令的用法。

2.熟悉在PC机上建立、汇编、链接和运行8088汇编语言程序的过程。

二、
二、实验内容及步骤
1、改写程序
CRLF MACRO
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
ENDM
DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,34H
COUNT EQU $-DATA1
DATA2 DB 36H,35H,30H,38H,32H
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 20 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET DATA2
MOV BX,COUNT
CALL DISPL
CRLF
MOV SI,OFFSET DATA1
MOV BX,COUNT
CALL DISPL
CRLF
MOV DI,OFFSET DATA2
CALL ADDA
MOV SI,OFFSET DATA1
MOV BX,COUNT
CALL DISPL
CRLF
MOV AX,4C00H
INT 21H
DISPL PROC NEAR
DS1: MOV AH,02H
MOV DL,[SI+BX-1]
INT 21H
DEC BX
JNZ DS1
RET
DISPL ENDP
ADDA PROC NEAR
MOV DX,SI
MOV BP,DI
MOV BX,COUNT
AD1: SUB BYTE PTR[SI+BX-1],30H SUB BYTE PTR [DI+BX-1],30H DEC BX
JNZ AD1
MOV SI,DX
MOV DI,BP
MOV CL,COUNT
CLC
AD2: MOV AL,[SI]
ADC AL,[DI]
AAA
MOV [SI],AL
INC SI
INC DI
LOOP AD2
MOV SI,DX
MOV DI,BP
MOV BX,COUNT
AD3: ADD BYTE PTR [SI+BX-1],30H ADD BYTE PTR [DI+BX-1],30H DEC BX
JNZ AD3
RET
ADDA ENDP
CODE ENDS
END START
2、试验截图
三、思考题
1.如果是减法,程序应如何修改?如果加数、被加数以组合BCD码形式存放在DATAl、DATA2缓冲区,程序应怎样修改?
答:把执行带进位加ADC改为执行带进位的减SUB。

2.调试程序中遇到什么问题?怎样解决的?
答:注意符号的中英文形式,数据段的定义要一致。

通过运行的程序提示进行改正。

相关主题