|
编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
登录
注册
平板模式
论坛地图
帮助
编程论坛
→
开发语言
→
汇编论坛
→ 汇编写1+2+3+```````````+1000
我的收件箱(0)
全能ASP/PHP/ASP.NET主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦
赛孚耐:软件保护加密专家
身份认证令牌USB KEY
买空间,免费送域名(厦门中资源)
共有
638
人关注过本帖
标题:汇编写1+2+3+```````````+1000
waiting……
收藏
订阅
推荐
打印
Love嵌入式
等级:注册会员
帖子:84
积分:1188
注册:2008-3-4
楼主
汇编写1+2+3+```````````+1000
请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!
搜索更多相关主题的帖子:
寄存器
汇编
提示
越界
2008-6-29 20:33
Love嵌入式
等级:注册会员
帖子:84
积分:1188
注册:2008-3-4
第
2
楼
data segment
s dw 2 DUP(0)
sum dw 3 DUP(?)
jia dw 50 DUP(?)
n dw 0
data ends
code segment
assume cs:code,ds:data
main proc far
start: mov ax,data
mov ds,ax
mov ax,0
mov bx,0
mov di,offset jia
mov dx,0
mov cx,1000
mov si,0
mov [di],86a0h
mov [di+2],0001h
again: inc bx
add ax,bx
add si,bx
jc aa
loop again
mov s,ax
mov s+2,dx
mov ah,4ch
int 21h
aa: inc dx
loop again
mov s,ax
mov s+2,dx
mov ah,4ch
int 21h
main endp
code ends
end start
以上代码在存储器里是以十六进制存的。请问如何输出他的十进制结果呢?
[
本帖最后由 Love嵌入式 于 2008-7-4 11:51 编辑
]
2008-7-4 11:47
zgj_123
等级:新手上路
帖子:6
积分:162
注册:2008-7-4
第
3
楼
使用代码调整指令啊?大概是aaa BCD码调整指令
2008-7-4 18:49
zklhp
来自:china
等级:版主
威望:
9
帖子:735
积分:8621
注册:2007-7-10
第
4
楼
Love嵌入式
在 2008-6-29 20:33 的发言:
请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!
用32位的寄存器
要不放到内存里
2008-7-5 16:33
Waiting159
等级:新手上路
帖子:24
积分:368
注册:2007-11-7
第
5
楼
assume cs:code
code segment
start: mov cx,1000
mov ax,0
mov bx,0
mov dx,1
s: add ax,dx
adc bx,0
inc dx
loop s
mov ax,4c00h
int 21h
code ends
end start
2008-7-11 13:10
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
Archiver
|
WAP
|
TOP
编程中国
版权所有,并保留所有权利。鲁ICP备08000592号
Powered by
Discuz
, Processed in 0.051441 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved