汇编语言—寄存器

本文介绍了8086CPU的寄存器结构,特别是通用寄存器AX、BX、CX和DX的使用,以及16位寄存器如何分为高位和低位。内容涵盖了内存地址空间、存储单元、地址总线、数据总线和控制总线的概念,以及CPU的工作流程。同时,通过分析汇编语言中的段地址和偏移地址,解析了物理地址的计算方式。文章以一个简单的攻防世界RE1题目为例,展示了在IDA中查找和解密flag的过程。
摘要由CSDN通过智能技术生成

寄存器

一个CPU由寄存器,运算器,控制器组成,寄存器负责存储数据。通用寄存器:AX,BX,CX,DX。8086CPU的寄存器都是16位的,能存放两个字节。一个寄存器又能分为两个部分,一个高位字节如AH,还有一个地位字节如AL。这两个部分可以单独看成一个八位寄存器来用。当寄存器当整体来看时,它可以进行16位的二进制运算,当分成高位低位来看时,只能算八位的。就比如当mov AL,N。当N化成二进制大于8位时,存在AL中的数据只有N的后八位,第一位要舍去。而当看成整体计算时,就会进一位,不会舍去。

一些基本的知识我们得知道,后面这些真的枯涩。
1.存储单元:存储器被划分为若干个存储单元,一个存储单元有一个字节也就是八个bit,也就是八位。可以存储八个二进制位。

2.地址总线:地址总线的寻址能力由地址总线的宽度决定,宽度用多少根线来表示,比如有十根地址总线,那么宽度就是十。假设宽度是N,那么这台电脑能寻找2的N次方个存储单元。

内存地址空间:一个CPU的地址总线关系到构成这CPU的内存地址空间,地址总线宽度为N,那么这个CPU只能寻到2的N次方的内存地址空间,这可寻到的2的N次方的内存单元就是这CPU的内存地址空间。 因为一个内存单元为一字节,所以地址总线的寻址能力通常也可以用KB,MB,GB来表示。如宽度为十,2的10次方。寻址能力就是1KB,都是表示1024个内存单元。

逻辑存储器(内存地址空间):一个假想的存储器,CPU将系统中各类存储器看成一个逻辑存储器,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值