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语法