汇编语言$什么意思 您所在的位置:网站首页 计算机中cf是什么意思 汇编语言$什么意思

汇编语言$什么意思

2024-06-13 08:35| 来源: 网络整理| 查看: 265

在学习汇编语言的时候,状态标志位中CF和OF的区别让我头疼,说实话一直不太明白CF和OF是什么意思,但后来看了王爽的汇编语言就懂了。

CF是进位标志位,CF=1表示进位或者借位,CF=0没有进位或者借位。举个例子一个数是8位,那么他的最高有效位就是7位,这里懂得,计算机中是从0开始计数的,,那么比最高有效位更高的就是下一个8位的第0位,画一个图

e922813f299ebbbecdf4a8de115acadf.png

还需要注意的是,CF是进行无符号数运算时记录最高有效位向更高为进位值,或者借位值。这里你可以这样理解,当第七位也就是最高有效位还向图中假想的更高为进位(借位)时,这是将这个进位(借位)(也就是1)让CF保存。首先是要理解什么是无符号数,以8位为例,无符号位最大为11111111,没错8个1,转化为十进制也就是最大值是256。有符号数就是最高位是用来表示符号的,1表示负,0表示正。例如1111 1111,最高位是1,表示负,最小值-128,01111111最高位是0,表示正,最大是127,也就是说,一个字节(8位)表示有符号数时,范围是-128到127。

在运算有符号数(以一个字节为例)时溢出时用OF表示,OF=1是溢出,OF=0表示没有溢出。首相要明白溢出是什么意思,溢出白话就是说最终的结果超出了-128或者127,以致于一个字节存不下)

讲了这么多,举个例子,

MOV AL,7EH

ADD AL,5BH

结果AL=D9,AL是AX的低8位

那么这两条指令执行后,状态标志位的状态CF和OF是什么

首先你要想D9是有符号数还是无符号数,因为计算机中的数值是以补码存储的,不知道是有符号还是无符号,当D9是无符号数时,AL能否存得下D9?可以这样想,AL最大存的无符号数是FF,这时D97F,说明溢出了,OF=1

好了,就说这么多,



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有