汇编笔记(1)

习惯上把cpu和主存储器合称主机。除了主存储器外还有辅助储存器,简称辅存,也叫外存。在这里插入图片描述

在这里插入图片描述

指针寄存器

指针寄存器有SP和BP:一般用来存放16位地址,在形成20位的物理地址时常被用做偏移量使用。
SP:在进行堆栈操作时被隐含使用,被用来指向堆栈顶部单元。
BP:被用来指向堆栈段内某一存储单元,除了用作地址指针外也可以象数据寄存一样。

变址寄存器

有两个16位变址寄存器SI源变址寄存器)和DI(目的变址寄存器) ,一般用来作地址指针。同BP寄存器一样,也可用作通用寄存器。
在这里插入图片描述

CPU在访问存储器时必须指明两个内容:

(1)所访问的存储单元属于哪个段,即指明使用的段寄存器。
(2)该存储单元与段起始地址(段基址)的相距多少,即偏移量。

指令指针IP

CPU在从存储器取指令时,以段寄存器CS作为代码段的基址指针,以IP的内容作为偏移量,共同形成一条指令的存放地址。
当CPU从内存中取出一条指令后,IP的内容自动修改为指向下一条指令。
在这里插入图片描述

TIPS

==IP的内容不能被直接被访问,即无法用指令去读IP的值,也不能用指令给它赋值。但是可以通过某些指令的执行而自动修改IP的值。
在这里插入图片描述

标志寄存器

在这里插入图片描述
标志位分为状态标志控制标志
状态标志位:CF (Carry Flog), PF (Parity Flog), AF(Assistant Flog) ,ZF(Zero Flag) , SF(Symbol Flag) , OF(Overflow Flag)
控制标志位:TF(Trace Flog) , DF(Direction Flog) ,== IF==(interregnum Flog)

CF

在进行算术运算时,若最高位产生借位或进位时,CF被自动置“1”。(对字是15位,对字节是7位)
在移位类指令中,CF也被用来存放从最高位左移出来或最低位右移出来的数值。

PF

当指令操作结果的低8位中含有1的个数为偶数时,则PF被置“1”(只反映操作结果的低8位)。

AF

在进行算数运算时,若低字节的低4位向高4位产生进位或借位,==即第3位产生进位或借位时,AF置“1”(AF只反映运算结果的低8位)。

ZF

若运算结果各位全为0,ZF被置“1”。

SF

将运算结果视为带符号数,当运算结果为负数时SF被置1,(即SF位与运算结果的最高位715 相同)

OF

当运算结果超过机器用补码所能表示数的范围时,OF置“1”。
字节数据,范围: -128~+127
字数据,范围:-32768~+32767

TF

单步标志位供调试程序使用。
当TF位被设置为1时,每执行一条指令后,CPU暂停运行,即产生单步中断。

IF

被设置为1时,CPU可以响应可屏蔽中断,否则不行。

DF

DF用来规定串操作指令的增减方向。DF=0时,串操作指令可以使变址寄存器(SI和DI)内容递增。为“1”使递减。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值