今天给各位分享汇编debug怎么看标志位的知识,其中也会对汇编debug查看运行结果进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、关于汇编语言中的标志位
- 2、debug命令的使用
- 3、汇编的几个问题,帮帮忙
- 4、求汇编debug时标志位符号的意思和哪个符号代表0哪个代表1……?
- 5、用debug如何查看当前标志寄存器的标志位值?sf,of,cf,zf
- 6、汇编语言的标志位
关于汇编语言中的标志位
标志名
设置 nv(清除) ov(溢出)
方向 dn(减) up(增)
中断 ei(启用) di(禁用)
正负 ng(负) pl(正)
零 zr(0) nz(非0)
辅助进位 ac(进位) na(不进位)
奇偶校验 pe(偶校验) po(奇校验)
进位 cy(进位) nc(不进位)
debug命令的使用
在Windows 95/98的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“command”命令; 在WindowsXP及WIN7的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“cmd”命令;
2.启动DEBUG
在命令窗口中启动DEBUG,启动命令一般为:DEBUG [文件名] [参数表]。其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。被调试的文件可以是系统中的任何文件,但通常它们的 后缀为.EXE或.COM。 当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。DEBUG中所有命令及其含义如DEBUG各命令功能说明表 所示。 关于使用命令的几点说明:在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行命令是单个字母,命令和参数的大小写可混合输入可用F1、 F2、F3、Ins、Del、左移键、右移键等编辑键来编辑本行命令当命令出现语法错误时,将在出错位置显示“^ Error”可用Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用Ctrl+S或Ctrl+Num Lock来暂停屏幕显示(当连续不断地显示信息时)
以下通过实现十九个示例来熟悉DEBUG的命令集和基本的汇编指令。
R命令的使用
R命令作用:观看和修改寄存器的值。
在提示符“-”下输入以下命令:R。DEBUG将会显示出当前所有寄存器和标志位的状态。
接下来再输入命令RCX。在提示符“:”后输入100。该命令的作用是将寄存器CX的值设置为100(注意:DEBUG使用的是十六进制,这里的100相当于十进制的256。)
最后再执行R命令,观看修改后的寄存器值。
H命令的使用
H命令作用:计算两个十六进制数的和与差。
在提示符“–”下输入以下命令:H 10 1。观看命令执行结果。
运行结果的前一个数是计算出来的和,后一个数是计算出来的差。计算结果均用十六进制形式表示。
汇编的几个问题,帮帮忙
1.你可以先把16位的寄存器的内容分别与上000Fh,00F0h,0F00h,F000h得到4个四位,然后不足的位数不上0,放在一个8位的寄存器里,再压到堆栈里面去
2.首先你要知道标志寄存器里的内容是哪些,或者说tf标志位是第几位。
追踪标志TF(Trap Flag)
位于标志寄存器的第8个位。
当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。
你可以直接把标志寄存器异或(XOR)100H就可以将1改变为0,将0改变为1了。
如果想看标志位,你在debug中,每次执行G命令,可以看到所有的标志位
求汇编debug时标志位符号的意思和哪个符号代表0哪个代表1……?
NV: 未溢出0 OV: 溢出1
UP: 方向为上0(di,si += 1) DN:方向为下1(di,si -= 1)
DI: 关中断0 EI: 开中断1
PL: 正0 NG: 负1
NZ: 非0 0 ZR: 0 1
NA: 无辅助进位0 AC: 辅助进位1
PO: 奇数0 PE: 偶数1
NC: 无进位0 CY: 进位1
用debug如何查看当前标志寄存器的标志位值?sf,of,cf,zf
-r用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC
这些符号代表的就是标志寄存器里常用标志位的值。这个是符号值对应表:溢出标志OF(Over flow flag) OV(1) NV(0)
方向标志DF(Direction flag) DN(1) UP(0)
中断标志IF(Interrupt flag) EI(1) DI(0)
符号标志SF(Sign flag) NG(1) PL(0)
零标志ZF(Zero flag) ZR(1) NZ(0)
辅助标志AF(Auxiliary carry flag) AC(1) NA(0)
奇偶标志PF(Parity flag) PE(1) PO(0)
进位标志CF(Carry flag) CY(1) NC(0)
汇编语言的标志位
建议你自己动手看看。
如果装了MASM,
你在window下点开始-》运行-》cmd
然后运行debug
输入A(回车)
MOV AH, 73(回车)
ADD AH,AH(回车)
(回车)
然后用T命令单步执行,你可以看到所有的标志位的状态。
由于送入ALU的数据是8位的,所以,看是否有进位,要看结果是不是9位。结果不是,所以CF=0
相加之前的两个数都是正数,相加之后,由于最高位为1,故作为有符号数,其值为负数,所以产生溢出,也就是说相加的结果已经超过了8位所能表示的最大正数。
汇编debug怎么看标志位的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于汇编debug查看运行结果、汇编debug怎么看标志位的信息别忘了在本站进行查找喔。
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » 汇编debug怎么看标志位(汇编debug查看运行结果)