【问题标题】:Assembling file errors汇编文件错误
【发布时间】:2021-11-04 20:57:11
【问题描述】:

我应该怎么做才能让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

【问题讨论】:

    标签: assembly compiler-errors x86-16 tasm


    【解决方案1】:

    您用dd 声明d,这使它成为一个双字(4 个字节)。稍后,mov bx,d 尝试将 4 字节值加载到 2 字节寄存器中。

    你应该用dw声明d

    d dw 4
    

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多