| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1677 人关注过本帖
标题:[原创]键盘输入两个数,并计算和再输出!
只看楼主 加入收藏
没事情跳楼耍
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-16
收藏
 问题点数:0 回复次数:19 
[原创]键盘输入两个数,并计算和再输出!

主要有immediate mode illegal
symbol not defined
错误
本人是菜鸟实在不知道怎么修改了!

data segment
buf1 db 3,?,3 dup(?)
buf2 db 3,?,3 dup(?)
num1 dw 0
num2 dw 0
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,offset buf1
mov ah,0ah
int 21h
mov ax,bx
mov num1,ax
call convert
call display
mov dx,offset buf2
mov ah,0ah
int 21h
mov ax,bx
mov num2,ax
call convert
call display
sub bl,bl
add bx,num1
add bx,num2 ;bx is the temporarily result
mov ax,bx ;bx is sended to ax
call shift
mov ah,4ch
int 21h
code ends
end start

convert proc ;convert the data of buffer to the number
mov cx,0
mov ax,0
mov bx,0
mov cl,3
return:
dec cl
mov al,[dx]
sub al,30h
jcxz adding
mul 10 ;the sum send into ax
adding:
add bx,ax ;result send into bx
jcxz end
inc dx
jmp return
end:
ret
convert endp

display proc
mov dl,13
mov ah,2
int 21h
mov dl,10
mov ah,2
int 21h
ret
display endp

shift proc ;convert the result and output
mov bx,10
push bx
dis:
cmp ax,0
jz dis0
div bx ;al is quotient,ah is residue
add ah,30h
push ah
cbw
jmp dis
dis0:
pop ah
cmp ah,10
je stop
mov ah,dl
mov ah,2
int 21h
jmp dis0
stop:
ret
shift endp

[此贴子已经被作者于2007-6-16 23:52:52编辑过]

搜索更多相关主题的帖子: 键盘 输出 输入 
2007-06-16 15:51
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

两个3为数相加?


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-16 16:51
没事情跳楼耍
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-16
收藏
得分:0 
回复:(I喜欢c)两个3为数相加?

最多三位数!

2007-06-16 16:52
没事情跳楼耍
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-16
收藏
得分:0 
回复:(没事情跳楼耍)回复:(I喜欢c)两个3为数相...
不知道怎么改那两个错误
2007-06-16 16:53
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
你把

num1 =0
num2 =0
改为

num1 dw 0
num2 dw 0

试试...

[此贴子已经被作者于2007-6-16 17:08:46编辑过]


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-16 17:05
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
mov num1,ax
对吗
还有就是 你去看看调用子程序

   好好活着,因为我们会死很久!!!
2007-06-16 17:06
没事情跳楼耍
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-6-16
收藏
得分:0 
回复:(I喜欢c)[em03]。。。。。。。。。。[alig...

seg是取段基址
不只到怎么才能把一个寄存器中的数送到num1中去!

2007-06-16 17:09
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 


二弟呀....

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-16 17:09
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
以下是引用没事情跳楼耍在2007-6-16 17:09:07的发言:

seg是取段基址
不只到怎么才能把一个寄存器中的数送到num1中去!

要加属性符的


   好好活着,因为我们会死很久!!!
2007-06-16 17:10
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
以下是引用I喜欢c在2007-6-16 17:09:32的发言:


二弟呀....

干吗


   好好活着,因为我们会死很久!!!
2007-06-16 17:10
快速回复:[原创]键盘输入两个数,并计算和再输出!
数据加载中...
 
   



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

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