Напишите программу, определяющую сумму всех нечетных чисел от 1 до 99. (Ассемблер)

0 голосов
131 просмотров

Напишите программу, определяющую сумму всех нечетных чисел от 1 до 99. (Ассемблер)


Информатика (34 баллов) | 131 просмотров
Дан 1 ответ
0 голосов

    mov ax,1
    mov bx,ax
    mov cx,99
a: add ax,2 
    add bx,ax
    cmp ax,cx
    jne a
    mov ax,bx
    mov bl,10
    mov cx,0
b: div bl  ;  в ah - частное, al - остаток
    add al,48  ;  в al - код младшей цифры
    push al
    inc cx
    cmp ah,0
    jne b
 ; вывод на экран через BIOS
c: mov ah, 0eh
    pop al
    int 10h     ; вывод символа
    dec cx
    jnz c
 ; завершение программы
    mov ah, 4ch
    mov al,00h
    int 21h

(9.7k баллов)
0

Что - то я тут накосячил. Если нужен текст рабочей программы, свяжись со мной по ВК , мой id id462257808. Первый косяк push al, pop al - не работают, должно быть push ax и pop ax, второй косяк div bl в ah - остаток. в al - частное.

0

b: div bl ; в al - частное, ah - остаток
add ah,48 ; в ah - код младшей цифры
push ax
mov ah,0
inc cx
cmp al,0
jne b
; вывод на экран через BIOS
c: pop ax
mov al,ah
mov ah, 0eh
int 10h ; вывод символа
dec cx
jnz c
; ожидание ввода с клавиатуры
mov ah,01h
int 21h
; завершение программы
mov ah, 4ch
mov al,00h
int 21h