何时在汇编字符串中指定“缓冲区大小”以及何时不指定?

时间:2013-06-26 01:26:22

标签: assembly x86-16

我知道string DB 20, 'hello world'中的20是缓冲区大小,但我无法理解它的用途是什么。例如,在声明两个字符串时,例如:

string DB 20, 'hello world'
string2 DB 'hello world'

比较它们,两者似乎都保持完全相同的数据,除了跳过第一个字节。但是出于所有实际目的,它们是相同的。什么时候添加缓冲区大小有用,什么时候不用?

1 个答案:

答案 0 :(得分:1)

这不是缓冲区的大小,而是“Device Control 4”的ASCII值,它不会打印任何内容。您定义的内容与声明变量string db 20,104,101,108,108,111,32,119,111,114,108,100

相同

在DOS的“旧时代”中,一些中断期望字符串的第一个字节为长度,你是否为DOS编程?