Другие языки программирования и технологии

Помогите решить задачку (ассемблер-тасм)

У вас программа почти рабочая. Не указана точка входа в программу. Неправильно задан массив. Ну, и так по мелочи: в старшем байте очередного слагаемого может оказаться мусор.
Добавьте вывод на экран результата работы программы.

.model small
.stack 512
.data
  mas db 31, 11, 26, 10, 8, 48, 21, 16, 65, 28
  sum dw 0
  txt db 'Сумма нечётных элементов = $'

.code
begin:
    mov AX, @data
    mov DS, AX
    mov AX,0

    mov BX, offset mas
    mov SI,0
start:
    cmp SI,10
    je finish

    mov AL,[BX][SI]
    test AL,00000001b
    jz cont
    xor ah,ah
    add AX,sum
    mov sum,AX
cont:
    inc SI
    jmp start

finish:
    lea dx,txt
    mov ah,9
    int 21h

    mov ax,sum
    mov bx,10
    xor cx,cx
WrDec2:
    cwd
    div bx
    or dl,'0'
    push dx
    inc cx
    test ax,ax
    jnz WrDec2
WrDec3:
    pop ax
    int 29h
    loop WrDec3

    mov ax,4c00h
    int 21h
    end begin
Роман Захарчук
Роман Захарчук
51 590
Лучший ответ