Files
Operating-System/Experiment/asm-exp/实验四/实验4_2_循环结构二.asm
2026-06-25 00:09:09 +08:00

43 lines
1.1 KiB
NASM
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; 实验4_2: 循环程序设计二 - 多重循环求累加和
; 功能:利用二重循环求累加和
; 说明:外层循环控制内层循环的执行次数
; 作者:
; 日期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
L1:
PUSH CX ; 保存外层循环计数
MOV CX, COUNT ; 内层循环计数
XOR BH, BH ; BH清0
L2:
MOV AL, [SI] ; 取出数据
ADD BH, AL ; 内层累加到BH
INC SI ; SI指向下一个数据
LOOP L2 ; 内层循环
POP CX ; 恢复外层循环计数
ADD BL, BH ; 外层累加
LOOP L1 ; 外层循环
MOV RESULT, BL ; 保存结果
MOV AH, 4CH
INT 21H
CODES ENDS
END START