Я новичок в сборке и мне нужна помощь в создании функции.У меня есть небольшой фрагмент кода, но для его завершения нужно подтолкнуть.Нужная мне функция (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
- Как мне объединить DH (09) и DL (04) в AL?
- Как создать функцию, которая выполняет это?