А как устроен данный тест что сразу после сброса видит сколько установлено памяти?
А как устроен данный тест что сразу после сброса видит сколько установлено памяти?
Радио-86РК +375292940812
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Записывает 0x55AA в начало каждых 16кб, сверяет записанное с прочитанным. Если верно - следующие 16 Кб, не верно - кончилась память:
Код не мой, честно спиз... ээ, позаимствован из Super XT/PC BIOS. "Я его лепила из того что было". Сорцы теста: https://zx-pk.ru/threads/24905-instr...l=1#post791655Код:xor ax, ax ; cause memory check mov bp, ax ; will clobber the flag mov bx, ax ; Start at segment 0000h mov dx, 55AAh ; get pattern cld ; Strings auto-increment @@find_mem_size: xor di, di ; Location XXXX:0 mov es, bx ; load segment mov [es:di], dx ; write pattern cmp dx, [es:di] ; compare jnz @@done_mem_size ; failed, memory end mov cx, 2000h ; Else zero 16 kilobytes repz stosw ; with instruction add bh, 4 ; get next 16K bytes cmp bh, 0A0h ; Found max legal IBM ram? jb @@find_mem_size ; no, then check more @@done_mem_size:
Последний раз редактировалось Tronix; 24.06.2019 в 15:01.
Haper(04.11.2019)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)