如果tasm /zi file name的错误会消失,我应该改变什么呢?
错误类型
ex1.ASM(16)操作数类型不多
表达式300-[5*(d-2*a)-1],数据类型:a -byte,d -word
守则:
ASSUME cs:text_,ds:data_
data_ SEGMENT
a db 2
d dd 4
res dd ?
data_ ENDS
text_ SEGMENT
start:
mov bl,2;
mov al,a;
imul bl;ax=2*a
mov bx,d; bx=d
sub bx,ax;bx=d-2*a
mov ax,5;
imul bx; dxax=5*(d-2a)
sub ax,1;
sbb dx,0; dxax= 5*(d-2a)-1
mov bx,300;
mov cx,0;cxbx =300
;cxbx
;dxax
sub bx,ax;
sbb cx,dx;300-[5*(d-2*a)-1]
mov word ptr res+0,bx;
mov word ptr res+2,cx;
mov ax, 4c00h
int 21h
text_ ENDS
END start发布于 2021-11-04 21:34:52
使用d声明dd,这使它成为一个dword (4个字节)。稍后,您将有一个mov bx,d,它尝试将一个4字节值加载到一个2字节寄存器中。
您应该用d来声明dw
d dw 4https://stackoverflow.com/questions/69845735
复制相似问题