Предмет: Информатика,
автор: Ximikvrn
Напишите программу, определяющую сумму всех нечетных чисел от 1 до 99. (Ассемблер)
Ответы
Автор ответа:
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
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
Автор ответа:
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
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
Похожие вопросы
Предмет: Химия,
автор: zuravlevapolina507
Предмет: История,
автор: flord6423
Предмет: Математика,
автор: litvinovasvetlana131
Предмет: Литература,
автор: Аноним
Предмет: Математика,
автор: Никита121212