汇编四

作者: Flonger | 来源:发表于2017-07-18 00:09 被阅读16次

  • 栈:是一种具有特殊的访问方式的存储空间

后进先出, Last In Out Firt,LIFO
  • 8086提供了PUSH(入栈)和POP(出栈)指令来操作栈段的数据比如
  • push ax是将ax的数据入栈,
  • pop ax是将栈顶的数据送入ax

push ax (先挪后放:写数据)

SP = SP - 2,SS:SP 指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶; 将ax中的内容送入 SS:SP 指向的内存单元处,SS:SP此时指向新栈顶

pop ax (读数据)

将SS:SP指向的内存单元处的数据送入ax中; SP=SP+2,SS:SP 指向当前栈顶下面的单元,以当前栈顶下面的单元为新的栈顶

思考
如果将10000H 到 1000FH 这段空间当做栈,初始状态栈是空的,此时,SS=1000H,SP=?思考后看分析

SP的值应10H

练习
编程:
(1)将10000H到1000FH 这段空间当做栈,初始状态栈是空的;
(2)设置AX=001AH,BX=001BH;
(3)利用栈,交换AX和BX中的数据.

mov ax,1000H
mov ss,ax
mov sp,0010H
mov ax,001AH
mov bx,001BH
push ax
push bx
pop ax
pop bx

栈段

用SS存放栈段的段地址,用SP存放栈顶的偏移地址

段总结

练习

分析 分析

以上

相关文章

  • <安全攻防之汇编基础>

    &关于汇编基础请点击 <汇编一> <汇编二> <汇编三> <汇编四> <汇编五> <汇编六> <汇编七> <汇编八...

  • 汇编(四)

    DS和[address] CPU要读写一个内存单元时,必须要先给出这个内存单元的地址,在8086中,内存地址由段地...

  • 汇编四

    栈 栈:是一种具有特殊的访问方式的存储空间 后进先出, Last In Out Firt,LIFO 8086提供了...

  • 汇编(四)

    DS和[address] CPU要读写一个内存单元时,必须要先给出这个内存单元的地址,在8086中,内存地址由段地...

  • 汇编(四)

    一. DS和[address] CPU要读写一个内存单元时,必须要给出这个内存单元的地址,在8086中,内存地址有...

  • 汇编(四)

    1. if语句的汇编代码 一个简单的if语句 main函数汇编 2. while语句的汇编代码 do while的...

  • 汇编(四)

    前言: 内存分区是编译器帮我们做的,属于硬件相关。macho文件是由代码、数据、macho的描述信息等组成进行下面...

  • 提高代码执行效率的几个小技巧

    前言 目录 一、方法参数限制 二、反汇编 switch case & if else 三、C 中写汇编代码 四、 ...

  • 汇编语言 学习笔记(三)

    汇编语言学习笔记 四、汇编语言程序格式 语句基本格式 汇编语言程序中的语句由 4 项组成,格式如下: 名字(nam...

  • 汇编四、栈

    栈 栈:是一种具有特殊的访问方式的存储空间(后进先出, Last In Out Firt,LIFO) SP和FP寄...

网友评论

      本文标题:汇编四

      本文链接:https://www.haomeiwen.com/subject/tngqkxtx.html