В заданной конечной последовательности целых чисел найти сумму элементов кратных 7 - Assembler
Формулировка задачи:
В заданной конечной последовательности целых чисел найти сумму элементов кратных 7.Помогите пожалуйста(
Решение задачи: «В заданной конечной последовательности целых чисел найти сумму элементов кратных 7»
textual
Листинг программы
org 100h jmp start result db 'Result: $' array db 100,059,001,026,077,158 db 074,219,015,003,070,123 db 017,066,049,011,207,046 db 028,056,007,055,081,035 length = $ - array summa dw 0 start: mov si,array ; mov cx,length ; mov bx,7 ; делитель xor dx,dx ; место под сумму @@: ; xor ax,ax ; lodsb ; mov dl,al ; div bl ; проверяем на кратность or ah,ah ; есть остаток? jnz next ; add [summa],dx ; next: ; loop @b ; ; mov ah,9 ; выводим результ на экран mov dx,result ; int 21h ; mov ax,[summa] ; mov bx,10 ; 10-тичная СС call HEX2ASC ; exit: xor ax,ax ; выход! int 16h ; int 20h ; ;ннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннн HEX2ASC: ; Функция переводит числа в символы PUSHA ; Вход: АХ = число, BX = система счисления XOR CX,CX ; isDiv: ; XOR DX,DX ; DIV BX ; PUSH DX ; INC CX ; OR AX,AX ; JNZ isDiv ; isOut: ; POP AX ; CMP AL,9 ; JLE noHex ; ADD AL,7 ; noHex: ; ADD AL,30h ; INT 29h ; LOOP isOut ; POPA ; RET ;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д