Почему эта строка объявлена ​​таким образом в сборке?

Я не понимаю эту декларацию:

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

Где N объявлен как N EQU 10, БД содержит строку длиной до 10 символов (считывается с клавиатуры). Но почему N+1,?,N+1 DUP('$')?

1 ответ

Это определение по существу определяет следующую структуру байтов:

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

Зачем?

? - значит память не инициализирована
DUP - Число после DB определяет, сколько байтов нужно повторить, а затем $ определяет, что повторить.

DB contain a string of max 10 characters

Это утверждение неверно. DB означает определение байта, что означает, что он не может содержать более 1 байта. Что вы могли бы сказать, что cfire указывает на байтовый массив длиной 10 байт.

Другие вопросы по тегам