2025-11-08 06:53:14
汇编里字符串就是一串字符按顺序排起来的,每个字符占一个字节。比如写"Hello"就要用DB指令,H占一个字节,e占一个字节,依此类推,加个0x00当结束标志。这样CPU才能知道字符串哪里结束,不会跑出去乱搞。
为啥得这么弄呢?因为汇编是直接操作内存的,每个字符对应一个字节的地址。比如x86架构用DB(Define Byte)定义单字节,写DB 'A'就是给内存地址存0x41。字符串结束用0x00是因为0是空字符,遇到它就停止读取。比如"Hi"用DB H, i, 0,总长度是3字节。数据长度影响程序计算,比如循环读取字符串时,用0x00当终止条件,避免死循环。实际编码时要注意不同架构差异,比如ARM用LDR指令加偏移量存字符串,但核心思想还是用特定值标记结束。
本题链接: