我想知道是否有一种无需使用MUL或DIV指令即可执行任何乘法或除法的方法,因为它们需要大量的CPU周期。我可以针对该目标利用SHL或SHR指令吗?如何实现汇编代码?
我需要特定数字的帮助-我如何bx仅用5个命令就能乘以41?
每当我尝试解决问题时,我至少会得到6条命令...
我的代码:
mov ax,bx
mov cx,bx
shl bx,5 ; *32
shl ax,3 ; *8
add bx,ax ; *40
add bx,cx ; *41
Run Code Online (Sandbox Code Playgroud)
; ax = x
mov bx, ax ; bx = x
shl bx, 3 ; bx = 8 * x
add ax, bx ; ax = 9 * x
shl bx, 2 ; bx = 32 * x
add ax, bx ; ax = 41 * x
Run Code Online (Sandbox Code Playgroud)