тест на bit n,(hl) — ZXNet «zxnet.pc»

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

ZXNet echo conference «zxnet.pc»



from: Станислав Ломакин
to: All
date: 27 February 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