Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тестирование ОЗУ



Один из алгоритмов тестирования ОЗУ предполагает заполнение памяти тестовой информацией (в простейшем случае в ячейку памяти записывается младший байт её адреса, просуммированный с некоторой константой).

Листинг 4.39 содержит текст программы тестирования ОЗУ ёмкостью 8 кБ.

Листинг 4.39 – Программа тестирования ОЗУ
  .ORG 0000H ; Адрес начала программы
    TEST:     MOV R0, #00H     CALL WRITE   CALL READ     ; Загрузка в R0 числа, ; прибавляемого к тестовой ; информации (контрольного ; байта) ; Вызов подпрограммы записи ; тестовой информации в ОЗУ ; Вызов подпрограммы чтения ; тестовой информации из ОЗУ с ; проверкой правильности записи
  CJNE A, 00H, STOP   DJNZ R0, TEST   JMP BEGIN ; Проверка результата ; тестирования. При ; обнаружении ошибки останов ; программы ; Иначе переход к следующему ; циклу тестирования ; Переход к основной программе в ; случае успешного тестирования
STOP: JMP $ ; Останов программы при ; обнаружении ошибки ОЗУ
; Основная программа
BEGIN:  
; Подпрограмма записи тестовой информации в ОЗУ
WRITE:     NEXTW:     MOV DPTR, #0000H   MOV A, DPL ADD A, R0     MOVX @DPTR, A   INC DPTR   MOV A, DPH CJNE A, #20H, NEXTW     RET ; В DPTR заносится адрес, по ; которому необходимо ; сохранить байт ; тестовой информации ; В аккумулятор помещается ; младший байт адреса и ; прибавляется число из ; регистра R0 ; Запись тестовой информации в ; ОЗУ ; Инкрементирование адреса ; Проверка предела заполнения ; памяти и переход на начало ; цикла записи, если память ; заполнена не полностью ; Выход из подпрограммы
; Подпрограмма чтения тестовой информации из ОЗУ с проверкой ; правильности записи
READ:     NEXTR:       MOV DPTR, #0000H     MOVX A, @DPTR CLR C SUBB A, R0 CJNE A, DPL, ERR   INC DPTR   MOV A, DPH CJNE A, #20H, NEXTR   MOV A, R0   RET ; В DPTR заносится адрес, с ; которого необходимо ; считать байт ; тестовой информации ; Чтение байта из ОЗУ ; Вычитание из считанного ;значения контрольного байта ; Проверка правильности ; записи данных ; Инкрементирование адреса ; Проверка предела чтения ; памяти и переход на начало ; цикла чтения, если память ; считана не полностью ; Загрузка в аккумулятор байта ; из регистра R0 ; Выход из подпрограммы
ERR:   MOV A, R0 CPL A   RET ; Загрузка в аккумулятор байта ; из регистра R0 и ; его инвертирование ; Выход из подпрограммы



Дата публикования: 2014-11-03; Прочитано: 366 | Нарушение авторского права страницы



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...