1、各种段
基础
物理地址=段地址×16+偏移地址
做法
编程时,可以根据需要将一组内存单元定义为一个段。
可以将起始地址为16的倍数,长度为 N(N ≤64K )的一组地址连续的内存 单元,定义为一个段。
将一段内存定义为一个段,用一个段 地址指示段,用偏移地址访问段内的 单元——在程序中可以完全由程序员 安排。
三种段
数据段 . 将段地址放在 DS中 . 用mov、add、sub等访问内存单元的指令 时,CPU将我们定义的数据段中的内容当 作数据段来访问;
代码段 . 将段地址放在 CS中,将段中第一条指令的 偏移地址放在IP中 . CPU将执行我们定义的代码段中的指令;
栈段 . 将段地址放在SS中,将栈顶单元的偏移地 置放在 SP 中 . CPU在需要进行栈操作(push、pop)时,就 将我们定义的栈段当作栈空间来用。
2、按要求设置段并执行代码
3、三个段地址可以一样