vak: (Знайка)
[personal profile] vak
Один крутой чувак взял процессор 8088 и стал гонять его потактово, на каждом шаге считывая состояние. Для каждой машинной команды нагенерил десять тысяч вёдер вариантов. В сумме получилось 300700 тестов для всей системы команд i86. Каждый тест выглядит так:
==== Test #0 (671 bytes) ====
Name: "add byte [ss:bp+di-64h], cl"
Initial CPU State:
Registers:
ax = 52A1 (21153)
bx = E724 (59172)
cx = 81C8 (33224)
dx = F0F7 (61687)
cs = 31ED (12781)
ss = 1D03 (7427)
ds = 0258 (600)
es = CCC3 (52419)
sp = BF76 (49014)
bp = 2608 (9736)
si = CB21 (52001)
di = 2729 (10025)
ip = 02B6 (694)
flags = F452 (62546)
RAM entries: 5
32186 = 00 (0)
32187 = 4B (75)
32188 = 9C (156)
32189 = 90 (144)
21CFD = 14 (20)
Final CPU State:
Registers:
ip = 02B9 (697)
flags = F482 (62594)
RAM entries: 1
21CFD = DC (220)
Попробовал я эти тесты на моём новом симуляторе PC i86, и тут же наткнулся на ошибки в реализации процессора. Ценнейший инструмент получается. Поглядим, что выйдет от всех трёхсот тысяч тестов. Как говорится, тестов много не бывает.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org