35 lines
845 B
NASM
35 lines
845 B
NASM
; 实验4_1: 循环程序设计一 - 求累加和
|
||
; 功能:求1+2+3+...+10的和
|
||
; 说明:利用LOOP指令实现循环累加
|
||
; 作者:
|
||
; 日期:2026-05-14
|
||
|
||
DATAS SEGMENT
|
||
LIST DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH
|
||
COUNT EQU 10
|
||
RESULT DB ?
|
||
DATAS ENDS
|
||
|
||
CODES SEGMENT
|
||
ASSUME CS:CODES, DS:DATAS
|
||
START:
|
||
MOV AX, DATAS
|
||
MOV DS, AX
|
||
|
||
LEA SI, LIST ; SI指向数据表首地址
|
||
MOV CX, COUNT ; 设置循环计数初值
|
||
XOR BL, BL ; BL清0,累加和初值为0
|
||
XOR BH, BH ; BH清0
|
||
|
||
L1:
|
||
MOV AL, [SI] ; 取出数据
|
||
ADD BL, AL ; 累加到BL
|
||
INC SI ; SI指向下一个数据
|
||
LOOP L1 ; CX!=0,继续循环
|
||
|
||
MOV RESULT, BL ; 保存结果
|
||
|
||
MOV AH, 4CH
|
||
INT 21H
|
||
CODES ENDS
|
||
END START |