2 zer1123 zer1123 于 2017.01.01 16:06 提问

汇编语言中算术运算指令SUB的标志寄存器的用法

汇编指令MOV AL = 80H,SUB AL,1 执行后,OF中的值为啥不是0?

1个回答

caozhy
caozhy   Ds   Rxr 2017.01.01 18:56

如果两个数的符号相反而结果的符号与减数相同,则OF=1,80H,相当于负了。1是正。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
汇编指令sub也改变标志位
SUB:不带借位的减法指令。 【指令格式】SUB OP1,OP2 【指令功能】(OP1)←(OP1)-(OP2),将OP1-OP2的值,保存在OP1中,如: SUB [EAX],1 以EAX寄存器为内存地址,将该地址的值减1,类似C/C++中的 i--; 【指令介绍】 目的操作数减去源操作数,结果放在目的操作数中。源操作数原有内容不变,并根据运算结果置标志位SF,ZF,AF,PF,CF,
汇编语言-标志寄存器
汇编语言-标志寄存器, 检测比较结果的条件转移指令, abc, sbb
汇编语言之标志寄存器
 1、标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作 用: 1. 用来存储相关指令的某些执行结果。 2. 用来为CPU执行相关指令提供行为依据。 3. 用来控制CPU的相关工作方式。 这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的寄存器,在前面已经学过13个了,现 在学习最后一个寄存器FR-标
微机原理--第三章(3)算术运算指令(1)
(1)加法类指令 ADD DST,SRC ;DST←(DST)+(SRC) ADC DST,SRC ;DST←(DST)+(SRC)+CF 影响6个状态标志位。 ADC指令主要与ADD配合,实现多精度加法运算。 INC DST;DST(DST)+1 不影响进位CF标志,影响其他5个状态标志 (2)减法类指令 SUB DST,SRC ;DST←(DST)-(SRC) SBB
汇编,减法指令SUB是怎样影响标志位的?
SUB影响全部的条件标志:1.减法的CF反应的是无符号数运算中的借位情况:当减数>被减数是CF=1,否则CF=02.OF:如果两个数的符号相反而结果的符号与减数相同,则OF=1,否则OF=0;3.SF(运算结果
汇编加减乘除指令 add adc sub sbb mul div
以下均是对于实模式来说。 加 指令 add add 寄存器,数据 比如:add ax,8 add 寄存器,寄存器 比如:add ax,bx add 寄存器,内存单元 比如:add ax,[0] add 内存单元,寄存器 比如:add [0],ax 指令adc adc是带进位加法指令,利用了CF标志位上记录的进位值。如
4. 算术运算指令,ADD/ADC,SUB/SBC ,MUL
4.         算术运算指令,ADD/ADC,SUB/SBC ,MUL n         ADD加法指令 ADD R0,R1,R2; R0=R1+R2 ADD R0,R1,#3 ;R0=R1+3 n         ADC带进位加法指令,即除了加两个数以外,还要把CPSR的C值也要带进来 u              通常用于大数(超过32Bit整数)相加,这时单用ADD不能处理
汇编 | and和or指令
(1)例如指令: mov al,01100011B and al,00111011B 执行后:al=00100011B (2)例如指令: mov al,01100011B or al,00111011B 执行后:al=01111011B
汇编 | mov、add 、sub
mov指令的几种形式 mov 寄存器,数据(比如:mov ax,8) mov 寄存器,寄存器(比如:mov ax,bx) mov 寄存器,内存单元(比如:mov ax,[0]) mov 内存单元,寄存器(比如:mov[0],ax) mov 段寄存器,寄存器(比如:mov ds,ax) mov 寄存器,段寄存器(比如:mov ax,ds) mov 内存单元,段寄存器(比如:mov [0
汇编指令 - 状态寄存器、cmp、test、jz等指令
汇编指令 - 状态寄存器、cmp、test、jz等指令