嗨,我真的不知道这是怎么回事
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我真的不知道这个程序中发生了什么,所以如果有任何帮助,我将不胜感激
发布于 2011-03-20 19:54:31
一般来说,代码看起来不正确。但不管怎样,让我们回顾一下主要部分:
data segment -声明用于计算的3个字节的数据(但不幸的是根本没有使用)。db -是字节声明(与dw - d eclare w ord相比,...) code segment -声明程序代码从那里开始
完全执行计算时,您只需执行以下操作:
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发布于 2011-03-20 19:52:44
以下是一些有用的提示:
mov dst, src将src复制到dst src中,对src和dest执行操作数,并将结果复制到dest。例如,sub ax, 7计算ax - 7并将结果放入ax.idiv,src将src乘以ax,并将结果放入ax。对于multiplication.,imul也做同样的事情
这应该足以让您入门了。
发布于 2014-02-07 17:53:23
简单:
mov word[c],((22-7)/5)*113https://stackoverflow.com/questions/5368262
复制相似问题