p202第十一章 标志寄存器
11 OF 溢出标示位。对于有符号数。
10 DF 方向标志位。
9 IF
8 TF
7 SF 符号标志位。相关指令执行后,其结果为负,则sf=1,反之为sf=0。
6 ZF 零标置位。相关指令执行后,其结果为零,则zf=1,反之为0。
4 AF
2 PF 奇偶标置位。相关指令执行后,其结果所有二进制位数中1的个数为偶数,则pf=1,反之为0。
0 CF 进位标置位。对于无符号数。
对于下面指令
mov al,0f0h
add al,088h
add指令执行后,cf=1,of=1。对于无符号数运算,有进位,cf=1;...

- [deepblue] 有一个简单的方法,把源文件和头文件 都放到tc根目录 用tcc fmt line word 11/28 17:26
- [游客] 1、dtoc中没有用到的寄存器就不要入栈保存了。其他标号后面的程序也一样。 2、divdw中用 05/24 11:36
- [mouse] 就说mov指令吧,不过是把寄存器的值或是内存的值变化一下,既不会发生进位,也不会溢出,又不会... 05/13 09:40
- [tomato] 是因为它不需要标志位来记录状态,用不到标志寄存器,所以就不会影响吧! 05/13 09:02
- [black] 对于需要改进这样的问题,主要指的是问题解决办法,可以说是算法 对于算法的改进,还是先请博主说出自己 05/07 14:21
- [younggay] 两个程序都有除法溢出的错误。 博主还是先把这个给解决了吧。 04/25 14:47
- [wdm] (地址)表示的是该地址处的内容,而不是地址。这在书中好像提到过了。所以,感觉博主的有些描述就显得多余 04/15 13:16
[2007-11-03 12:47] debug中查看标志寄存器
[2007-12-23 16:22] 汇编中断参考大全-汇总
我觉得这些中断也就是个子程序,知道了输入和输出会使用就行了,没有必要去记它,了解中断的根本原理才是重点。不过熟练几个常用的中断还是有用的;-)
中断使用举例:
=====================
键盘输入数字转化成二进制输出到屏幕〔多次调用int21h中断〕
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=4526&kindId=4140&postId=7094&readSg=1&vs=1
都发上来了,不过还是有些乱,整个目录,用的时候也好查,嘿嘿~
目录:
---------------...
中断使用举例:
=====================
键盘输入数字转化成二进制输出到屏幕〔多次调用int21h中断〕
http://www.asmedu.net/blog/user/postcontent.jsp?neighborId=4526&kindId=4140&postId=7094&readSg=1&vs=1
都发上来了,不过还是有些乱,整个目录,用的时候也好查,嘿嘿~
目录:
---------------...
[2007-09-14 19:52] DEBUG 命令参考手册
Debug
启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。
Debug [[drive:][path] filename [parameters]]
参数
[drive:][path] filename
指定要测试的可执行文件的位置和名称。
parameters
指定要测试的可执行文件所需要的任何命令行信息。
++
说明
使用 Debug 命令但不指定要测试的文件
如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。
Debug 命令
以下是 De...
启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。
Debug [[drive:][path] filename [parameters]]
参数
[drive:][path] filename
指定要测试的可执行文件的位置和名称。
parameters
指定要测试的可执行文件所需要的任何命令行信息。
++
说明
使用 Debug 命令但不指定要测试的文件
如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。
Debug 命令
以下是 De...
[2007-10-24 13:47] 学习笔记:调试程序debug常用指令的使用(1)
调试程序debug常用指令的使用
Debug原意是杀虫子。这里是可用于测试和调试 MS-DOS 可执行文件的程序。
DEBUG是为汇编语言设计的一种调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。DEBUG可以直接用来检查和修改内存单元、装入、存储及启动运行程序、检查及修改寄存器,也就是说DEBUG可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。不仅如此,对汇编语言初学者来说,DEBUG也是练习使用汇编指令的一种有效工具。初学者可以直接在DEBUG环境下执行汇编指令。然而,在DEBUG下运行汇编语言源程序也受到了一些限制,它不宜汇...
Debug原意是杀虫子。这里是可用于测试和调试 MS-DOS 可执行文件的程序。
DEBUG是为汇编语言设计的一种调试工具,它通过单步执行、设置断点等方式为汇编语言程序员提供了非常有效的程序调试手段。DEBUG可以直接用来检查和修改内存单元、装入、存储及启动运行程序、检查及修改寄存器,也就是说DEBUG可深入到计算机的内部,可使用户更紧密地与计算机中真正进行的工作相联系。不仅如此,对汇编语言初学者来说,DEBUG也是练习使用汇编指令的一种有效工具。初学者可以直接在DEBUG环境下执行汇编指令。然而,在DEBUG下运行汇编语言源程序也受到了一些限制,它不宜汇...
阅读全文 |
作者:goal00001111 |
评论次数(2) |
浏览次数(1487)
[2007-11-26 16:51] 标志寄存器~小结~
1:标志寄存器的作用:
(1) 用来存储相关指令的某些执行结果。
(2) 用来为CPU执行相关指令提供行为依据。
(3) 用来控制CPU的相关工作方式。
8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)
Flag寄存器是按位起作用的。
2:第0位是CF,进位标志位,是对无符号运算有意义的标志位
第2位是PF,奇偶标志位
第4位是AF,辅助进位标志位
第6位是ZF,零标志位
第7位是SF,符号标志位
第8位是TF,步进标志位,当为1时,使处理器执行单步操作。
第9位是IF,陷阱标志位,当为1时,容许响应中断,否则关中断。
第10位是DF,...
(1) 用来存储相关指令的某些执行结果。
(2) 用来为CPU执行相关指令提供行为依据。
(3) 用来控制CPU的相关工作方式。
8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)
Flag寄存器是按位起作用的。
2:第0位是CF,进位标志位,是对无符号运算有意义的标志位
第2位是PF,奇偶标志位
第4位是AF,辅助进位标志位
第6位是ZF,零标志位
第7位是SF,符号标志位
第8位是TF,步进标志位,当为1时,使处理器执行单步操作。
第9位是IF,陷阱标志位,当为1时,容许响应中断,否则关中断。
第10位是DF,...
阅读全文 |
作者:happyxulingli |
评论次数(2) |
浏览次数(1577)
[2008-04-29 15:09] 函数指针数组
关于函数指针数组的定义
关于函数指针数组的定义方法,有两种:一种是标准的方法;一种是蒙骗法。
第一种,标准方法:
{
分析:函数指针数组是一个其元素是函数指针的数组。那么也就是说,此数据结构是是一个数组,且其元素是一个指向函数入口地址的指针。
根据分析:首先说明是一个数组:数组名[]
其次,要说明其元素的数据类型指针:*数组名[].
再次,要明确这每一个数组元素是指向函数入口地址的指针:函数返回值类型 (*数组名[])().请注意,这里为什么要把“*数组名[]”用括号扩起来呢?因为圆括号和数组说明符的优先级是等同的,如果不用圆括号把指针数组说明表达式...
关于函数指针数组的定义方法,有两种:一种是标准的方法;一种是蒙骗法。
第一种,标准方法:
{
分析:函数指针数组是一个其元素是函数指针的数组。那么也就是说,此数据结构是是一个数组,且其元素是一个指向函数入口地址的指针。
根据分析:首先说明是一个数组:数组名[]
其次,要说明其元素的数据类型指针:*数组名[].
再次,要明确这每一个数组元素是指向函数入口地址的指针:函数返回值类型 (*数组名[])().请注意,这里为什么要把“*数组名[]”用括号扩起来呢?因为圆括号和数组说明符的优先级是等同的,如果不用圆括号把指针数组说明表达式...
阅读全文 |
作者:xiaoqiang |
评论次数(2) |
浏览次数(2329)
[2008-05-29 15:57] 汇编指令总结
一.数据传送指令
1.传送指令(move)
语句格式:mov opd,ops
功能:将源操作数ops,传送至目的地址opd中,即(ops)->opd
影响标志位:无
2.数据交换指令(exchange)
语句格式:xchg opd,ops
功能:将源地址与目的地址中的内容互换,(opd)->ops,(ops)->opd
影响标志位:无
3.查表转换指令(translate)
语句格式:xlat ops或xlat
功能:描述为([bx+al])->al,即将以(bx)为首址,(al)为位移量的字节存储单元中的内容传送至al中
影响标志位:无
4.传送偏移...
1.传送指令(move)
语句格式:mov opd,ops
功能:将源操作数ops,传送至目的地址opd中,即(ops)->opd
影响标志位:无
2.数据交换指令(exchange)
语句格式:xchg opd,ops
功能:将源地址与目的地址中的内容互换,(opd)->ops,(ops)->opd
影响标志位:无
3.查表转换指令(translate)
语句格式:xlat ops或xlat
功能:描述为([bx+al])->al,即将以(bx)为首址,(al)为位移量的字节存储单元中的内容传送至al中
影响标志位:无
4.传送偏移...
[2008-01-07 23:06] 第四章实验三出现的问题
在论坛上看了一下,很多人都遇到这个错误。有人给出的原因如下,暂时不能完全理解,先记录下来。
问题1、TT单步执行 pop ax 时,出现 NTVDM CPU 遇到无效指令 对话框。为什么?如何解决?
-----------------------------------------------------------------------------------------
在windows系列操作系统环境下,我们进入的cmd或command都是工作在保护模式下的DOS操作系统的虚拟机,在保护模式下, windows操作系统要对程序执行的优先权以及程序访问内存空间的权限和方式进...
问题1、TT单步执行 pop ax 时,出现 NTVDM CPU 遇到无效指令 对话框。为什么?如何解决?
-----------------------------------------------------------------------------------------
在windows系列操作系统环境下,我们进入的cmd或command都是工作在保护模式下的DOS操作系统的虚拟机,在保护模式下, windows操作系统要对程序执行的优先权以及程序访问内存空间的权限和方式进...
阅读全文 |
作者:superdiablo |
评论次数(2) |
浏览次数(728)
页码数(1):
1