Сборка печатной переменной - PullRequest
0 голосов
/ 08 декабря 2018

Итак, я работаю над небольшим кодом на ассемблере, и мне было интересно, как я могу напечатать сообщение для пользователя, включая переменную include.

Например:

  • Я хочу напечатать: "Div чисел, которые вы ввели: 'переменная'"
  • Я проверил онлайн, но не смогнайти ответ, который я бы понял.
  • Я знаю, как напечатать строку, но я не знаю, как ввести переменную в строку, чтобы я мог распечатать все это вместе.Спасибо за ваше время.

1 Ответ

0 голосов
/ 09 декабря 2018

Я знаю, как напечатать строку, но я не знаю, как ввести переменную в строку, чтобы я мог напечатать ее все вместе

a - Подготовьте вашу строку таку него есть соответствующее количество свободного места.

msg     db      'Value is       $'

b - Поместите выходной указатель рядом с концом строки.В этом примере он будет указывать на символ $ .

        lea     di, [msg + 14]

c - Переместите переменную в регистр AX.

        mov     ax, [variable]

d - Вызовите следующий номер для преобразования / вставки текста.

; IN (ax,di)
        mov     bx, 10
More:   xor     dx, dx
        div     bx         ; This divides DX:AX by BX
        dec     di
        add     dl, '0'    ; Turn remainder into a character
        mov     [di], dl   ; Write in string
        test    ax, ax
        jnz     More
        ret

e - Напечатайте всю строку сразу.Вы уже знаете это ...


Для получения дополнительной информации прочитайте Отображение чисел с DOS

...