兰州做网站企业,站长之家的作用,网站建设 指标,潍坊网站收录CPU中#xff0c;用16位来存储一个字。高8位存放高位字节#xff0c;低8位存放低位字节。内存存储中#xff0c;内存单元是字节单元#xff08;1单元1字节#xff09;#xff0c;则一个字要用两个地址连续的内存单元存放。内存存储中#xff0c;高位字节#xff0c;和低… CPU中用16位来存储一个字。高8位存放高位字节低8位存放低位字节。内存存储中内存单元是字节单元1单元1字节则一个字要用两个地址连续的内存单元存放。内存存储中高位字节和低位字节是相对的指令指向的是低位字节。字单元即存放一个字型数据16位2字节的内存单元由两个地址连续的内存单元组成。8086CPU中有一个DS寄存器通常用来存放要访问数据的段地址。MOV指令的几种种功能 将数据直接送入寄存器 mov ax,1000H将一个寄存器中的内容送入另一个寄存器 mov ax,bxmov ds,ax将一个内存单元中的内容送入寄存器 mov ax,[...]将寄存器中的内容送入内存单元 mov [...],ax...“[...]”表示一个内存单元“[...]”中的内容则表示内存单元的偏移地址。8086CPU中不能给DS寄存器直接赋值需要通过通用寄存器间接赋值如“段地址--通用寄存器--DS寄存器”。add指令表示相加sub指令表示相减。[address]便是一个偏移地址为address的内存单元。mov、add、sub是具有两个操作对象的指令。jmp是具有一个操作对象的指令。栈是一种具有特殊的访问方式的存储空间它的特殊性就在于先进后出的特性。8086CPU提供了入栈和出栈指令最基本的两个是PUSH入栈和POP出栈。8086CPU的入栈和出栈操作都是以字2字节为单位进行的。8086CPU中有两个寄存器段寄存器SS和寄存器SP栈顶的段地址存放在SS中偏移地址存放在SP中。任意时刻SS:SP指向栈顶元素。PUSH入栈时SPSP-21字栈顶从高地址向低地址方向增长出栈时则SPSP2.当栈为空时栈中没有元素也就不存在栈顶元素所以SS:SP只能指向最底部单元下面的单元。8086CPU不能保证我们对栈的操作不会超界它只知道栈顶在何处有SS:SP指示并不知道这个栈有多大。push和pop指令可以有如下形式 push 寄存器pop 寄存器push 段寄存器pop 段寄存器push 内存单元pop 内存单元请灵活仔细运用CS:IP(指令),DS:[...](数据),SS:SP栈 对于数据段将它的段地址放在DS中用mov,add,sub等访问内存单元的指令时CPU就将我们第一的数据段内容当成数据来访问。对于代码段将它的段地址放在CS中将段中的第一条执行的指令的偏移地址放在IP中,这样CPU就会执行代码段中的指令。对于栈段将它的段地址放在SS中将栈顶单元的偏移地址放在SP中这样CPU在需要进行栈操作时比如push,pop指令时就将栈段当成栈空间来用了。转载于:https://www.cnblogs.com/zxj159/archive/2012/12/10/2811380.html