创建函数并连接寄存器值

时间:2018-09-16 21:48:35

标签: assembly x86 irvine32

我是汇编的新手,需要一些帮助来创建函数。我已经完成了一些代码,但是需要轻推才能完成。我需要的功能(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. 如何创建执行此功能的函数?

0 个答案:

没有答案