相关疑难解决方法(0)

在 8086 微处理器上将 32 位两个数相乘

我有代码示例,用于在 8086 上将两个 16 位数字相乘并尝试将其更新为两个 32 位数字相乘。

start:
 MOV AX,0002h ; 16 bit multiplicand
 MOV BX,0008h ; 16 bit multiplier
 MOV DX,0000h ; high 16 bits of multiplication
 MOV CX,0000h ; low 16 bits of multiplication
 MOV SI,10h ; loop for 16 times

LOOP:
 MOV DI,AX
 AND DI,01h
 XOR DI,01h
 JZ ADD
CONT:
 RCR DX,1
 RCR CX,1
 SHR AX,1
 DEC SI
 CMP SI,0
 JNZ LOOP
 JMP END ; ignore here, it's not about multiplication. 
ADD:
 ADD DX,BX
 JMP CONT
Run Code Online (Sandbox Code Playgroud)

上面的代码语句将两个 …

assembly multiplication x86-16

2
推荐指数
1
解决办法
2万
查看次数

在 8086 上将两个 32 位数字相乘得到一个 64 位数字(32x32 => 64 位与 16 位相乘)

我如何将汇编中的两个 32 位数字或一个 32 位与另一个 16 位相乘,有人知道算法吗?

data1 dw 32bit
data2 dw 32bit    
mov ax,data2
Mul data1
Run Code Online (Sandbox Code Playgroud)

assembly multiplication bigint x86-16

-1
推荐指数
1
解决办法
2602
查看次数

标签 统计

assembly ×2

multiplication ×2

x86-16 ×2

bigint ×1