(完整word版)青岛科技大学微机原理与应用实验指导书
微机原理与应用实验指导书


实验一 调试工具debug的使用及基本指令用法
1、实验目的
    (1)掌握debug调试工具的使用方法。
(2)测试8086的各种基本指令的用法。
2、实验设备
PC机一台或QTH-2008PC实验设备一套
3、实验内容
(1)debug的使用
debug的进入和退出
c:\masm>debug↙
- 这是debug的提示符,在此可以输入debug的命令
-q↙      退出debug
② 及修改CPU内部的各寄存器
-r↙                            观察各寄存器的内容
AX=0000  BX=0000  CX=0000  DX=0000  SP=CFDE  BP=0000  SI=0000  DI=0000
DS=10DD  ES=10DD  SS=10DD  CS=10DD  IP=0100  NV UP DI PL NZ NA PO NC
10DD:0100 7C0A          JL      010C             
-r ax ↙                          显示并修改AX的内容
AX 0000
:1234↙                            将AX的内容改为1234H
-rf↙                            显示并修改标志寄存器的内容
NV UP DI PL NZ NA PO NC -ov dn 将标志寄存器的OF置为OV;DF置为DN。
③ 观察观察和修改内存单元的内容
-d 2000↙                      查看从地址DS:2000H开始的128个单元的内容
10DD:2000  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
10DD:2010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
10DD:2020  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
10DD:2030  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
10DD:2040  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
10DD:2050  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
-e 2000↙                        修改从地址DS:2000H开始内存单元的内容
10DD:2000  00.01 带有风的诗句 00.02 ↙      划线数字为键入的内容,连续修改按空格键
④ 输入程序
-a 100↙                    从CS:100H处开始输入程序(默认的程序起始地址)
10DD:0100 mov ax,1234↙    输入汇编指令
10DD:0103 mov [2002],ax
10DD:0106↙              word打开是乱码回车退出程序输入
-a 103↙                      修改103处的指令
10DD:0103 mov [2000],ax↙  输入汇编指令
10DD:0106
-
⑤ 单步执行程序
-t=100↙        执行CS:100H处的一条指令,自动显示寄存器内容及下一条指令。
AX=1234 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000
DS=10DD ES=10DD SS=10DD CS=10DD IP=0103  OV DN DI PL NZ NA PO NC
10DD:0103  A30020    MOV [2000],AX                      DS:2000=0201
-t↙              继续执行下一条指令   
⑥ 反汇编程序
-u 100↙            从CS:100H处开始反汇编
10DD:0100 B83412        MOV    AX,1234
10DD:0103 A30020        MOV    [2000],AX      刚才输入的两条指令
社保与养老保险区别10DD:0106 36          SS:                      乱码
10DD:0107 A22C41        MOV    [412C],AL
10DD:010A EB22          JMP    012E
10DD:010C 83F906        CMP    CX,+06
10DD:010F 750D          JNZ    011E
高考如何鼓励孩子10DD:0111 807C0A2C      CMP    BYTE PTR [SI+0A],2C
10DD:0115 7505        JNZ    011C
10DD:0117 FF36A22C      PUSH    [2CA2]
10DD:011B 41            INC    CX
10DD:011C EB10          JMP    012E
10DD:011E 83F909        CMP    CX,+09
⑦ 执行一段程序
-g=100 106↙        从CS:100H开始,执行到CS:106处停止。
AX=1234 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000
DS=10DD ES=10DD SS=10DD CS=10DD IP=0106     OV DN DI PL NZ NA PO NC
10DD:0106 36        SS:
10DD:0107 A22C41  MOV [412C],AL                          SS:412C=00
……
(2)基本指令的用法
在debug中输入一些基本指令并执行,观察并记录指令的执行情况。
4、实验步骤
(1)启动Debug调试工具,根据实验内容,验证Debug命令及指令执行情况。
(2)观察调试过程中指令执行后各寄存器及数据区的内容。
5、实验问题探讨
(1)如何利用Debug去观察中断向量表?
(2)机器复位后执行的第一条指令在哪儿?是什么指令?
(3)在debug中输入16进制数时,需要键入H吗?
(4)从当前位置开始执行指令到CS:0212H处,在Debug中应该使用什么命令?
实验二 宏汇编程序的基本语法及运算类程序编制
1、实验目的
(1)学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
(2)熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
(3)掌握利用汇编实现简单、分支、循环结构设计
2、实验设备
PC机一台或QTH-2008PC实验设备
3、实验内容
(1)编制包含多种数据定义伪指令的完整程序,经汇编、连接后,装入DEBUG, 观察数据的存储情况,从而掌握常用伪指令的作用。举例:
祝自己母亲节快乐的说说
X1 DB 12H, AB
X2 DW 12H, AB
NUM=$-X1
X3 DD 12H        ;以上数据在内存中如何存放?
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AL,X1            ;翻译成机器指令是什么格式?
MOV AX,X2            ;?
MOV BL,NUM            ;?
在debug中执行完MOV DS,AX指令后(为什么?),使用
dnf公会地下城怎么进
-d 0        观察数据段的存储单元的数据存储情况。
(2)在内存BUF开始的单元中,存放着一组无符号字节数据,编程查其中最大值并存于MAX单元中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。