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

Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.

Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
Задача: "Написать программу, определяющую количество всех байтов памяти сегмента кода с ненулевыми значениями (реальный режим работы Интел 80x86)."
Не понятно то ли просматривать все 64К сегмента кода, то ли только те байты, которые являются исполняемым кодом самой программы.
Программа для второго варианта (x в типе процессора заменён на троечку. Процессор Intel 80386 в реальном режиме работы) :

.model tiny
.386

.code
    org 100h
N84970030:
    lea si, N84970030
    mov cx, ProgLen
    xor dx, dx
    mov ah, dl
    cld
@@:
    lodsb
    test al, al
    setne al
    add dx, ax
    loop @B

    mov ax, dx
    mov bx, 10
    call Write

    mov ax, 4C00h
    int 21h
   
Write proc
    cwd
    div bx
    test ax, ax
    push dx
    jz @F
    call Write
@@:
    pop ax
    or al, 30h
    int 29h
    ret
Write endp

ProgLen equ $ - N84970030
    end N84970030
Владимир Божко
Владимир Божко
51 590
Лучший ответ
Сложно конкретно ответить на ваш вопрос, потому что ассемблер существует только в учебных заведениях, в реальной жизни он никому не нужен и на компах нормальных людей его нет. Тем более реального режима x86.