【浅尝辄止】《汇编语言》入栈出栈操作

文章目录


前言

参考书籍:
王爽。汇编语言。北京:清华大学出版社, 2013:71-75

本人菜狗一枚,不敢咬文嚼字,只能站在巨人的肩膀上窥探一下未曾了解的世界。


Debug 中 T 命令执行修改段栈寄存器 SS 的指令时,下一条指令也紧接着被执行。

mov ax, ffff
mov ds, ax

mov ax, 2200
mov ss, ax

mov sp, 0100

mov ax, [0]				; ax = C0EA
add ax, [2]				; ax = C0FC
mov bx, [4]				; bx = 30F0
add bx, [6]				; bx = 6021

push ax					; sp = 00FE   (低地址)       ... FC C0 (高地址 SS:0100)
push bx					; sp = 00FC   (低地址) ... 21 60 FC C0 (高地址 SS:0100)

pop ax					; ax = 6021
pop bx					; bx = C0FC

push [4]				; sp = 00FE   (低地址)       ... F0 30 (高地址 SS:0100)
push [6]				; sp = 00FC   (低地址) ... 31 2F FC C0 (高地址 SS:0100)

将一段内存空间初始化为 0 作为栈空间,在 SS:IP 指向栈顶的时候却被填充数据,其中包括 CS 值、IP 值(涉及到中断知识)

mov ax, 2000
mov ss, ax
mov sp, 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值