第2章 堆栈的操作 堆栈只有两种基本操作:进栈和出栈, >对应两条指令PUSH和PoP PUSH;进栈指令先使堆栈指 针SP减2,然后把一个字操作数 I Word 5 Word 4 存入堆栈顶部 I Word 3 Word 2 POP;出栈指令把栈顶的 Word 1 个字传送至指定的目的操作数, Stack 然后堆栈指针SP加2 PUSH POP
第 2 章 堆栈的操作 ➢堆栈只有两种基本操作:进栈和出栈, ➢对应两条指令PUSH和POP Word 1 Word 2 Word 3 Word 4 Word 5 Stack PUSH POP PUSH ;进栈指令先使堆栈指 针SP减2,然后把一个字操作数 存入堆栈顶部 POP ;出栈指令把栈顶的一 个字传送至指定的目的操作数, 然后堆栈指针SP加2
第2章 1.进栈指令PUSH PUSH r16/m16/seg SP+SP-2 SS: [SP]+r16/m16/seg push ax push [2000h] Word SP -2 Stack PUSH
第 2 章 1. 进栈指令PUSH push ax push [2000h] PUSH r16/m16/seg ;SP←SP-2 ;SS:[SP]←r16/m16/seg Word Stack PUSH SP -2
第2章 2.出栈指令POP POP r16/m16/seg :r6/m16/seg←SS:SP SP←SP+2 pop ax pop[2000h] SP Word +2 Stack POP
第 2 章 2. 出栈指令POP pop ax pop [2000h] POP r16/m16/seg ;r16/m16/seg←SS:[SP] ;SP←SP+2 Word Stack POP SP +2
第2章 堆栈的特点 堆栈操作的单位是字,进栈和出栈只对字量 字量数据从栈顶压入和弹出时,都是低地址 字节送低字节,高地址字节送高字节 >堆栈操作遵循先进后出原则,但可用存储器 寻址方式随机存取堆栈中的数据 >堆栈常用来 ■临时存放数据 ■传递参数 ■保存和恢复寄存器 例题2.11
第 2 章 堆栈的特点 ➢堆栈操作的单位是字,进栈和出栈只对字量 ➢字量数据从栈顶压入和弹出时,都是低地址 字节送低字节,高地址字节送高字节 ➢堆栈操作遵循先进后出原则,但可用存储器 寻址方式随机存取堆栈中的数据 ➢堆栈常用来 ◼临时存放数据 ◼传递参数 ◼保存和恢复寄存器 例题2.11
第2章 2.1.3标志传送指令 标志寄存器传送指令用来传送标志寄存 器 FLAGS的内容 >标志位操作指令直接对CF、DF、标 志进行复位或置位
第 2 章 2.1.3 标志传送指令 ➢标志寄存器传送指令用来传送标志寄存 器FLAGS的内容 ➢标志位操作指令直接对CF、DF、IF标 志进行复位或置位