汇编中resb指令

转载下来,方便以后查看

原作网址:http://blog.csdn.net/m1j2t3/article/details/5681657

汇编中resb这样的指令是什么意思?
还有我在汇编程序中看到这样一段代码,说是栈顶的
StackSpaceresb2 * 1024
StackTop:; 栈顶
怎么理解StackTop:这个啊?

汇编中resb这样的指令是什么意思?
resb条伪指令,在NASM中文手册中查找一下:
  "RESB", "RESW", "RESD", "RESQ" and "REST"被设计用在模块的 BSS 段中:它们声明
未初始化的存储空间。每一个带有单个操作数,用来表明字节数,字数,或双字数或其它的需要保留单位。就像在 2.2.7 中所描述的,NASM 不支持 MASM/TASM 的扣留未初始化空
间的语法"DW ?"或类似的东西:现在我们所描述的正是 NASM 自己的方式。"RESB"类伪指
令的操作数是有严格的语法的,
StackTop是一个标记(LABEL),用来指示当前的段内偏移地址,
这是一个2KB大小的堆栈段,段基址在StackSpace标记处,栈顶在StackSpace + 2KB处,即StackTop标记所指的地方,因为堆栈内容是向低地址扩展的,栈顶在内存的高地址处(相对于SS),你仔细看看入栈和出栈的操作就明白了。
push 操作数 : esp=esp - 4 ; mov word [esp],操作数
pop reg : mov  reg, [esp] ; esp=esp + 4

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值