如何在装配中使用shl和shr来获得2的幂?86?
我需要做2 ^ 13。
我试过但没有成功:(
我使用8086汇编与emu8086。
这是我的尝试:
org 100h
mov ax,1 ; ax = 1.
shl ax,13
mov ah, 0
int 16h
ret
我的问题是如何以16位而不是8位来表示。
答案 0 :(得分:2)
这是一个简单的数学问题。你想要的是这个:
mov ax,1
shl ax,13
这将为您提供1 * 2 ^ 13而不是2 * 2 ^ 13 = 2 ^ 14这就是您的代码所做的。