如何左移将起作用

时间:2014-02-26 06:49:05

标签: assembly x86 intel

.model small
.stack 100h
.data
.code

main proc 

mov ax,2
shl ax,1
shl ax,2

int 21h

mov ah,4ch
int 21h

main endp 
end main

我的问题是除了左移位的count值之外的任何其他值都给出了无效的指令操作数

1 个答案:

答案 0 :(得分:2)

在8086中,使用shl reg, cl来完成可变数量的位移 允许从80286开始使用Imm8进行移位。有关允许的寻址模式,请参阅this,最高可达80486.

假设您打算使用80386+,您最有可能向汇编程序提供处理器指令;例如将.386放在标题中。

NASMCPU 80386
MASM.386