内存中字的储存
低位字节低位地址
高位字节高位地址
我们将起始地址为N的字单元简称为N地址字单元
DS和[address]
DS寄存器用来存放访问的数据段地址
mov al,[0]
其中【0】表示存放的偏移地址为0;
当前段地址自动取ds中的数据作为内存单元的段地址
8086CPU不支持将数据直接送入段寄存器的操作
用下列操作----->
mov bx,1000H
mov ds,bx
字的传送
mov、add、sub指令
- mov 寄存器,数据
mov ax,8
- mov 寄存器,寄存器
mov ax,bx
- mov寄存器,内存单元
mov ax,[0]
- mov内存单元,寄存器
mov [0],ax
- mov段寄存器,寄存器
mov ds,ax
- mov寄存器,段寄存器
- mov内存单元,寄存器
add和sub同mov一样
数据段
栈
CPU提供的栈机制
PUSH:入栈
POP:出栈
栈顶超界的问题
cs,ip:表示当前指令的段地址和偏移地址
ss,sp:栈顶段地址存放在ss中,偏移地址存放在sp中
超界很危险注意
push、pop指令
栈段
段的综述
- 对于数据段,将他的段地址放在DS中
- 对于代码段,将他的段地址放在CS中
- 对于栈段,将他的段地址放在SS中
实验2
用机器指令和汇编指令编程
预备知识:DEBUG的使用
Debug在处理D命令的时候将段地址送入DS寄存器