小甲鱼汇编语言学习笔记——day02

1、8086CPU不支持将数据直接送入段寄存器,需要按照下面方式:数据——》通用寄存器——》段寄存器。

2、mov指令的几种形式:

  mov 寄存器,数据

  mov 寄存器,寄存器

  mov 寄存器,内存单元        mov ax,[0]   将段地址为DS,偏移地址为0的数据存到ax寄存器里。  

  mov 内存单元,寄存器  mov [0],ax  将ax寄存器里的数据存储到段地址为DS,偏移地址为0的内存地址。 

  mov 段寄存器,寄存器

  mov 寄存器,段寄存器

3、mov、add、sub是具有两个操作对象的指令,jmp只有一个操作对象。

4、入栈和出栈指令:

  push ax :将寄存器ax中的数据送入栈中

  pop ax :从栈顶取出数据送入ax

  ps:8086CPU的入栈和出栈操作都是以字为单位进行的。

5、8086CPU中,有两个寄存器与栈有关:

  段寄存器ss  存放栈顶的段地址

  寄存器sp  存放栈顶的偏移地址

  ps:任意时刻,SS:SP指向栈顶元素。push : sp=sp-2, pop: sp=sp+2

当栈里元素为空的时候,sp指向空间最高地址单元的下个单元。

 

6、字型数据用两个单元存放,高地址放高8位,低地址放低8位。

7、将10000H~1000FH这段空间当做栈,初始状态为空,设置AX=001AH,BX=001BH,将AX,BX中的数据入栈,然后将AX,BX清零,从栈中恢复AX,BX原本的内容。(注:main函数调用方法)

  mov ax,1000         初始化栈顶

  mov ss,ax              初始化栈顶

  mov sp,0010     初始化栈顶  

  mov ax,001A

  mov bx,001B

  push ax

  push bx

  mov ax,0

  mov bx,0

  pop bx

  pop ax

 

转载于:https://www.cnblogs.com/slma/p/9859316.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值