汇编实验1&DEBUG简介_1

上传人:油条 文档编号:47695474 上传时间:2018-07-04 格式:PPT 页数:29 大小:130KB
返回 下载 相关 举报
汇编实验1&DEBUG简介_1_第1页
第1页 / 共29页
汇编实验1&DEBUG简介_1_第2页
第2页 / 共29页
汇编实验1&DEBUG简介_1_第3页
第3页 / 共29页
汇编实验1&DEBUG简介_1_第4页
第4页 / 共29页
汇编实验1&DEBUG简介_1_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《汇编实验1&DEBUG简介_1》由会员分享,可在线阅读,更多相关《汇编实验1&DEBUG简介_1(29页珍藏版)》请在金锄头文库上搜索。

1、实验一5月12日(四)12:5015:20田伏荣实验目的及要求 实验目的: 掌握DEBUG的常用命令 学会在DEBUG下编写简单程序 学会调试程序及程序跟踪技术 学会查看内存单元 验证指令结果及对标志寄存器的影响 学会三段式程序编写的基本方法 实验准备要求: 第1题填写结果, 第4题写出相应程序代码 实验报告要求: 填写报告封面,填写好的实验一( 第1、3题的结果 ),第4题打印程序清单并注释提示1. DEBUG环境下数制约定为16进制 2. 对于要求跟踪执行的程序段只能用T或P 命令;用G命令观察程序段的执行结果。1.在DEBUG下验证 P109 3.15求出以下各16进制数与16进制数62

2、A0之和,并 根据结果设置和验证标志位SF、ZF、CF和OF的值, 已给出相关代码和调试步骤,填写代码地址,预习 先填写,实验中验证: MOV AX,62A0 : ADD AX,1234 : MOV AX,62A0 : ADD AX,4321 :_ _ _ _ _加法结果SFZFCFOF 12344321CFA09D602.在 AsmStudio R5.0环境下,用向导生成 程序框架,将下面的数据定义和程序段代 码分别添加在数据段和程序段的相应位置 。 然后汇编、连接并执行该程序。 数据定义 程序段 子程序; 数据定义 TS DB HOW ARE YOU XXXXX! COUNT DW $-T

