Курсовая работа: Модуль оперативного запоминающего устройства
RC ;выйти, если найдена ошибка
;заполнение памяти числом AAh и проверка
MVI C,0ААh ;загрузка тестового значения
CALL LOOP ;вызов подпрограммы тестирования
RC ;выйти, если найдена ошибка
;заполнение памяти числом 55h и проверка
MVI C,55h ;загрузка тестового значения
CALL LOOP ;вызов подпрограммы тестирования
RC ;выйти, если найдена ошибка
;тест с перемещающимся разрядом
CALL N3 ;вызов подпрограммы тестирования
RC ;выйти, если найдена ошибка
RET ;выйти в программу
LOOP: PUSH H ;сохранить базовый адрес
PUSH D ;сохранить размер области
;заполнение памяти тестовым значением
N1: MOV M,C ;заполнить байт тестовым значением
INX H ;следующий байт
DCX D ;уменьшить и проверить 16-разрядный
MOV A,D ;счётчик байтов
ORA E ;сброс флага
JNZ N1 ;продолжать, пока не заполнена вся память
POP D ;восстановить размер области
POP H ;восстановить базовый адрес
PUSH H ;сохранить базовый адрес
PUSH D ;сохранить размер области
;сравненне памяти и тестового значения
N2: MOV A,M ;взять значение из памяти
CMP C ;сравнение с тестовым значением