2022年用DEBUG学习汇编语言参考 .pdf
《2022年用DEBUG学习汇编语言参考 .pdf》由会员分享,可在线阅读,更多相关《2022年用DEBUG学习汇编语言参考 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 利用 DEBUG 学习汇编语言编写汇编语言有两种主要的方法:1. 使用 MASM 或 TASM 等编译器 (TASM是 borland 公司生产的编译器。和 turbo系列配套的 , 在 32 位的 CPU 上用);2. 使用调试程序 DEBUG.COM。DEBUG 其实并不能算是一个编译器,它的主要用途在于除错,即修正汇编程序中的错误。不过,也可以用来写短的汇编程序,尤其对初学者而言, DEBUG 是最佳的入门工具。 因为 DEBUG 操作容易: 只要键入DEBUG 回车, A回车即可进行汇编,过程简单,而使用编译器时,必须用到文本编辑器、编译器本身、 LINK以及 EXE2BIN 等程
2、序,其中每一个程序都必须用到一系列相当复杂的命令才能工作,而且用编译器处理源程序, 必须加入许多与指令语句无关的指示性语句即伪指令,以供编译器识别。使用 DEBUG 可以避免一开始就碰到许多难以理解的程序行。DEBUG 除了能够汇编程序之外, 还可用来检查和修改内存位置、载入储存和执行程序、以及检查和修改寄存器,换句话说,DEBUG 是为了让我们接触硬件而设计的。80 x86 和 Pentium微处理器的寄存器功能结构处理器中一些可以保存数据的地方被称作寄存器。寄存器可以被装入数据,也可以在不同的寄存器之间移动这些数据,或者做类似的事情。 基本上,像四则运算、位运算等这些计算操作,都主要是针对
3、寄存器进行的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 2 图 1180 x86 和 Pentium 微处理器的基本结构寄存器一、 DEBUG 常用指令剖析A (Assemble) 汇编指令1. 输入汇编语句被汇编到内存的指定区段, 此区段在开始时用 A 100 指定。2. 所有语句输入完成后 , 按 ENTER 键返回。3. 完成输入后 , 可以用 U命令观看它的反汇编码。名师资料总结 - - -精品资料欢迎下载 - -
4、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 3 格式: -A如果 A后无地址,则 DEBUG 会将 DS :100例 A:DEBUG-a 010008F1:0100 MOV DX,109 08F1:0102 MOV AH,0908F1:0105 INT 21H08F1:0107 INT 20H08F1:0109 db May I help you? $08F1:0115 a-g May I help you Program terminated normallyD (Du
5、mp) 显示命令1. 从指定的地址开始显示内容, 如果没有指定地址 , 则从前一个 D命令继续显示。2. 如果没指定地址并是第一次, 则从 DS:100处开始显示。D 100 ; D 0100 011F ; D FE00:0 ; 回车后可以看到结果,这个就是主板BIOS 的厂商信息D FFFF:5 L8 ; 回车后,主板的 BIOS 版本日期也出来了G (Go) 转移命令1. 执行正在调试的程序 , 当执行到指定的地址时停止, 并显示寄存器和下一条要执行的命令。2.G =address 。用于执行正在调试没有断点的程式,起始地址默认为: DS:100。3. 程序运行结束 ,DEBUG 显示Po
6、rgram terminated normally 。R (Register) 寄存器命令1. 显示一个寄存器的十六进制内容, 并可根据需要改变它们。2. 显示 8 个字母的状态标志 , 并可根据需要更改它们之中的任一个或全部。若想改变标志寄存器,用 -RF回车,则 DEBUG 会将标志内容显示出来,若想改变标志名称设置溢出 OV(溢出) NV( 未溢出 ) 零位 ZR NZ( 不等于零 )方向 DN(减少) UP( 增加) 辅助进位 AC NA(无进位 )中断 EI( 许可) DI( 禁止) 奇偶标志 PE(偶) PO( 奇)符号 NG(负) PL( 正) 进位 CY NC(清除进位 ) 例
7、:-RfNV UP EI PL NZ NA PO NC:- OV DI名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 4 下表是 debug 中的标志寄存器和cpu 中的标志寄存器不同表示的对照:序号类别1 2 3 4 5 6 7 8 9 EFLAG OF DF IF TF SF ZF AF PF CF DEBUG=1 OV UP EI NG ZR AC PE AC DEBUG=0 NV DN DI PL NZ NA PO NA
8、 U (Unassemble) 反汇编命令1. 对指令进行反汇编 , 它们的地址和十六进制以类似于汇编语言的语句一起显示出来。2. 单独用 U命令从 CS:100处开始反汇编。3.U 命令默认段地址包含CS寄存器中。T (Track)跟踪命令T =addressvalue 可以跟踪执行单条指令,也可以由velue 决定执行几条指令。每执行一条指令,IP 就自动指向下一条指令地址。什么是 DOS 、BIOS功能调用? INT 功能号。表一: DEBUG的基本指令用法一览表指令格式功能备注A A 记忆体位址 编译汇编语言指令A 100 C C 区段 1 区段范围 区段 2 将两块内存作比较C 10
9、0 L20 200 D D 记忆体位址 显示记忆体的内容D 100 E E 记忆体位址 编辑记忆体资料E 100 F F 指定区段范围 填充指定内存区块内容F 100 L10 90 G G 区段: 区址 带有任选断点执行G 100 H H 运算子 运算子 十六进制加减运算H 44 33 I I 端口 读/ 显示输入字节 I 70 L L 记忆位址 或 磁碟, 磁轨, 扇区 装入文件或磁区L 100 2 1 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - -
10、 - - - - - - - 5 M M 区段范围 记忆体位址 传送内存区块M 100 L10 110 N N 档案名称 定义文件及参量N ; 其后用 L O O 端口位址 输出字节到端口O 70 19 P P 区段: 区址 在下一指令上停止P 2 Q Q 退出 DEBUG 界面Q R R 寄存器 显示修改寄存器 /标志R AX S S 记忆区段范围 对字符进行检索S 100 L70 j T T = 记忆区段 或 数值范围 单步追踪T U U 记忆位址 对指令进行反汇编U 100 W W 记忆区段 或 指定范围 写入文件或磁盘扇区W 100 0 1 1 二、操作实例DEBUG 的的 A命令可以
11、汇编出简单的COM 文件,规定 DEBUG 编写的程序一定要由地址 100h 开始。试比较下面两种方法的赋值:A100 MOV AX,1111 MOV BX,2222 MOV CX,3333 用 T 命令检查寄存器的数值。然后改用R命令赋值:-RAX 回车出现AX 0000 : 这里再输入数据 1111 R; 即可查到 AX为 1122 1. 输入 A100 ;从 DS :100开始汇编2. 输入 MOV DL,41 ; 将数值 01h 装入 DL 寄存器3. 输入 MOV AH,2 ; 将数值 02h 装入 AH 寄存器4. 输入 INT 21 ; 调用 DOS 21号中断 2 号功能,用来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年用DEBUG学习汇编语言参考 2022 年用 DEBUG 学习 汇编语言 参考
限制150内