Dekuji za odpovedi,
ad qemu: tam toho zase tak moc nevidim, nejzajimavejsi je asi toto
https://github.com/qemu/qemu/blob/master/tests/tcg/i386/test-i386.c - jenze to neresi uplne muj problem, potrebuju intenzivnejsi testy. Prusvih jsou takove ty ruzne drobnosti typu ze nejaka instrukce nastavuje nebo nenastavuje flagy, obcas se treba parity flag pouziva na neco obskurniho, apod. (ne ze bych tohle zrovna potreboval, to se v mem prekladanem kodu nebude vyskytovat, je to jen priklad).
ad bruteforce: pokud udelam skutecne bruteforce, tak to bude neskutecne dlouhe. Dlouhe to bude i kdyz omezim sady tech imm konstant a vstupu. Po precteni mne napadlo jeste udelat random testsuite, ze by to generovalo pseudonahodne ruzne testovaci sady (zkusime co udela adc nad signed pos a neg 8bit cislem, a pak zkusime jestli jnX bude fungovat vzdy stejne (a preskocime podminene dalsi testovaci pseudorandom kod).
Jinak tohle je reset kod pocitace TNS HC16:
seg000:E104 reset_routine proc near
seg000:E104 sub ax, [bx+si]
seg000:E106
seg000:E106 loc_FE106: ; CODE XREF: int9_irq1_kbd+100
seg000:E106 cli
seg000:E107 cld
seg000:E108 xor ax, ax
seg000:E10A sahf
seg000:E10B jb short err01
seg000:E10D jz short err01
seg000:E10F jp short err01
seg000:E111 js short err01
seg000:E113 daa
seg000:E114 or al, al
seg000:E116 jnz short err01
seg000:E118 not ah
seg000:E11A sahf
seg000:E11B jnb short err01
seg000:E11D jnz short err01
seg000:E11F jnp short err01
seg000:E121 jns short err01
seg000:E123 daa
seg000:E124 cmp al, 66h ; 'f'
seg000:E126 jnz short err01
seg000:E128 mov ax, 5555h
seg000:E12B cmp al, ah
seg000:E12D jnz short err01
seg000:E12F shl al, 1
seg000:E131 or al, ah
seg000:E133 cmp al, 0FFh
seg000:E135 jnz short err01
seg000:E137 mov ah, al
seg000:E139
seg000:E139 loc_FE139: ; CODE XREF: reset_routine+4Fj
seg000:E139 mov ds, ax
seg000:E13B mov bx, ds
seg000:E13D mov es, bx
seg000:E13F mov cx, es
seg000:E141 mov ss, cx
seg000:E143 mov dx, ss
seg000:E145 mov sp, dx
seg000:E147 mov bp, sp
seg000:E149 mov si, bp
seg000:E14B mov di, si
seg000:E14D sub ax, di
seg000:E14F jnz short err01
seg000:E151 shl cx, 1
seg000:E153 jnb short loc_FE139
seg000:E155 jmp short loc_FE159
seg000:E155 ; ---------------------------------------------------------------------------
seg000:E157 db 90h ; É
seg000:E158 ; ---------------------------------------------------------------------------
seg000:E158
seg000:E158 err01: ; CODE XREF: reset_routine+7j
seg000:E158 ; reset_routine+9j ...
seg000:E158 hlt