| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 515 人关注过本帖
标题:各位帮下忙,期末复习题目,100个无符号数相加,急!!!
收藏  订阅  推荐  打印 
shihuai1999
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2007-12-13
各位帮下忙,期末复习题目,100个无符号数相加,急!!!

设计一个加法程序,将从BUF存储单元开始的100个无符号数(16位)相加,结果存入BUF单元。

哪位高手能给个答案啊,无限感激

明天就考试了

[ 本帖最后由 shihuai1999 于 2008-7-3 19:54 编辑 ]

[ 本帖最后由 shihuai1999 于 2008-7-3 19:55 编辑 ]

[ 本帖最后由 shihuai1999 于 2008-7-3 21:41 编辑 ]
搜索更多相关主题的帖子: 复习  BUF  单元  加法  
2008-7-3 19:52
shihuai1999
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2007-12-13

大家觉得这个怎样?有没有要修改的地方?
Data segment
BUF dw 101 dup(1)

Data ends



CODE   SEGMENT
        ASSUME    CS:CODE,DS:Data
START:
     mov ax,Data
     mov ds,ax
     mov bx,offset BUF
     mov cx,100
     mov ax,00h
replay:
     add ax,[bx]
     inc bx
     inc bx
     loop replay
  
     mov [bx],ax
     
     
      mov ah,4ch
      int 21h

CODE    ENDS        
END  START
2008-7-3 22:27
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:12
帖子:872
积分:10050
注册:2007-7-10

.model small
.stack 200h
.data
    
    buf dw 100d dup (1)
    
.CODE
START:
    mov ax,@data
    mov ds,ax
    xor ax,ax
    xor bx,bx
    mov cx,100d
        
@@:
    add ax,[buf+bx]
    inc bx
    inc bx
    dec cx
    jcxz @finish
    jmp @b
    
@finish:
    
    mov WORD ptr [buf],ax
    mov BYTE ptr [buf+2],'$'
    lea dx,buf
    mov ah,9h
    int 21h
    
    ;暂停,任意键关闭
    mov ah,1
    int 21h
    mov ah,4ch     ;结束,可以修改al设置返回码
    int 21h
    
END START
2008-7-3 22:36
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:12
帖子:872
积分:10050
注册:2007-7-10

这样好象也行


.model small
.stack 200h
.data
    
    buf dw 100d dup (1)
    
.CODE
START:
    mov ax,@data
    mov ds,ax
    xor ax,ax
    xor bx,bx
    mov cx,100d
        
@loop:
    add ax,[buf+bx]
    inc bx
    inc bx
    loop @loop
    
    mov WORD ptr [buf],ax
    mov BYTE ptr [buf+2],'$'
    lea dx,buf
    mov ah,9h
    int 21h
    
    ;暂停,任意键关闭
    mov ah,1
    int 21h
    mov ah,4ch     ;结束,可以修改al设置返回码
    int 21h
    
END START
2008-7-3 22:38
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:12
帖子:872
积分:10050
注册:2007-7-10

貌似也行

.model small
.stack 200h
.data
    
    buf dw 100d dup (1)
    
.CODE
START:
    mov ax,@data
    mov ds,ax
    xor ax,ax
    xor bx,bx
    mov cx,100d
    lea si,buf
        
@loop:
    lodsw
    add bx,ax
    loop @loop
    
    mov WORD ptr [buf],bx
    mov BYTE ptr [buf+2],'$'
    lea dx,buf
    mov ah,9h
    int 21h
    
    ;暂停,任意键关闭
    mov ah,1
    int 21h
    mov ah,4ch     ;结束,可以修改al设置返回码
    int 21h
    
END START
2008-7-3 22:41
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:12
帖子:872
积分:10050
注册:2007-7-10

怎么偶一开始写了个

buf dw 100d dup ('1')

就有问题?

[ 本帖最后由 zklhp 于 2008-7-3 22:49 编辑 ]
2008-7-3 22:43
zklhp
Rank: 12Rank: 12Rank: 12
来自:china
等级:版主
威望:12
帖子:872
积分:10050
注册:2007-7-10

zklhp 在 2008-7-3 22:43 的发言:

怎么偶一开始写了个

buf dw 100d dup ('1')

就有问题?

[ 本帖最后由 zklhp 于 2008-7-3 22:49 编辑 ]
13C6:0000  24 13 24 00 31 00 31 00-31 00 31 00 31 00 31 00   $.$.1.1.1.1.1.1.
13C6:0010  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0020  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0030  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0040  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0050  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0060  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.
13C6:0070  31 00 31 00 31 00 31 00-31 00 31 00 31 00 31 00   1.1.1.1.1.1.1.1.

郁闷………………

'1' == 49d
4900d == 1324h

高高低低正好是  '$'

555555555
2008-7-3 23:02
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059629 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved