错题总结

Posted zyx20171346065

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错题总结相关的知识,希望对你有一定的参考价值。

在内存中,指令和数据都以二进制方式存在,在形式上没用差别。

 

寄存器在CPU内部用于存储数据的部件,进而实现对CPU的控制。

 

8086CPU的地址总线宽度为20bit,它寻址范围是0-FFFFF H

 

地址宽度决定了CPU的寻址能力。数据总线的宽度决定了CPU与外设之间的传输速度。

 

伪指令不会产生机械码。

 

如果一根内存条为8G,表示CPU的内存地址为8G

CPU内存地址大小是地址总线的宽度决定的。内存地址空间,及逻辑地址空间,是所有物理内存在逻辑上的统一编址。

 

冯诺依曼体系结构的核心思想是存储程序。即指令和数据都必须以二进制存储在内存中。

 

冯诺依曼体系结构中,认为数字计算机中五大部分为控制器,运算器,存储器(内存),输入设备,输出设备。

 

8086中,物理地址为FF00H的内存地址单元,相应逻辑地址既可以表示为FFF00,也可表示为FF000F00

分析:只需要满足 段地址*16+偏移地址=物理地址 即可

 

8086中内存逻辑地址用 段地址:偏移地址 表示。其中,段地址*16表示的是这个逻辑段的起始物理地址,偏移地址则可以理解为内存单元相对于段起始物理地址的位移量。

 

他们是8086中通用的16位寄存器。CPU内部运算时,他们通常被用来保存操作数和中间结果。

 

为了和早期8CPU的指令集相兼容,这个四位寄存器可以分别拆开成两个独立的8位寄存器使用。如AX可以当作AHAL两个单独的8位寄存器。

AX作为两个寄存器的时候,就是单独的寄存器!

 

汇编指令mov ax4c00hmov ah4ch都可以使寄存器ah的值为4ch

 

处理器的ISA,全称Instruction Set Architecture(指令集体系结构),指的是处理器支持的指令以及指令的字节级编码

 

Intel公司x86系列的CPU,其硬件架构不同,所支持的指令及指令的字节编码也不同

 

不同CPU生产厂商的CPUISA级别上不一定互相兼容,各自有各自ISA

对于不同的CPU 生产商,在生产时遵从相同的ISA,则认为这些CPUISA级别上时兼容的。

 

相同的CPU有不同的汇编指令集。

X86系列CPU80868083为例,虽然同属一个系列,但808616CPU808632CPU,后者支持的指令集比8086支持的指令集丰富的多。

 

寄存器CS,全称Code Segment Register,代码段寄存器,用来存放代码段的段地址。

 

寄存器IP,全称Instruction Pointer,指令指针寄存器,用来存放代码段地址

 

寄存器CSIP的值合在一起,CS:IP的值合在一起,恰好构成计算器中下一位将要执行指令的逻辑地址,由此通过段地址*16+偏移地址=物理地址计算出下一位治理的物理地址。

 

CPU在工作时,每取一条指令,会同时自动修改IP的值,为下一次取指令做准备,具体做法是将IP的当前值加上正在读取的指令的长度,作为IP地址。

 

8086内存空间中的内存单元而言,20位的物理地址是唯一的,而逻辑地址则可能有很多,具体于逻辑段的划分有关。例如:8086中,物理地址为FF00H的内存地址单元,相应逻辑地址既可以表示为FFF00,也可表示为FF000F00

分析:只需要满足 段地址*16+偏移地址=物理地址 即可。

 

 

                                                                                                                                

8086中,段 是一个逻辑上的概念,是为了解决8086内部16位寄存器无法表示20位地址而在逻辑上对内存进行分块使用的机制。

 

内存地址空间的大小,与CPU地址总线的宽度有关。比如8086地址总线宽度20bit,因此,内存空间范围是0-FFFFFH,即1M的容量。

 

8086中,对内存地址空间逻辑上进行分段时候,只要段的大小不超过64KB即可,至于逻辑段的起始位置,则没有要求。比如一个逻辑段不可以从12305H开始。段的起始物理地址必须是16的整数倍。

以上是关于错题总结的主要内容,如果未能解决你的问题,请参考以下文章

C语言错题总结

C语言错题总结

Struts2错题总结

mybatis自测错题总结

错题总结08.12

错题总结