首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

MASM611中ROR指令有关问题

2013-06-19 
MASM611中ROR指令问题下面这段汇编代码在MASM中会出现“ error A2070: invalid instruction operands”的错

MASM611中ROR指令问题
下面这段汇编代码在MASM中会出现“ error A2070: invalid instruction operands”的错误。如果删除ror  dx,4这句代码后则会正常编译连接,ror指令有啥问题?怎么破。。。。
assume cs:codesg
codesg segment
start:  mov  ax,0000h
mov  dx,0001h         
        mov  cx,ax
        and  ax,000Fh
        xor  cx,ax
        and  dx,000Fh
        or   dx,cx
ror  dx,4
mov ax,4c00h
int 21h
codesg ends
end
[解决办法]
ror  dx, 4 这样的指令需要 386 甚至更高级 cpu 才能支持,缺省的汇编程序是以 8086 指令集来进行的,这个级别的 cpu 只支持 ror dx, 1 或 ror  dx, cl 这样的指令。所以,如果要使用 ror  dx, 4 这样的指令,就必须在程序的开始处加上

.model  small  ; 或其它的和自己程序匹配的内存模式
.386  ; 或其它更高级的 cpu 指令集指定

热点排行