Assembly 如何将x86程序集中寄存器中的2个数据相乘

Assembly 如何将x86程序集中寄存器中的2个数据相乘,assembly,x86,Assembly,X86,我是组装的初学者。我有一个问题: 我想把寄存器中的2个数据相乘。我有以下代码: mov ah, 0 mov al, 0002h mov bl, 10 ;this is 10 in decimal = 0Ah in hex mul bl mov dx, ax 在我的代码中,我想将10和0002h相乘,这必须等于0020h 但是dx的结果是dh=00dl=14或0014h 请帮助…14h=20十进制 要得到20h,必须将10h和02h相乘如果十进制中使用10(即十六进制中的0A),则结果似乎正确。

我是组装的初学者。我有一个问题:

我想把寄存器中的2个数据相乘。我有以下代码:

mov ah, 0
mov al, 0002h
mov bl, 10 ;this is 10 in decimal = 0Ah in hex
mul bl
mov dx, ax
在我的代码中,我想将
10
0002h
相乘,这必须等于
0020h
但是
dx
的结果是
dh=00dl=14
0014h

请帮助…

14h=20十进制


要得到20h,必须将10h和02h相乘

如果十进制中使用10(即十六进制中的0A),则结果似乎正确。14h=20十进制,这是从2x10中得到的,对吗?
20h==32
。你的结果确实正确。您需要将
10h==16
乘以2,或者期望结果是
14h==20
,也就是您现在正确得到的结果。是的。。的确对不起,我误解了14h w/c的值正好等于20h。。非常感谢。