Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 一个双字可以存储多少个字符_String_Assembly_Data Representation - Fatal编程技术网

String 一个双字可以存储多少个字符

String 一个双字可以存储多少个字符,string,assembly,data-representation,String,Assembly,Data Representation,我不明白带dword、word、qword等的字符串之间的区别。我总是使用byte,它可以容纳1个字节,但当我们想使用字符串而不仅仅是字符时,汇编程序会像{'a',b',c'}那样表示一个字符串,就像c一样 因此,在汇编中处理字符串时,我应该在什么时候使用例如dword?取决于汇编程序,这通常只是确保整个字符串占用整数个dword。这对于保持以下内容的一致性很有用。通常不会。如果希望稍后对齐内容,请在字符串更清晰后使用align指令。你想用哪个汇编程序?我猜你指的是x86,因为大多数其他ISA都

我不明白带
dword
word
qword
等的字符串之间的区别。我总是使用
byte
,它可以容纳1个字节,但当我们想使用字符串而不仅仅是字符时,汇编程序会像
{'a',b',c'}
那样表示一个字符串,就像c一样


因此,在汇编中处理字符串时,我应该在什么时候使用例如
dword

取决于汇编程序,这通常只是确保整个字符串占用整数个dword。这对于保持以下内容的一致性很有用。通常不会。如果希望稍后对齐内容,请在字符串更清晰后使用
align
指令。你想用哪个汇编程序?我猜你指的是x86,因为大多数其他ISA都没有qwords。一个字是2字节,一个dword(双字)是4字节,一个qword(四字)是8字节。在C中,字符串是字符序列。在asm中,字符串是字节、字、DWORD或QWORD的序列。在asm中,字符没有什么特别之处——它们就像整数。如果要处理ANSI字符字符串,请使用
LODSB/MOVSB/STOSB
;如果要处理unicode字符串,请使用
XXXSW
;对于USC32字符串,请使用
XXXSD
。显然,您使用的是基于另一个问题中一本书的链接的NASM语法