各位帮下忙,期末复习题目,100个无符号数相加,急!!!
设计一个加法程序,将从BUF存储单元开始的100个无符号数(16位)相加,结果存入BUF单元。哪位高手能给个答案啊,无限感激
明天就考试了
[[it] 本帖最后由 shihuai1999 于 2008-7-3 19:54 编辑 [/it]]
[[it] 本帖最后由 shihuai1999 于 2008-7-3 19:55 编辑 [/it]]
[[it] 本帖最后由 shihuai1999 于 2008-7-3 21:41 编辑 [/it]]
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 .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 这样好象也行
.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 貌似也行
.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 怎么偶一开始写了个
buf dw 100d dup ('1')
就有问题?
[[it] 本帖最后由 zklhp 于 2008-7-3 22:49 编辑 [/it]] [quote][bo][un]zklhp[/un] 在 2008-7-3 22:43 的发言:[/bo]
怎么偶一开始写了个
buf dw 100d dup ('1')
就有问题?
[ 本帖最后由 zklhp 于 2008-7-3 22:49 编辑 [/it]] [/quote]
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
页:
[1]
