首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算c= ((22-7)/5)*113的汇编8086程序

计算c= ((22-7)/5)*113的汇编8086程序
EN

Stack Overflow用户
提问于 2011-03-20 19:42:34
回答 3查看 781关注 0票数 0

嗨,我真的不知道这是怎么回事

代码语言:javascript
复制
data segment
 db 22
 db 7
 db 5
 db 113
data ends
code segment
 assume cs:code,ds:data
start:mov si,500H
 mov di,1500H
 mov ah,0
 mov al,22
 cbw
 sub ax,7
 mov cx,5
 idiv cx
 mov bx,113
 imul bx
 mov dl,ax
 mov [di],al
 code ends
end start

我真的不知道这个程序中发生了什么,所以如果有任何帮助,我将不胜感激

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-20 19:54:31

一般来说,代码看起来不正确。但不管怎样,让我们回顾一下主要部分:

data segment -声明用于计算的3个字节的数据(但不幸的是根本没有使用)。db -是字节声明(与dw - d eclare w ord相比,...) code segment -声明程序代码从那里开始

完全执行计算时,您只需执行以下操作:

代码语言:javascript
复制
mov AX, 22; place number 22 to processor register AX
sub AX, 7; now we have subtract 7 from AX and place it back to AX
mov CX, 5; 5 is placed to CX register
xor DX, DX; per comment of @GJ
idiv cx ; divide AX / CX
mov bx,113; BX now contains 113
imul bx; at last mul result of AX on BX and place back to AX
票数 1
EN

Stack Overflow用户

发布于 2011-03-20 19:52:44

以下是一些有用的提示:

  • mov dst, src将src复制到dst src中,对src和dest执行操作数,并将结果复制到dest。例如,sub ax, 7计算ax - 7并将结果放入ax.
  • idivsrc将src乘以ax,并将结果放入ax。对于multiplication.

imul也做同样的事情

这应该足以让您入门了。

票数 1
EN

Stack Overflow用户

发布于 2014-02-07 17:53:23

简单:

代码语言:javascript
复制
mov word[c],((22-7)/5)*113
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5368262

复制
相关文章

相似问题

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