实验一 简单程序设计
实验目的:
1.掌握8086汇编语言程序设计过程
2.掌握8086程序调试方法
实验步骤:
1.编辑
利用编辑器(记事本,也可采用其它编辑器)建立一个名为ASM1.ASM的文本文件,内容如下:
ASSUME DS:seg1,CS:seg2
seg1 SEGMENT
alpha DB 10,10H
beta DW 100H
gamma DB 'AB','A','B'
delta DW 'AB','CD'
sigma DW 4142H,4443H
seg1 ENDS
seg2 SEGMENT
start: MOV AX,seg1
MOV DS,AX
seg2 ENDS
END start
2.汇编
利用汇编器(MASM.EXE)将ASM1.ASM汇编为目标文件(默认文件名为ASM1.OBJ)。
如果有错误返回步骤1。
3.链接
利用链接器(LINK.EXE)将ASM1.OBJ链接为可执行文件(默认文件名为ASM1.EXE)。
如果有错误返回步骤1。
4.调试
启动调试器(DEBUG.EXE)。
利用DEBUG命令将ASM1.EXE载入内存。
利用DEBUG命令观察记录数据alpha、beta、gamma、delta、sigma在内存中的形式。
利用DEBUG命令比较gamma行和delta行,并记录比较结果。
利用DEBUG命令比较sigma行和delta行,并记录比较结果。
利用DEBUG命令在seg1段中搜索字符’C’,并记录搜索结果。
利用DEBUG命令移动sigma行数据至alpha开始的内存区域。
返回步骤1改写程序,移动sigma行数据至alpha开始的内存区域。通过步骤2和步骤3后,利用DEBUG命令分别连续、单步、带断点运行程序。
预习:
1. 学习DEBUG命令。
2. 按步骤4中的要求改写程序。
实验报告要求:
1. 记录实验步骤中要求的操作及其结果。
2. 根据步骤4中的要求,写出源程序中的改写部分。
3. 回答以下问题:
在步骤4中怎样才能观察到内存数据?为什么?
计算机中的数据形式是怎样的,DEBUG以什么形式表示内存数据,为什么?
学完之后感觉常用的指令记录:
-G=1455:0000 0025(自己想要 到的位置)
-u 1(反汇编1次)
-t 5(单步执行5次) 记下来只是说可以后面加数字表示次数
-r 查看寄存器