【发布时间】:2018-09-16 18:37:40
【问题描述】:
我对汇编编程非常陌生,但我在分配作业时遇到了一些问题。我正在尝试将十六进制值(94h)存储在 AL 中,并将最高有效半字节(MSN)存储在 DH 中,将最低有效半字节(LSN)存储在 DL 中。我知道我可以使用左移和右移(4 位)来隔离 MSN 和 LSN,但我不知道如何将结果存储在 DL 和 DH 中。
例如: 如果 AL 包含数字 94h 1)我想在DH中存储39h(字符'9'的ASCII码) 2)我想在DL中存储34h(字符'4'的ASCII码) 3)我需要显示字符‘9’、‘4’、‘h’、‘换行’和‘回车’。
MOV AL, 94h ; AL <-- 94h / 1001 0100
MOV CL, 4
SHR AL, 4 ; AL = 0000 1001 = 9
; How do i store this into DH
在这一点上,我被难住了..
【问题讨论】:
-
嗯...
mov dh, al -
另外你想在移动它之前移动它,这样你就不会丢失另一半。
-
如何让 4 进入 DL?
标签: assembly