汇编网首页登录博客注册
yu923928784的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2012-11-09 22:31] 第三章简要(寄存器)

每个内存单元存储这的都是字节。
ds寄存器默认情况下是存放访问数据的段地址。
由于mov 段寄存器:数据这样写是错误的(8086cpu硬件设计问题),所以我们要设置段寄存器就需要一个寄存器进行中转。
mov ds,1000h(错误的)mov ax,1000h mov ds,ax(正确的)。
......................................................
默认情况下,只要问题不提到字单元时,都是字节单元。
使用mov指令时常用的几种格式如下:
mov 寄存器,寄存器。
mov 段寄存器,寄存器
mov 寄存器,数据
mov 内存单元,寄存器
mov 寄存器,内存单元
mov 段寄存器,内存单元等等。。。。
......................................................
mov add sub等等都是具有两个操作对象的指令, jmp等指令具有一个操作对象指令。
......................................................
栈:栈是一种特殊访问方式的内存(先进后出(lifo))。
注:在栈机制中,出栈和入栈都是以字为基本单位的。
任意时刻ss:sp指向栈顶元素,栈顶段地址存放在ss中,偏移地址存放在sp中,pop和push指令执行时,cpu从ss:sp中得到栈顶地址。
8086cpu中入栈都是从高地址向低地址索引地。

push入栈步骤:
1. sp=sp-2
2. 将信息入栈
pop出栈步骤:
1. 将信息出栈
2. sp=sp+2
注:出栈后前一栈顶数据依然存在,等到push时把它覆盖。
当栈空时,sp指向栈最底部单元下一地址。

入栈和出栈指令的格式:
push 寄存器          push 段寄存器        push 内存单元
pop  寄存器          pop  段寄存器        pop  内存单元

我们可以将一段代码同时定义为数据段,代码段,栈段。
.....................................................
评论次数(0)  |  浏览次数(338)  |  类型(各章简要) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码