为什么这个字符串在汇编中以这种方式声明?

时间:2014-02-05 04:39:51

标签: assembly

我不明白这个宣言:

cifre DB N+1,?,N+1 DUP('$')

其中N声明为N EQU 10。 DB包含最多10个字符的字符串(从键盘读取)。但是,为什么N+1,?,N+1 DUP('$')

1 个答案:

答案 0 :(得分:0)

该定义实质上定义了以下字节结构:

11, ? , '$','$','$','$','$','$','$','$','$','$','$'

为什么?

? - 表示内存未初始化
DUP - DB之后的数字定义要重复的字节数,然后$定义要重复的内容。

DB contain a string of max 10 characters

此声明不正确。 DB代表定义字节,这意味着它不能容纳超过1个字节。您可能会说cfire指向一个长度为10个字节的字节数组。