P47 字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。
P48 任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可看成一个地址为N的字单元的高位字节单元和低位字节单元。
P49 8086CPU不支持将数据直接送入段寄存器的操作。为什么8086CPU不支持将数据直接送入段寄存器的操作?这属于8086CPU硬件设计的问题,我们只要知道这一点就行了。
P53 mov 段寄存器,内存单元 可行。
add ds,ax 不可行。
P57 8086CPU的入栈和出栈操作都是以字为单位进行的。
P59 CPU如何知道栈顶的位置?
在8086CPU中,有两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中。任意时刻,SS:SP指向栈顶元素。push指令和pop指令执行时,CPU从SS和SP中得到栈顶的地址。
P60 8086CPU中,入栈时,栈顶从高地址向低地址方向增长。
P63 8086CPU不保证我们对栈的操作不会超界。这也就是说,8086CPU只知道栈顶在何处(由SS:SP指示),而不知道我们安排的栈空间有多大。这点就好像CPU只知道当前要执行的指令在何处(CS:IP),而不知道要执行的指令有多少。从这两点上我们可以看出8086CPU的工作机理,它只考虑当前的情况:当前的栈顶在何处,当前要执行的指令是哪一条。
P68 push指令的执行步骤:1.SP=SP-2;2.向SS:SP指向的字单元中送入数据。
pop指令的执行步骤:1.从SS:SP指向的字单元中读取数据;2.SP=SP+2。
P74 图3.19中的实验过程不明白……
第3章 寄存器(内存访问) 笔记
最新推荐文章于 2022-06-25 14:15:25 发布