Создание функций и объединение значений регистров - PullRequest
0 голосов
/ 17 сентября 2018

Я новичок в сборке и мне нужна помощь в создании функции.У меня есть небольшой фрагмент кода, но для его завершения нужно подтолкнуть.Нужная мне функция (ReadHexByte) будет считывать с клавиатуры ввод байта (две цифры 0-9) и сохранять его в регистре AL.В конечном счете, первая введенная цифра будет установлена ​​как самый значительный клочок AL, а вторая введенная цифра будет установлена ​​как наименее значимый клочок AL.Я могу добраться до точки, где первая цифра хранится в DH, а вторая цифра в DL.

Пример проблемы: если пользователь введет 9, а затем 4, это будет байт 94h.AL будет хранить 94h

.data
    charIn1 BYTE ?
    charIn2 BYTE ? 

.code
main proc
    call ReadChar ;user enters 9
    mov dh, al ;move 39h to dh
    sub dh, 30h ;dh set to 09h
    call ReadChar ;user enters 4
    mov dl, al ; move 34h to dl
    sub dl, 30h ;dl set to 04h
  1. Как мне объединить DH (09) и DL (04) в AL?
  2. Как создать функцию, которая выполняет это?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...