3、S MES DB 0DH, 0AH, LENGTH(TS)=$ ;程序段L: MOV BX,OFFSET TS MOV CX, COUNTLL: MOV AH,2MOV DL,BXINT 21HINC BXLOOP LLMOV AH,9LEA DX,MESINT 21HMOV CX,COUNTCALL SUBP ;调用子程序显示COUNT的值MOV AH,1INT 21H 自己姓名的拼音和学号 (先拼音后学号); 子程序SUBP显示100以内的数 ;CX为要显示的数(出现DEBUG的命令可分成七大类,每类的命令格式类似指令执行类,包括:运行G、单步T和P命令 。其共同特点是可给出起始地址(以开

4、始), G命令还可给出多个断点地址,T、P可以给出 要执行的指令条数。 T命令单步跟踪每一条指令的执行过程 P命令可以将LOOP、REP、CALL、INT等指令 视为一条单独指令一次执行完 G命令运行程序直到断点或终止指令 例如G=起始地址 断点0 断点9 程序汇编与反汇编类:汇编A、反汇编U命令该类命令参数有: address 注意: 不支持符号地址 可以使用DB和DW进行的数据定义(不能给内存 变量起名) 输入的所有数值皆为十六进制整数,数值后不带 “H”、内存单元操作类:比较C、显示D、修改E、填 充F、搜索S和移动M命令。 该类命令参数有: range address range li

5、st address list上述所有地址均可以是包含段地址和偏移地址在 内的全地址。输入输出操作类:输入I、输出O命令。此类命令的参数与端口地址有关。 扩充内存操作类:XA、XD、XM、XS。 其它操作类:十六进制加减运算H、寄存器操作R 、退出Q。debug的主要命令E命令 E命令修改内存单元 格式 -E 地址 数值列表 地址:待修改的内存单元的起始地址 数值列表:用于修改起始地址开始的连续数 据 作用向内存区域输入数据。数据以 十六进制形式,或以ASCII码形式均可。 覆盖原有数据 注意debug的主要命令P命令 P命令循环或子程序处理(Procedure) 格式 -P=地址 指令数 地

6、址: 执行的起始地址 指令数:执行的指令条数 作用单步执行指令。将循环、串指令、软 件中断或子程序调用视为单语句 注意 若地址参数中无段址,则使用CS中的值。完全忽 略地址时,则从程序中的CS:IP指定位置开始执行 对于int 21h指令,只能使用P命令debug的主要命令U命令 U命令反汇编(Unassemble) 格式 -U 地址范围 作用 将机器指令解码为汇编语言的助记符 注意 输入命令时U和地址范围之间有空格 地址范围中无段址时,默认使用CS值 若不含起始地址,则于CS:IP开始进行反汇编 若不含末地址,则自给定始地址起反汇编32个字节 以后由前次U最后一指令的下一指令做32字节的反汇

7、 编debug的主要命令R命令 R命令寄存器显示与更改(Register) 格式 -R 寄存器 寄存器包括:AX BX CX DX SP BP SI DI DS ES CS IP PC F 作用 若R不带参数,则显示所有寄存器的内容和状态标 志、下一指令 若要修改某寄存器的值,在显示内容后,给出冒句 提示输入新值,回车结束 若直接回车,则跳过修改,寄存器内容不变 注意 对状态寄存器FLAGS,在连字符“-”后以空格间隔输入新值debug的主要命令D命令 D命令显示内存内容(Dump) 格式 -D 地址范围 地址范围:给定显示区的始未范围 作用以十六进制和ASCII码形式显示指定范 围内的内存内

8、容 注意 若不指定范围,第一次按目标程序的CS:IP的位址 开始显示,每次显示128字节的内容(8行),以后 使用上次显示的未地址的下一地址为开始进行显示debug的主要命令H命令 H命令 执行十六进制算术运算( Hexadecimal) 格式 -H 值1 值2 值1和值2为0FFFFH范围内的任意十六进制 数 作用用来求两个十六进制数的和、差 ,结果显示为值1+值2的值及值1-值2的值 。如果值2 值1则显示其补码 debug的主要命令?命令 ?命令寻求帮助 格式-? 作用显示所有的命令含义及其使用格 式 注意不要写为helpG命令之注意事项参数“起始地址”前必须加等号,否则将其认为是第1个

9、断点 若没有指定程序开始执行的地址时,则Debug使用目标程序的 CS:IP寄存器的值开始执行 对于所指定开始执行的地址中,如未指定段地址,则使用目标 程序的CS寄存器中的值 不设断点时,则程序的执行或是中途失败或是正常结束。结束 时,提示有“Program termminated nomally”,即程序结束正常 断点参数最多可设置10个,即最多可指定10个临时断点。当程 序执行到指定的断点地址时发生中止;中止时,将会显示寄存 器的内容、标志位状态及CS:IP指出的指令(也就是下一条将 要执行的指令),然后是提示符“-” 执行完一次后,数据有可能重写,若需再次执行,应该重新装 入程序E命令之注意事项 对于要修改的内存单元地址来说 若不指明段址,则默认为DS中值 每写完一数据地址自动增加 对于用于填充的数据来说 如果在命令中有数值列表,那么 十六进制时要用空格、逗号或制表符加以分隔 字符串则要用单引号或双引号括起 如省略数值列表,那么对应每一字节请求输入 输入命令后屏幕上出现的点号前为该字节原始值,点号后 请求输入。这时若按空格,跳过这一字节;按回车,结束 输入;按减号或连字符,显示前一字节内容debug命令分类 编辑命令:a,e 运行命令:t,p,g 显示命令:r,d,u 帮助命令:? 退出命令:q 其他命令: 计算命令:h 写盘命令:w 命名命令:n

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号