3.1内存中字的存储
字型数据与字节型数据(前者是一个字节,两个16位的数)
任何两个地址连续的内存单元,N和N+1,可以将他们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元
3.2DS和address
DS寄存器:通常用来存放要访问的数据的段地址
mov bx,1000H
mov ds,bx
mov al,[0]
上面三条指令将10000H(1000:0)中的数据独到al中
mov两种功能:
将数据之间送入寄存器
将一个寄存器中的内容送入另一个寄存器中
mov 寄存器名,内存单元地址
[...] :...表示偏移地址
上面ds给出了段地址,所以[0]给出偏移地址就足够了
将寄存器的数据送入内存单元?
mov bx,1000H
mov ds,bx
mov [0],al
3.3字的传送
3.4mov、add、sub
mov(add/sub) 寄存器,数据
mov(add/sub) 寄存器,寄存器
mov(add/sub) 寄存器,内存单元
mov(add/sub) 内存单元,寄存器
mov 段寄存器,寄存器
3.5数据段
3.6栈
后进先出 (8086以字为单位进行操作的)
PUSH 入栈:push ax(放ax数据推入栈中) sp=sp-2
POP 出栈:pop ax(将栈顶的数据存放到ax)
段寄存器:ss放入栈顶段地址
寄存器:sp放入栈顶偏移地址
push ds/ax/[0]
pop es/ax/[2]
代码的段地址从:cs获得
数据的段地址从:ds获得
栈的段地址从:ss获得
3.10栈段
字型数据与字节型数据(前者是一个字节,两个16位的数)
任何两个地址连续的内存单元,N和N+1,可以将他们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元
3.2DS和address
DS寄存器:通常用来存放要访问的数据的段地址
mov bx,1000H
mov ds,bx
mov al,[0]
上面三条指令将10000H(1000:0)中的数据独到al中
mov两种功能:
将数据之间送入寄存器
将一个寄存器中的内容送入另一个寄存器中
mov 寄存器名,内存单元地址
[...] :...表示偏移地址
上面ds给出了段地址,所以[0]给出偏移地址就足够了
将寄存器的数据送入内存单元?
mov bx,1000H
mov ds,bx
mov [0],al
3.3字的传送
3.4mov、add、sub
mov(add/sub) 寄存器,数据
mov(add/sub) 寄存器,寄存器
mov(add/sub) 寄存器,内存单元
mov(add/sub) 内存单元,寄存器
mov 段寄存器,寄存器
3.5数据段
3.6栈
后进先出 (8086以字为单位进行操作的)
PUSH 入栈:push ax(放ax数据推入栈中) sp=sp-2
POP 出栈:pop ax(将栈顶的数据存放到ax)
段寄存器:ss放入栈顶段地址
寄存器:sp放入栈顶偏移地址
push ds/ax/[0]
pop es/ax/[2]
代码的段地址从:cs获得
数据的段地址从:ds获得
栈的段地址从:ss获得
3.10栈段