当前位置:
文档之家› 汇编语言程序设计上机步骤与调试方法
汇编语言程序设计上机步骤与调试方法
SRC的地址
AX推算值
AX实际值
上机作业(一)
指令
MOV AX, TABLE [BP] MOV AX, 08H [BP] MOV AX, [BP+06H] MOV AX, DS:[BP+03H] MOV AX, [BP]+05H MOV AX, ES: [SI+03H] MOV AX, [DI+06H] MOV AX, [DI]+05H MOV AX, TABLE [SI]
三.具体操作步骤举例
第一步
点击“运行”
三.具体操作步骤举例
COMMAND
三.具体操作步骤举例
DOS提示符
三.具体操作步骤举例
第二步
进入EDIT编辑环境
三.具体操作步骤举例
三.具体操作步骤举例
编辑源程序
三.具体操作步骤举例
编辑完后,准备存盘
三.具体操作步骤举例
另存为……
三.具体操作步骤举例
本章要点及复习重点
3.掌握逻辑运算类指令(AND、OR、XOR、NOT、 TEST)的应用及对标志位的影响。 4.掌握移位指令(SHL、SHR、SAL、SAR)、循环移 位指令(ROL、ROR、RCL、RCR)等指令的应用。
本章要点及复习重点
4.3 汇编语言程序设计
1.掌握汇编语言程序设计步骤。 2.熟练掌握汇编语言源程序的完整结构及相应 的伪指令的意义。 3.掌握分支程序设计时应注意的几个问题,会设 计简单的分支程序。 4.掌握循环程序的基本结构及循环程序的设计, 会用气泡排序法进行二重循环程序设计。
DEBUG装入用户可执行文件的另一种方法 用N命令命名 用L命令装入程序
三.具体操作步骤举例
用E命令修改内存
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
用D命令显示存 储器单元内容
DEBUG常用命令汇总表(一)
命令名 格式
格式1: 格式2: 格式1: 格式2: 格式1: 格式2: R R 寄存器名 U [地址] U 地址范围 D [地址] D 地址范围
重新汇编
三.具体操作步骤举例
第四步
对目标文件 进行连接
三.具体操作步骤举例
目标文件名
三.具体操作步骤举例
第五步
用DEBUG对可执 行文件进行调试
三.具体操作步骤举例
DEBUG提示符
三.具体操作步骤举例
用R命令显示各 寄存器内容
三.具体操作步骤举例
用U命令反汇编
三.具体操作步骤举例
用T命令单步执 行一条指令
功能
从指定的地址开始跟踪x条指 令. 在指定的盘,路径下建立文件 从指定地址开始执行程序,到 断点处停下来. 从地址开始的内存块写文件. 将N命令指定的文件调入指定 的内存地址.
T N G W L
DEBUG常用命令汇总表(三)
命令名 格式
格式: 格式: 格式: 格式: 格式: A[地址] P[=地址][x] Q I 端口地址 O 端口地址 值
功能
从指定地址开始,对输出的语句汇编 到内存. 执行一个循环直到中断,x代表执行 循环的次数. 结束并退出DEBUG程序. 从指定的端口地址读一个字节,并显 示出来. 将值送到指定端口.
A P Q I O
本章要点及复习重点
4.1 汇编语言基础
1.掌握机器语言、机器语言程序、汇编语言、 汇编语言源程序、汇编、汇编程序等概念。 2.掌握汇编语言中表达式,特别是属性表达式 及属性修改操作符PTR的应用。 3.熟练掌握DB、DW、DD变量定义伪指令的应用 会画出变量定义语句汇编后的存储器分配示 意图。
上机作业(一)
[2]用MASM.EXE宏汇编程序对以上源程序进行汇编,其 方法为: MASM 文件名.ASM ; 回车 此时,如果源程序中无语法错误,则在磁盘上形成文 件名.OBJ文件。 [3]用LINK.EXE连接程序对文件名.OBJ文件进行连接, 其方法为: LINK 文件名.OBJ ; 回车 此时,如果连接正确,则在磁盘上形成:文件名.EXE 可执行文件。 [4] 对源程序中从MOV AX, CX开始以下所有指令按下 表进行计算。
§4.5 汇编语言程序设计 上机步骤与调试方法
一.上机环境
用户程序:ABC.exe等 操作系统:DOS系统 编辑器: EDIT.exe 编程序: MASM.exe 连接程序:LINK.exe 调试程序:DEBUG.exe
应用软件 系统软件 硬件
CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备
本章要点及复习重点
4.2 8086指令系统
1.数据传送类指令 掌握MOV、XCHG、LEA、XLAT、PUSH、POP等指 令的应用。 2.算术运算类指令 掌握加法(ADD、ADC、INC)、减法(SUB、SBB、 DEC、NEG、CMP)、乘法、除法、BCD数调整 (DAA)等指令的应用及对标志位的影响。
本章要点及复习重点
5.掌握子程序设计时的几个问题,包括: 子程序的定义方法 CALL、RET指令的应用(注意段内、段间 子程序调用与返回时现场的保护与恢复 以及堆栈的变化情况) 主程序与子程序之间参数的传递方法 用户信息的保护与恢复方法 子程序说明文件包含的内容
本章要点及复习重点
6.熟练掌握DOS的01H、02H、09H、0AH功能的调 用方法。 7.掌握字符串处理指令(MOVS、CMPS、SCAS 、 STOS、LODS)的共同约定以及应用 8.掌握宏指令的定义及调用方法
上机作业(一)
指令
MOV AX, CX MOV AX, 500H MOV AX, TABLE MOV AX, ES:[BX] MOV AX, [BX+05H] MOV AX, SS:[BX]+03H MOV AX, TABLE [BX] MOV AX, 07H [BX] MOV AX, [BP]
SRC寻址方式
编辑源程序 EDIT ABC.ASM 汇编源程序 MASM ABC.ASM
二.上机步骤
① D:>EDIT ABC.ASM ② D:>MASM ABC.ASM; 有语法错,回EDIT下改源程序 ③ D:>LINK ABC.OBJ; 有错,回在EDIT下改源程序 ④ D:>ABC 运行结果错,回EDIT下改源程序 或在DEBUG下调试,找原因。 ⑤ D:>DEBUG ABC.exe
二.实验仪器
586微机 1台
上机作业(一)
三.实验内容
1. 关于数据的寻址方式练习
8086/8088 提供多种方式实现操作数寻址,大体可 分为7种: a. 立即寻址 a-b要寻找的操作数与存储器无关。 b. 寄存器寻址 c. 直接寻址 c-g 要寻找的操作数在存 d. 寄存器间接寻址 贮器某单元,存贮器单元 e. 寄存器相对寻址 的地址由寻址方式确定。 f. 基址变址寻址 g. 基址变址且相对寻址
用Q命令退出 DEBUG
三.具体操作步骤举例
用G命令设置断点,连续(全速)运行程序的调式方法
三.具体操作步骤举例
用G命令连续 执行到断点处
三.具体操作步骤举例
用D命令显示存 储器单元内容
三.具体操作步骤举例
用G命令连续 执行到断点处
三.具体操作步骤举例
用D命令显示存 储器单元内容
三.具体操作步骤举例
上机作业(一)
掌握8086/8088的这些寻址方式,是学习汇 编语言编程的关键。因此,我们编写了下面的程 序段,以数据传送指令为例,列举了部份寻址方 式,请同学们按下列要求认真完成。 [1] 在全屏幕编辑软件下,建立以下汇编语 言源程序。
上机作业(一)
STACK SEGMENT STACK DB 0B0H, 0B1H, 0B2H, 0B3H, 0B4H, 0B5H, 0B6H, 0B7H, DB 0B8H, 0B9H DB 0BAH, 0BBH, 0BCH, 0BDH, 0BEH, 0BFH DB 10H DUP(00) STACK ENDS DATA1 SEGMENT DB 0A0H, 0A1H, 0A2H, 0A3H TABLE DW 0A5A4H DB 0A6H, 0A7H, 0A8H, 0A9H, 0AAH, 0ABH DB 0ACH, 0ADH, 0AEH, 0AFH DATA1 ENDS
有汇编错误信息 ? N 形成目标程序 ABC.OBJ
Y
连接目标程序 LINK ABC.OBJ 有连接错误信息 ? Y N 形成可执行程序 ABC.EXE 装入可执行程序到内存 ,并执行 D:\>ABC 运行结果正确 ? Y 下一程序 N N 用 DEBUG调试程序查错 ? Y 用 DEBUG 调试可执行程序 找到原因 D:\> DEBUG ABC.EXE
上机作业(一)
MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV AX, TABLE [BP] AX, 08H [BP] AX, [BP+06H] AX, DS:[BP+03H] AX, [BP]+05H AX, ES: [SI+03H] AX, [DI+06H] AX, [DI]+05H AX, TABLE [SI] AX, [SI] AX, TABLE [DI] AX, [SI]+05H
三.具体操作步骤举例
三.具体操作步骤举例
用D命令显示存 储器单元内容
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
三.具体操作步骤举例
用P命令单步执 行一个过程
三.具体操作步骤举例
上机作业(一)