flag的第6位是ZF,零标志位。它记录相关指令执行后,其结果是否为0。如果结果为0,那么zf=1;如果结果不为0,那么zf=0。
flag的第2位是PF,奇偶标志位。它记录相关指令执行后,其结果的所有的bit位中1的个数是否为偶数。如果1的个数为偶数,pf=1,如果为奇数,那么pf=0。
flag的第7位是SF,符号标志位。它记录相关指令执行后,其结果是否为负。如果结果为负,sf=1;如果非负,sf=0。
flag的第0位是CF,进位标志位。一般情况下,在进行无符号数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值。
在进行有符号数运算的时候,如结果超过了...


- [游客] 3楼正解 09/02 21:29
- [smallwolf] mul al执行后SF=0,计算结果为ax=0090h,ax是个16位寄存器,最高位为计算结果为0, 10/19 12:45
- [573085020] 呵呵!不错 10/17 21:20
- [smallwolf] 要将正数转成对应的负数,其实只要用0减去这个数就可以了。比如,-8其实就是0-8。 已知8的二 10/17 11:45
- [smallwolf] 受教啦!以后一定会写清楚注释的,课设1还没看到呢! 10/14 23:04
- [njutyangxiao] 记得写程序要有注释,把每一步条指令的目的是什么都写写。就像这道题为什么ax中的值是1010呢?因为c 10/14 22:05
- [njutyangxiao] 关键是要明白它为什么能够正确执行。重点是要注意 jmp short s1的机器码。那你就能理解他为 10/14 21:56
- [smallwolf] 基本三术-忍术、体术、幻术 <<忍 术>> 将体内的查克拉提炼出来使用,或是让术者肉 10/13 18:50
- [smallwolf] 掌仙术-兜使用的回复术,不论内伤外伤都可靠放出的查可拉达到惊异的回复速 度。即使在医疗班中,能使用的 10/13 18:49
- [smallwolf] 凯┌日向 10/13 18:48
[2009-10-28 20:21] 对标志寄存器的一些复习
阅读全文 |
评论次数(0) |
浏览次数(860) |
所属类型(默认类型)
[2009-10-17 12:11] 各标志位在debug中的意思!
1 OF 溢出(是/否) OV OVerflow NV Not oVerflow
DF 方向(减量/增量) DN DowN UP UP
IF 中断(允许/关闭) EI Enable Interrupt DI Disable Interrupt
SF 符号(负/正) NG NeGative PL PLus
ZF 零(是/否) ZR ZeRo ...
DF 方向(减量/增量) DN DowN UP UP
IF 中断(允许/关闭) EI Enable Interrupt DI Disable Interrupt
SF 符号(负/正) NG NeGative PL PLus
ZF 零(是/否) ZR ZeRo ...
阅读全文 |
评论次数(1) |
浏览次数(1177) |
所属类型(默认类型)
[2009-10-17 11:35] 补码
补码(two's complement)
1、在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
2、补码与原码的转换过程几乎是相同的。
求给定数值的补码表示分以下两种情况:
(1)正数的补码:与原码相同。
【例1】+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
【例2】求-7的补码。
因为给定数是负数,则符号位为“...
1、在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
2、补码与原码的转换过程几乎是相同的。
求给定数值的补码表示分以下两种情况:
(1)正数的补码:与原码相同。
【例1】+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
【例2】求-7的补码。
因为给定数是负数,则符号位为“...
阅读全文 |
评论次数(1) |
浏览次数(1249) |
所属类型(默认类型)
[2009-10-15 21:26] 容易出问题的地方!
8086CPU读取、执行指令的工作原理。
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取指令的长度,从而指向下一条指令;
(3)执行指令。转到步骤(1),重复这个过程。
主要强调每条指令执行时,IP的值先加,再执行指令。
loop 标号 执行过程:
(1)(cx)=(cx)-1;
(2)如果(cx)≠0,(IP)=(IP)+8位位移。
主要强调(cx)=(cx)-1先执行,再执行loop的功能。...
(1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取指令的长度,从而指向下一条指令;
(3)执行指令。转到步骤(1),重复这个过程。
主要强调每条指令执行时,IP的值先加,再执行指令。
loop 标号 执行过程:
(1)(cx)=(cx)-1;
(2)如果(cx)≠0,(IP)=(IP)+8位位移。
主要强调(cx)=(cx)-1先执行,再执行loop的功能。...
阅读全文 |
评论次数(0) |
浏览次数(899) |
所属类型(默认类型)
[2009-10-13 17:05] 关于ret,retf,call的一些知识
用汇编语法解释:
CPU执行RET指令时,相当于进行:
pop IP
CPU执行RETF指令时,相当于进行:
POP IP
POP CS
CPU执行“call 标号”时,相当于进行:
PUSH IP
JMP NEAR PTR 标号
CPU执行“call far ptr 标号”时,相当于进行:
PUSH CS
PUSH IP
JMP FAR PTR 标号
CPU执行“call 16位reg”时,相当于进行:
PUSH IP
JMP 16位reg...
CPU执行RET指令时,相当于进行:
pop IP
CPU执行RETF指令时,相当于进行:
POP IP
POP CS
CPU执行“call 标号”时,相当于进行:
PUSH IP
JMP NEAR PTR 标号
CPU执行“call far ptr 标号”时,相当于进行:
PUSH CS
PUSH IP
JMP FAR PTR 标号
CPU执行“call 16位reg”时,相当于进行:
PUSH IP
JMP 16位reg...
阅读全文 |
评论次数(0) |
浏览次数(897) |
所属类型(默认类型)
[2009-10-09 19:01] 栈的综述
(1)8086CPU提供了栈操作机制,方案如下。
在SS、SP中存放栈顶的段地址和偏移地址;
提供入栈和出栈指令,它们根据SS:SP指示的地址,按照栈的方式访问内存单元。
(2)PUSH指令的执行步骤:①SP=SP-2;②向SS:SP指向的字单元中送入数据。
(3)POP指令的执行步骤:①从SS:SP指向的字单元中读取数据;②SP=SP+2。
(4)任意时刻,SS:SP指向栈顶元素。
(5)8086CPU只记录栈顶,栈空间的大小我们要自己管理。栈顶的变化范围最大为:0~FFFFH。
(6)用栈来暂存以后需要恢复的寄存器的内容时,寄存器出栈的顺序要和入栈的顺序相反。
(7)pus...
在SS、SP中存放栈顶的段地址和偏移地址;
提供入栈和出栈指令,它们根据SS:SP指示的地址,按照栈的方式访问内存单元。
(2)PUSH指令的执行步骤:①SP=SP-2;②向SS:SP指向的字单元中送入数据。
(3)POP指令的执行步骤:①从SS:SP指向的字单元中读取数据;②SP=SP+2。
(4)任意时刻,SS:SP指向栈顶元素。
(5)8086CPU只记录栈顶,栈空间的大小我们要自己管理。栈顶的变化范围最大为:0~FFFFH。
(6)用栈来暂存以后需要恢复的寄存器的内容时,寄存器出栈的顺序要和入栈的顺序相反。
(7)pus...
阅读全文 |
评论次数(3) |
浏览次数(1126) |
所属类型(默认类型)
[2009-10-09 00:54] 1.1~1.10 小结
(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即8位二进制数。
(7)1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB。
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能。
地址总线的宽度决定了CPU的寻址能力;
数...
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储8个bit,即8位二进制数。
(7)1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB。
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能。
地址总线的宽度决定了CPU的寻址能力;
数...
阅读全文 |
评论次数(0) |
浏览次数(262) |
所属类型(默认类型)
页码数(1):
1