对寄存器的使用无效


VElist     dw 2,40;      
           dw 3,55;      
           dw 4,70;      
           dw 5,60;      
           dw 6,70;    
           dw 7,80;     
           dw 8,170;    
           dw 9,120;   
           dw 1,56;

我正在尝试添加所有这些数字,这些数字是这个数字对的第二个数字,例如:40,55,70我键入

mov cx,des
sub cx,beg
mov ax,0
mov di,Beg
add ax,VElist[4*di-1]

我的程序允许我们在1到0之间输入变量" beg"one_answers" des"。

但是汇编器一直告诉我错误信息:在add ax,velist [4*di-1]中使用寄存器无效。

我看不到我做错了什么,如果有人可以帮助我解决这个问题,我会很感激:)

地址模式VElist[4*di-1]无效。
16位寻址模式中的任何一个都没有比例。


在这里,可用的16位寻址模式的列表:

[BX SI]
[BX DI]
[BP SI]
[bp di]
[si]
[di]
disp16
[BX]
[BX SI] DISP8
[BX DI] disp8
[bp si] disp8
[bp di] disp8
[si] disp8
[di] disp8
[bp] disp8
[bx] disp8
[BX SI] disp16
[BX DI] disp16
[bp si] disp16
[bp di] disp16
[si] disp16
[di] disp16
[bp] disp16
[BX] disp16

有关更多信息,请参阅英特尔手册2第2节。

最新更新