Почему эта строка объявлена таким образом в сборке?
Я не понимаю эту декларацию:
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 байт.