ZXNet эхоконференция «zxnet.pc»


тема: тест на bit n,(hl)



от: Станислав Ломакин
кому: All
дата: 27 Feb 2006
Hello, Vladimir Kladov

благодаря Wlodek'у и CHRV мы теперь имеем над чем подумать ;)

в тестировании принимали участие:
Z0840008,Т34ВМ1,КР1858ВМ3,Z084C0010,КР1858ВМ1 от CHRV,
пентагон Wlodek'a с неизвестным кристаллом (однако, не являющимся одним из
вышеперечисленных)

у родных Z084C00010, Z0840008 все одинаково.
остальные кристаллы отличаются или по memptr, или по другим флагам.

итак, memptr, внутренний регистр z80, из старшего байта которого берутся 3 и 5
биты F при выполнении опкода bit n,(hl). судя по результатам теста
вырисовывается такая картина (тут плюсиками помечены пункты, совпадающие с
nocash-докой, минусом -- несовпадающие или отсутствующие, загогулиной -- ни то,
ни се.):

+ LD A,(addr)
memptr=addr+1

~ LD (addr),A
для Z0840008, Z084C00010, КР1858ВМ3: memptr=A*0x100
на пентагоне Wlodek'a, Т34ВМ1, КР1858ВМ1: memptr=0

~ LD (addr), rp; LD rp,(addr)
memptr=addr+1

+ EX (SP),rp
memptr=rp

+ ADD/ADC/SBC rp,rp2
memptr=rp+1

+ RLD/RRD
memptr=HL+1

+ JP/JR/CALL/DJNZ/RET/RETI/?RST? addr (при переходе)
memptr=addr

+ JP/CALL при отрицательном условии
memptr=addr

+ IN A,(port)
memptr=полный_адрес_порта(A*0x100+port) + 1

- OUT (port),A
для Z0840008, Z084C00010, КР1858ВМ3: memptr=полный_адрес_порта(A*0x100+port)
для пентагона Wlodek'a, Т34ВМ1, КР1858ВМ1: memptr=0

+ IN A(C)
memptr=BC+1

+ OUT (C),A
memptr=BC+1

- CPI/CPD/CPIR/CPDR
самое непонятное... иногда меняет memptr, неясно, по какому принципу.
[в этом тесте все cpi обнуляют memptr, cpd оставляют как есть, все cpir
изменяют непонятно как (первые два обнуляют, остальные, которые при BC=5
выставляют 3й бит), первые два cpdr оставляют как есть, последующие три (BC=5)
выставляют 3й бит]

- INI/INIR/OTI/OTIR/IND/INDR/OUTD/OTDR
или просто memptr=0, или что-то похитрее, ведется следствие...

- прерывания:
как при обычном переходе. то есть memptr=адрес обработчика прерывания

+ любая инструкция с (IX/IY+d)
memptr=IX/IY+d

за остальными инструкциями ничего подозрительного не замечено.

пристегиваю архив с результатами теста и самим тестом (сорс для sjasmplus,
сляпано быстро и на коленке, звиняюсь ,)

Файл: btest_n_res.zip http://zx.pk.ru/attachment.php?attachmentid=2694




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
От авторов - Прошло время... Появилось желaние творить... И вот, сев поздно ночью я нaчaл нaбивaть этот текст, вводяший вaс в мир 15 номерa информaционного издaния 'PLutоNIUM twо'
Игры - "Школа ведунов". Конец оборотней cуmеречного леcа.
Вступление - третий номер не заставил себя долго ждать.
Room Ten - Информация о дисковой версии игры.
От редакции - Свершилось чудо! У нерегулярного электронного издания OverLog появился первый штатный корреспондент в лице многоуважаемого Mr. Undertaker'а.

В этот день...   26 апреля