x86汇编语言 DB声明并初始化数据

它的目的?

  • 在一个程序中,有时需要将数据临时保存起来以备后用。使用寄存器不太现实,因为它的数量很少,且还要在后续的指令中使用。
  • 因此,最好的办法是在内存中专门留出一些空间来保存这些临时数据。

如何实现?

  • 尽管我们的目的仅仅是分配一些空间,但是要达到这个目的必须初始化一些初始数据来“占位”。
  • 这就好比是排队买火车票,你可以派任何无关的人去帮你占个位置,真正轮到你买的时候,你再出现。

DB的使用

  • 要放在程序中的数据是用 DB 指令来声明(Declare)的,DB 的意思是声明字节(Declare Byte)
  • 跟在它后面的操作数都占一个字节的长度(位置)。
  • 注意,如果要声明超过一个以上的数据,各个操作数之间必须以逗号隔开。

比如:

		number db 0

或者

		number db 0,0,0,0,0
  • 使用时在前面设置一个标号,然后同时使用标号来操作这些临时变量的地址。

除此之外:
DW(Declare Word)用于声明字数据,
DD(Declare Double Word)用于声明双字(两个字)数据,
DQ(Declare Quad Word)用于声明四字数据。

伪指令

  • DB、DW、DD 和 DQ 并不是处理器指令,它只是编译器提供的汇编指令,所以称做 伪指令pseudo Instruction)。
  • 伪指令是汇编指令的一种,它没有对应的机器指令,所以它不是机器指令的助记符,仅仅在编译阶段由编译器执行,编译成功后,伪指令就消失了,所以在程序执行时,伪指令是得不到处理器光顾的,实际上,程序执行时,伪指令已不存在。

资料参考

  • 《x86汇编语言:从实模式到保护模式》(编著:李忠 王晓波 余洁)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MoMing丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值