8086汇编程序实例 第1个与第100个求和,第2与第99......

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:56:10
将6000H开始的区域中的100个单子无符号数的第1个与第100个求和,第2与第99......求得的和是单字节送BLOCK1,双字节送BLOCK2

希望哪位大侠帮忙编个我参考一下,谢谢

; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
BLOCK1 db 100 dup(?) ;存放单字节之和
BLOCK2 dw 100 dup(?) ;存放双字节之和
Press_Key db 13,10,13,10,'The complated. Press any key to exit...$'
Start: push cs
pop ds
push es
push ds
pop es
lea si,Buffer
mov bx,si
add bx,99
lea di,BLOCK1
mov bp,sp
mov cx,50
cld
Addition: lodsb
add al,[bx]
jnc single
mov ah,1
push ax
jmp $+3
single: stosb
dec bx
loop Addition
lea s