首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >装配文件错误

装配文件错误
EN

Stack Overflow用户
提问于 2021-11-04 20:57:11
回答 1查看 34关注 0票数 1

如果tasm /zi file name的错误会消失,我应该改变什么呢?

错误类型

ex1.ASM(16)操作数类型不多

表达式300-[5*(d-2*a)-1],数据类型:a -byte,d -word

守则:

代码语言:javascript
复制
   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
EN

回答 1

Stack Overflow用户

发布于 2021-11-04 21:34:52

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

您应该用d来声明dw

代码语言:javascript
复制
d dw 4
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69845735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档