微机原理与应用实验指导书
实验一 调试工具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小时内删除。
发表评论