Миоко Таканава
Гений
(51590)
11 лет назад
Не понятно то ли просматривать все 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
Задача: "Написать программу, определяющую количество всех байтов памяти сегмента кода с ненулевыми значениями (реальный режим работы Интел 80x86)."