| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 638 人关注过本帖
标题:汇编写1+2+3+```````````+1000
收藏  订阅  推荐  打印 
Love嵌入式
Rank: 2
等级:注册会员
帖子:84
积分:1188
注册:2008-3-4
汇编写1+2+3+```````````+1000

请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!
搜索更多相关主题的帖子: 寄存器  汇编  提示  越界  
2008-6-29 20:33
Love嵌入式
Rank: 2
等级:注册会员
帖子:84
积分:1188
注册:2008-3-4

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
Rank: 1
等级:新手上路
帖子:6
积分:162
注册:2008-7-4

使用代码调整指令啊?大概是aaa    BCD码调整指令
2008-7-4 18:49
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:9
帖子:735
积分:8621
注册:2007-7-10

Love嵌入式 在 2008-6-29 20:33 的发言:

请问高手们如何处理它的越界问题啊?
给点提示吧。
16位寄存器不能容纳结果啊!!
用32位的寄存器

要不放到内存里
2008-7-5 16:33
Waiting159
Rank: 1
等级:新手上路
帖子:24
积分:368
注册:2007-11-7

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