我正在学习 x86 汇编语言,我有一个问题要问,db如果它的大小只有 1 个字节或 8 位,那么(数据类型)如何容纳超过 2 个字符的字符串?
这意味着8位可以容纳8个二进制值,就像如果put一样'hello world$',并且根据计算所有字符,其二进制值大于8位,或者这可能会导致它作为'hello world$'一个字符然后将其更改为二进制,但我不知道。
如果有人告诉我这如何可能,以及如何保持它应该很好。
db 如何保存...
简单回答:
不可以。
更复杂的答案:
语句db、dw和dd(在其他汇编器中称为.byte或.word类似语句)意味着指定的每个元素都存储在一个、两个或四个字节的内存中。
例子:
db 1,2,3意思是:存储值1、2、3;这三个数字中的每一个都存储为 8 位值。
然而,dd 1,2,3意味着:存储值1、2和3;三个数字中的每一个都存储为 32 位值(因此整行代码需要 12 个字节的内存)。
我不知道您正在使用的汇编器的确切语法,但类似的db "Hello"实际上意味着db "H", "e", "l", "l", "o":5 个元素("H"、"e"、"l"和"l")中的每一个"o"都存储在内存中的一个字节中 - 因此整行需要 5 个字节记忆。
| 归档时间: |
|
| 查看次数: |
266 次 |
| 最近记录: |