汇编

木家族 2009-12-02 05:59:06
DATA SEGMENT

W DW -304

X DW 1000

Y DW -12

Z DW 20

RESULT DW 2 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV AX,X ;被乘数X取到AX中

IMUL Y ;计算X*Y

MOV CX,AX

MOV BX,DX ;X*Y转存到BX、CX

MOV AX,Z ;Z取到AX中

CWD ;Z扩展到DX、AX中

ADD CX,AX

ADC BX,DX ;计算X*Y+Z

SUB BX,220 ;计算X*Y+Z-220

SBB BX,0

MOV AX,W ;W取到AX中

CWD ;扩展到DX、AX中

SUB AX,CX

SBB DX,BX ;计算W-(X*Y+Z-220)

IDIV X ;计算(W-(X*Y+Z-220))/X

MOV RESULT,AX

MOV RESULT+2,DX ;送结果

MOV AH,4CH

INT 21H ;返回DOS

CODE ENDS

END START


这是我编的已经给了初值的程序段,可是我们老师要求是用键盘输入这四个有符号数,然后在屏幕上显示,这比上面要复杂的多,关键是键盘输入要怎么转化为计算用到的值,计算后又要重新转化为数的ASCII码输出呢?

题目是这样的,键盘输入四个带符号数,完成(w-(x*y+z-220))/x的计算,将表达式的商和余数存入数据区 result单元开始的区域中并输出计算结果。

可不可以帮我完善一下上面的程序,或者另外编一个给我,我是个汇编的初学者,希望可以的话,在编程后面注明这个语句的用途,方便我看懂!高手帮帮忙吧,本人感激不禁!
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
木家族 2009-12-03
  • 打赏
  • 举报
回复
现在作业交上去了,竟然没人愿意帮忙,真是令人失望,这帖子暂时留着,看看哪天有人来完善,静静等待……
genboo 2009-12-02
  • 打赏
  • 举报
回复
mark...
ldpyes 2009-12-02
  • 打赏
  • 举报
回复
我也是刚学不太懂

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