| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 997 人关注过本帖
标题:[求助]新人举手求助
取消只看楼主 加入收藏
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
 问题点数:0 回复次数:5 
[求助]新人举手求助
两数相乘,输出结果,就这么简单,但是我就不会
搜索更多相关主题的帖子: 新人 
2007-05-30 22:41
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
得分:0 
能给具体的程序吗

我只是要两个十进制数相乘,然后输出就可以了
2007-05-30 23:29
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
得分:0 
以下是引用菜鸟上路在2007-5-31 10:07:48的发言:

LZ能说出算法吗?
能说出算法,我就给这个程序

输入十进制数值,转换成二进制数值相乘后再转成十进制输出

2007-06-01 12:39
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
得分:0 
其实无所谓啦,只要输入两个数,能得出乘的结果就可以了,其他加减除就不用了

PS:我们老师说要转的
2007-06-02 20:55
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
得分:0 
我就要个乘法,你们太热心了....我自己写个算了
2007-06-04 01:29
木星蜥蜴
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-5-30
收藏
得分:0 

我是说要1~9几个数相乘而已
我写了个,不过有4个错,帮我看看,谢谢斑竹
DATA SEGMENT
ff DB '`````` ',?,'$'
AA DB ?,?,?,'=',?,' ',?,'$'
BB DB 'input error!,please reinput!$'
CC DB 0dh,0ah,' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'
DB 0dh,0ah,' ^ input q to exit ^'
db 0dh,0ah,' ^ input enter go on input ^'
db 0DH,0AH,'*************^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^********************************$'

CODE SEGMENT
ASSUME CS:CODE,DS:DATA

START:
MAIN proc
push dx
mov ah,09h
mov dx,word ptr offset cc
int 21h
call new
pop dx

HAND: MOV AH,01H ;输入第一个数字
INT 21H

CMP AL,'q'
JZ EXIT2
CMP AL,'1' ;判断输入的数字是否是1~9,若不是输出错误信息
JL ERROR
CMP AL,'9'
JG ERROR


MOV DL,AL ;把数字放到[AA]处
MOV [AA],DL

MOV AH,01H ;输入运算符,并判断是否是*
INT 21H

CMP AL,'q'
JZ EXIT2

CMP AL,'*'
JZ OK

JMP ERROR ;如果输入的不是*输出错误信息

OK: MOV CL,AL ;输入第二个数
MOV [AA+1],AL
MOV AH,01H
INT 21H

CMP AL,'q'
JZ EXIT2
CMP AL,'1'
JL ERROR
CMP AL,'9'
JG ERROR

MOV BL,AL
MOV [AA+2],BL
CALL NEW

CMP CL,'*'
JZ NEXT3

NEXT3: CALL MUL

push ax ;判断是否继续输入,如果是按ENTER键继续输入,不
MOV AH,08H ;是按其他键
INT 21H
call new
CMP AL,0DH
JZ HAND
cmp al,'q'
jz EXIT2
pop ax

JMP EXIT1

ERROR: push ax ;输出错误的信息
push dx
MOV AH,09H
CALL NEW
MOV DX,WORD PTR OFFSET BB
INT 21H
pop dx
pop ax
call new
JMP HAND

EXIT1: MOV AH,08H
INT 21H
cmp al,'q'
JMP HAND
EXIT2: .EXIT 0

MAIN ENDP
;换行的子程序
new proc
PUSH AX
PUSH DX
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
POP DX
POP AX
ret
new endp
MUL1 PROC ;实现乘法子程序
PUSH AX
PUSH BX
PUSH DX
MOV AL,DL
AND AX,000FH
AND BX,000FH
MUL BL
MOV BL,0AH
DIV BL
OR AH,30H
OR AL,30H
MOV WORD PTR [AA+4],AX
MOV DX,OFFSET AA
MOV AH,09H
INT 21H
POP DX
POP BX
POP AX
RET
MUL1 ENDP
END START

2007-06-04 21:13
快速回复:[求助]新人举手求助
数据加载中...
 
   



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

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