更多汇编语言乘法

发布于 2024-12-09 04:42:24 字数 632 浏览 0 评论 0原文

我对如何处理汇编乘法感到困惑。我正在解决一些如下描述的问题:

Given these hex values for the 8086 registers
AX = E204    BX = 30C2    CX = 5C08    DX = 38F1
What are the hex values in DX and AX after executing this instruction:
mul  cl

对于 mul 运算,我们是否只使用 al 和乘数进行相乘?例如,这个乘法是否只是 4 * 8 = 32(十进制),结果存储在 ax 中?

当使用imul时,我们会将ax中的整个值与乘数相乘,然后将结果存储在dx:ax中,对吗?

对于这个问题,如果我确实以正确的方式处理它,al * cl = 4 * 8 = 32。那么:

al = 20

我保留吗? > 相同(E2)还是我将其归零以获得答案?

I am confused about how to handle assembly multiplication. I am working on a few problems described like so:

Given these hex values for the 8086 registers
AX = E204    BX = 30C2    CX = 5C08    DX = 38F1
What are the hex values in DX and AX after executing this instruction:
mul  cl

For mul operations, are we only multiplying using al and the multiplier? For example, would this multiplication simply be 4 * 8 = 32 (decimal) with the result stored in ax?

When imul is used, then we would multiply the entire value in ax and the multiplier and then store the results in dx:ax, correct?

For this problem, if I am indeed approaching it the right way, al * cl = 4 * 8 = 32. Then:

al = 20

Do I keep ah the same (E2) or do I zero it out for the answer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

铁轨上的流浪者 2024-12-16 04:42:24

请从 此处

有关这一指令的详细信息,您可以阅读此处

Please download complete Intel x86 CPU documentation from here.

For details on just this one instruction you can read here.

初见终念 2024-12-16 04:42:24

你为什么不尝试?没关系,我是为你做的:

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\db>debug
-a
15AB:0100 mov ax, e204
15AB:0103 mov bx, 30c2
15AB:0106 mov cx, 5c08
15AB:0109 mov dx, 38f1
15AB:010C mul cl
15AB:010E
-g=0100,010e

AX=0020  BX=30C2  CX=5C08  DX=38F1  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=15AB  ES=15AB  SS=15AB  CS=15AB  IP=010E   NV UP EI PL NZ NA PO NC
15AB:010E 0000          ADD     [BX+SI],AL                         DS:30C2=00
-q

C:\DOCUME~1\db>

Why didn't you try? Never mind, I did it for you:

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\db>debug
-a
15AB:0100 mov ax, e204
15AB:0103 mov bx, 30c2
15AB:0106 mov cx, 5c08
15AB:0109 mov dx, 38f1
15AB:010C mul cl
15AB:010E
-g=0100,010e

AX=0020  BX=30C2  CX=5C08  DX=38F1  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=15AB  ES=15AB  SS=15AB  CS=15AB  IP=010E   NV UP EI PL NZ NA PO NC
15AB:010E 0000          ADD     [BX+SI],AL                         DS:30C2=00
-q

C:\DOCUME~1\db>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文