| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1730 人关注过本帖
标题:[求助] 将两个十位数相乘
只看楼主 加入收藏
JEFFONE
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-26
收藏
 问题点数:0 回复次数:12 
[求助] 将两个十位数相乘

DATA SEGMENT
DATA1 DB 32H,39H,30H,35H,34H
DATA2 DB 33H
RESULT DB 6 DUP(00H)
DATA ENDS
STACK SEGMENT STACK'STACK'
STA DB 30 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX
MOV SI,OFFSET DATA2
MOV BL,[SI]
AND BL,00001111B
MOV SI,OFFSET DATA1
MOV DI,OFFSET RESULT
MOV CX,05
LOOPL: MOV AL,[SI]
AND AL,00001111B
INC SI
MUL BL
AAM
ADD AL,[DI]
AAA
ADD [DI],AL
INC DI
MOV [DI],AH
LOOP LOOP1
MOV CX,06
MOV SI,OFFSET RESULT+5
DISPL: MOV AH,02
MOV DL,[SI]
ADD DL,30H
INT 21H
DEC SI
LOOP DISPL
MOV AX,4C00H
INT 21H
CODE ENDS
END START


但出左個loop1錯暨msg
error jeff.asm(34) undefined symbol:loop1
請教各位高人指點

[此贴子已经被作者于2007-6-26 23:25:01编辑过]

搜索更多相关主题的帖子: STACK MOV 位数 DATA SEGMENT 
2007-06-26 23:18
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
把LOOPL改成LOOP1

2007-06-27 08:51
JEFFONE
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-26
收藏
得分:0 

唔多明.........RUN 唔到

2007-06-27 13:14
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
LOOPL: MOV AL,[SI]
AND AL,00001111B
INC SI
MUL BL
AAM
ADD AL,[DI]
AAA
ADD [DI],AL
INC DI
MOV [DI],AH
LOOP LOOP1

人生重要的不是所站的位置,而是所朝的方向
2007-06-27 13:43
JEFFONE
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-26
收藏
得分:0 
回复:(herbert_1987)LOOPL: MOV AL,[SI] ...

請教...如果改成手動輸入兩個十位數應該點改....唔知點樣改

2007-06-28 01:08
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
用 02中断 循环输入单个字符,
把字符处理成数字.

人生重要的不是所站的位置,而是所朝的方向
2007-06-28 01:11
JEFFONE
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-26
收藏
得分:0 

應該放系邊個位.......點处理成数字...可以試一次個程序比我睇睇ma

2007-06-28 22:41
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
data segment
n db 0
data ends

code segment
.....

; 输入十位的数
mov ah, 02
int 21h
sub al, 30h ; 把字符变成相应的数字
mov cl, 10
div cl ;
mov bl, n
add bl, al
mov n, bl

;输入个位的数
mov ah, 02
int 21h
sub al, 30h
mov bl, n
add bl, al
mov n, bl
;n 就是所输入的十位数
; 这里没用循环

人生重要的不是所站的位置,而是所朝的方向
2007-06-28 22:58
JEFFONE
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-6-26
收藏
得分:0 

可以試一次運行到ga程序的全部滙編碼比我ma>
同埋想問下系masm32點解之前run 的progrome.唔得ga

2007-06-28 23:59
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 

无呀, 自己写啦.
用masm32写中断好似吴得嘎.


人生重要的不是所站的位置,而是所朝的方向
2007-06-29 00:04
快速回复:[求助] 将两个十位数相乘
数据加载中...
 
   



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

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