实验一汇编语言源程序的输入
一、实验目的
. 通过实验了解和熟悉微机系统的配置。
.学习在 DEBUG 状态下输入汇编源程序的方法。
.初步掌握调试 (在 DEBUG 状态下 )的过程。
二、实验原理
本实验要求在 DEBUG 状态下输入汇编源程序 ,并用 DEBUG 命令进行调试。用单步跟踪的方法验证指令的功能。
以下是给定的参考程序 ,并在实验时在每条指令的“; ”符号右边按要求填写指令的执行结果。
注:⑴ 微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数 ,在输入时数的后面不加后缀“ H” ;
⑵ 在DEBUG状态下执彳T程序时,“INT 20H”指令可使系统执行完该指令前的程序时返回到“ -”提示符状态,并且恢复 CS和IP
寄存器原来的值。
三、实验仪器
微机一台。
四、实验步骤
开机后进入 DOS 系统,
C > DEBUG/ (/回车符)
- (为 DEBUG 提示符 )
当显示器出现提示符“-”时,说明已进入 DEBUG 状态 ,这时 ,可用 DEBUG 命令进行操作。
用 DEBUG 的 Register 命令检查所有寄存器内容 ,并作记录。命令格式:
R [ 寄存器名 ]
该命令的功能是显示寄存器的内容,或修改某一指定寄存器内容,若 [寄存器名 ] 缺省,则显示所有寄存器内容。例如: -R
用 DEBUG 的 Assemble 命令输入汇编源程序。格式:
A [内存地址 ]
注:用“ [ ] ”符号括起来的部分表示可以省略。
该命令的功能是从指定的内存地址开始(括号不要输入)逐条输入汇编语言源程序并汇编成机器码存入内存。若地址缺省,则接上一
个 A 命令最后一条指令之后输入汇编语句 ,若没有用过 A 命令,则从 CS: 0100H 地址开始输入。例如:
-A
0CD3: 0100-
在输入 A 命令之后 ,或每输入一条指令之后,显示器的左端给出了内存的段地址和偏移地址。
每条指令均用回车(/)结束。若输入的指令有语法错误, DEBUG拒绝接收,并给出提示,此时可以重新输入。程序的最后一条指令输入
完之后,再按一次回车键 (/),即可结束汇编命令,回到 DEBUG提示符“―”状态。
用 DEBUG 的 Unassemble 命令反汇编。命令格式:
U [ 起始地址 [终止地址 ]]
该命令的功能是从起始地址到终止地址反汇编目标码 ,缺省值是接上一个 U 命令或从 CS: 0100H 地址开始。例如:
-U
显示器上将显示程序的内存地址、指令机器码的汇编源程序三列对照清单。
用 DEBUG 的 Trace 命令单步跟踪程序。命令格式:
T [ =起始地址 ] [指令条数 ]
该命令的功能是从指定的起始地址开始逐条执行指令 ,每执行完一条指令 ,屏幕显示所有寄存器内容和下一条指令地址和指令。若 [=起
始地址 ]缺省 ,则 T 命令从 CS: IP 地址开始执行指令。
例如:
一 T/
重复这一过程 ,即可看到每条指令执行后 ,所有寄存器和标志寄存器的标志位内容。此时,要检查内存单元的数据,可用 DEBUG 的 D
命令。
用 DEBUG 的 Dump 命令显示存贮器单元的内容。命令格式:
D[起始地址[终止地址]]
D 命令或从 DS : 0100H 地址开始显
该命令的功能是从起始地址到终止地址 ,连续显示存贮器单元的内容。若地址缺省,则接上一个
示。例如:
—D /
参考程序:
MOV
AX, 2000
; AL=00H
MOV
DS, AX
; DS=2000H
NOT
AX
; AX=DFFFH
XOR
AX, AX
; AX=0000H
DEC
AX
; AX=FFFFH
INC
AX
; AX=0000H
MOV
BX, 2030
; BH=20H
MOV
SI, BX
; SI=2030H
MOV
[SI], BL
; [2030H]=30H
MOV
WORD PTR[SI], 10F
; [2030H]= 0FH [2031H]=01H
MOV
DI, SI
; DI=2030H
MOV
[DI+50], BH
; [DI+50H]=20H
MOV
BH, [SI]
; BH=0FH
MOV
BL, [DI+50]
; BL=20H
MOV
SP, 5000
PUSH
AX
; AX= 0000H [SS : 4FFEH]=00H [SS: 4FFFH]=00H
PUSH
BX
; BX=0F20H [SS : 4FFCH]=20H [SS: 4FFDH]=0FH
2017年燕山大学汇编语言实验答案 来自淘豆网m.daumloan.com转载请标明出处.