| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1520 人关注过本帖
标题:[求助]兩數相加程式
取消只看楼主 加入收藏
andrew9
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-12
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助]兩數相加程式
由於小弟我是初學Assembly Language,老師上課要我們交一個作業,如題:寫一NASM程式,可以輸入兩個數字,計算加總之後輸出結果。要求:輸入x.y兩數,範圍在-128~127之間計算z=x+y 輸出時同時輸出x.y.z之二進、八進、十六進避免用課本之macro!

可是我能力不足,只會最基本印出字串
不知道高手能否幫小弟完成老師要的作業呢:-(
以下是小弟寫的一部分

ORG 0100H
JMP start
msg DB 'please keyin the first integer : ', '$'
msg2 DB 'please keyin the second integer :', '$'
newline DB 13, 10, '$'
x DB 7
y DB -5
z DB 0
msg3 DB 'z=x+y= '
total DB ' ', 13, 10, '$'

start: MOV DX, msg
MOV AH, 09H
INT 21H
MOV DX, newline
MOV AH, 09H
INT 21H


MOV DX, msg2
MOV AH, 09H
INT 21H
MOV DX, newline
MOV AH, 09H
INT 21H

MOV AL, [x]
ADD AL, [y]
MOV [z], AL
MOV DX, msg3
MOV AH, 09H
INT 21H

MOV AX, 4c00H
INT 21H
搜索更多相关主题的帖子: 程式 相加 
2006-12-12 01:08
andrew9
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-12
收藏
得分:0 
我有搜索過阿,可是我們用的是nasm的組譯器,很多地方我都看不懂耶
2006-12-12 12:49
andrew9
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-12
收藏
得分:0 
請問一下喔,我現在已經修改成這樣,不過只能輸入一個字元,來進行相加,請問我要如何在修改才能變成 -127~128的範圍相加呢

ORG 0100H
JMP start
msg DB 'please keyin the first integer : ', 13, 10,'$'

msg2 DB 'please keyin the second integer :', 13, 10, '$'

x DB ' '
y DB ' '
newline DB 13, 10, '$'
msg3 DB 'z=x+y= '
z DB ' ', '$'

start: MOV DX, msg
MOV AH, 09H
INT 21H

MOV AH, 01H
INT 21H
MOV [x], AL
MOV DX, newline
MOV AH, 09H
INT 21H

MOV DX, msg2
MOV AH, 09H
INT 21H
MOV AH, 01H
INT 21H
MOV [y], AL

ADD AL, [x]
DAA

SUB AL, 30H

MOV [z], AL
MOV DX, msg3
MOV AH, 09H
INT 21H
MOV DX, newline
MOV AH, 09H
INT 21H

MOV DX, newline
MOV AH, 09H
INT 21H

MOV AX, 4c00H
INT 21H
2006-12-12 18:48
快速回复:[求助]兩數相加程式
数据加载中...
 
   



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

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