| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 897 人关注过本帖
标题:算术指令
只看楼主 加入收藏
haiyungood
Rank: 2
等 级:论坛游民
帖 子:83
专家分:98
注 册:2008-7-2
结帖率:100%
收藏
 问题点数:0 回复次数:6 
算术指令
帮忙看看是哪里错了,只是运行的时候没有结果:原式子为:f=(x+(x*y)+z+1234)/x    谢谢了,
D_SEG SEGMENT
X DW 2420
Y DW 198
Z DW 342
f dw ?
NUM DW 2 DUP(?)
D_SEG ENDS

C_SEG SEGMENT
ASSUME CS:C_SEG,DS:D_SEG
START:MOV Ax,D_SEG
      MOV Ds,Ax
      MOV Ax,X
      IMUL Y
      MOV Cx,Dx
      MOV Bx,Ax
      MOV Ax,Z
      MOV Dx,0
      ADD Bx,Ax
      ADC Cx,Dx
      ADD Bx,1234
      ADC Cx,0
      MOV Ax,X
      ADD Ax,Bx
      ADC Dx,Cx
      IDIV X
      MOV NUM,Ax
      MOV [f+2],Dx     
      MOV AH,4CH
      INT 21H
      C_SEG ENDS
  END START
搜索更多相关主题的帖子: 指令 算术 
2009-11-12 19:37
simon0227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-11
收藏
得分:0 
没有结果什么意思?
没有中断输出,应该没有显示吧。
具体程序对不对单步调试看寄存器内容变化。
2009-11-12 20:18
haiyungood
Rank: 2
等 级:论坛游民
帖 子:83
专家分:98
注 册:2008-7-2
收藏
得分:0 
最后生成exe文件后,运行结果里面什么也没有,是空的。
我没有学过汇编,只是在学计算机组成原理的时候,老师讲了一点汇编的知识,就留了一个题就下来自己写了,我写了那个,但是不知道是哪里错了,
2009-11-12 20:34
simon0227
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-11
收藏
得分:0 
我把程序改了改
令x = 2, y = 3,z = 4
运算结果为:623 = 026FH
这样结果中AX = 026FH,DX = 0000H,其中AX是商,DX是余数。
其实你的本身程序是对的,只是没有调用dos系统功能导致没有输出。
具体命令可以网上查查。我红色代码是调用命令。

在说明一下,我这里只是一个示例,输出结果是'o'。目前我会的也只有字符串输出,所以我输出的一个字符时以AL中的值为ascii码的,
如此时AL = 6FH,正是o的ascii码值。具体要输出十进制需要写根据二进制转化成相应十进制的ascii码的子过程。这里我不写了,应为觉得有点麻烦。
在强调一下你不能输出的原因应该是没有红色代码!


;f=(x+(x*y)+z+1234)/x

D_SEG SEGMENT
X DW 2
Y DW 3
Z DW 4
f dw ?
NUM DW ?
D_SEG ENDS

C_SEG SEGMENT
ASSUME CS:C_SEG,DS:D_SEG
START:MOV Ax,D_SEG
      MOV Ds,Ax
      
      MOV Ax,X
      IMUL Y
      
      MOV Cx,Dx
      MOV Bx,Ax
      MOV Ax,Z
      MOV Dx,0
      ADD Bx,Ax
      ADC Cx,Dx
      ADD Bx,1234
      ADC Cx,0
      MOV Ax,X
      ADD Ax,Bx
      ADC Dx,Cx
      IDIV X
      MOV NUM,Ax                     
      MOV f,Dx  
      
      MOV Dx,NUM
      MOV AH,02H
      INT 21H     
      
      MOV AH,4CH
      INT 21H
      C_SEG ENDS
  END START
2009-11-12 22:44
machill
Rank: 2
等 级:论坛游民
帖 子:23
专家分:35
注 册:2008-12-23
收藏
得分:0 
好像code没错
2009-11-14 23:23
myang
Rank: 4
等 级:业余侠客
威 望:1
帖 子:88
专家分:208
注 册:2009-8-28
收藏
得分:0 
回复 4楼 simon0227
你要显示的字符应放在dl里

QQ群:214453442
2009-11-15 16:28
haiyungood
Rank: 2
等 级:论坛游民
帖 子:83
专家分:98
注 册:2008-7-2
收藏
得分:0 
谢谢各位了……
2009-11-15 17:52
快速回复:算术指令
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027522 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved