Курсовая работа: Модуль оперативного запоминающего устройства

INX H ;следующий байт

DCX D ;уменьшить и проверить 16-разрядный

MOV A,D ;счётчик байтов

ORA E ;сброс флага

JNZ N2 ;продолжать до сравнения всех байтов

;ошибка не найдена

POP D ;DE=размер области в байтах

POP H ;HL=базовый адрес

RET ;выйти (ORA E оставляет флаг переноса равным нулю)

;выход по ошибке, установить флаг переноса

;HL=адрес ошибки

;A=тестовое значение

N3: MVI A,10000000B ;разряд 7 равен единице, остальные – нулю

RBIT: MOV M,A ;записать шаблон теста в память

CMP M ;прочитать его

STC ;флаг переноса, на случай ошибки

RNZ ;выйти при ошибке

RRC ;циклический сдвиг шаблона

CPI 10000000B ;сравнение

JNZ RBIT ;продолжать, пока единица не вернётся в разряд 7

MVI M,0 ;очистить уже проверенный байт

INX H ;уменьшить и

DCX D ;проверить 16-разрядный

MOV A,D ;счётчик

ORA E ;сброс флага

JNZ N3 ;продолжать для всей проверяемой памяти

RET ;возврат

ERR: MOV A,C ;А=тестовое значение

POP D ;DE=размер области в байтах

К-во Просмотров: 303
Бесплатно скачать Курсовая работа: Модуль оперативного запоминающего устройства