Assembler | Ввести число с клавиатуры и преобразовать его в шестнадцатеричное

Область памяти заданную адресом А1 и длиной N заполнить строкой из 10 букв, введенных с клавиатуры. Сделал так, но нужно что-то кол-во символов вводилось с клавиатуры, а не статично.

>> AFD-Pro print out    11-23-2020    14:27

2016:0100 BB0010         MOV    BX,1000 // выбранный адрес A1
2016:0103 B90A00         MOV    CX,000A // кол-во символов в слове N
2016:0106 B401           MOV    AH,01 // чтение
2016:0108 CD21           INT    21 // считываем элемент
2016:010A 8807           MOV    [BX],AL // записываем по выбранному адресу считанный элемент
2016:010C 43             INC    BX // переходим на след. адрес
2016:010D E2F7           LOOP   0106 // цикл по кол-ву символов в слове
2016:010F BB0010         MOV    BX,1000 // выбранный адрес A1
2016:0112 B90A00         MOV    CX,000A // кол-во символов в слове N
2016:0115 B402           MOV    AH,02 // вывод
2016:0117 B20A           MOV    DL,0A // переход на новую строку
2016:0119 CD21           INT    21 // переход
2016:011B B20D           MOV    DL,0D // сдвиг каретки
2016:011D CD21           INT    21 // сдвиг
2016:011F 8A17           MOV    DL,[BX] // записываем элемент
2016:0121 CD21           INT    21 // выводим элемент
2016:0123 43             INC    BX // переходим на след. адрес
2016:0124 E2F9           LOOP   011F // цикл по кол-во символов в слове
2016:0126 90             NOP
2016:0127 C3             RET // выход в родительскую программу

Ответы (0 шт):