- Если написанное может быть понятно неправильно, оно будет кем то (в данном случае - мной) понятно неправильно
- Если написанное НЕ может быть понятно неправильно, оно все равно будет кем то (слава богу - пока не мной) понятно неправильно

Нашёл ошибку (из за неправильно понятого описания дескрипторов CIS) в части тестов CIS.

Блин, я уж начал думать на то, что на моей добавки команда L2Dx работает не правильно Но оказалось - принцип её работы следует именно логичной логике, а не как мне показалось - нелогичному варианту, который сложился у меня в голове Возможно, сказался уровень понимания английского

В общем, надо ещё проверить, но по крайне мере начал проходить ещё один тест CIS (причём регистры загружаются правильными дескрипторами, а не той хренью, которую я первоначально наблюдал и из за которой этот тест грохал и себя и систему и поэтому был закомментирован )

Ну и слегка расширил набор тестов

Код:
.RUN SPEED3

Тест быстродействия

R1+R0 classic                     529 528 оп./сек
R1(23456.)+R0(12345.) empty       165 433 оп./сек
R1(23456.)+R0(12345.)             126 565 оп./сек ->     538 695 оп./сек
R1+@R0 classic                    330 002 оп./сек
R1(23456.)+@R0(M-12345.) empty    165 431 оп./сек
R1(23456.)+@R0(M-12345.)          110 383 оп./сек ->     331 724 оп./сек
R0*R0 classic                      40 774 оп./сек
empty 11.*12.                     165 434 оп./сек
11.*12.                            32 667 оп./сек ->      40 704 оп./сек
R2/R0 classic                     140 720 оп./сек
R2-R3(34567.)/R1(321.) empty      126 561 оп./сек
R2-R3(34567.)/R1(321.)             20 125 оп./сек ->      23 930 оп./сек
34567.89022+32109.754321 empty     26 696 оп./сек
34567.89022+32109.754321            9 787 оп./сек ->      15 451 оп./сек
34567.89022*32109.754321 empty     26 696 оп./сек
34567.89022*32109.754321            3 595 оп./сек ->       4 154 оп./сек
34567.89022/32109.754321 empty     26 698 оп./сек
34567.89022/32109.754321            3 499 оп./сек ->       4 026 оп./сек
CIS MULPI 1                           432 оп./сек
CIS MULP  1 empty                  56 831 оп./сек
CIS MULP  1                           434 оп./сек ->         437 оп./сек
CIS MULPI 2                         2 005 оп./сек
CIS MULP  2 empty                  56 849 оп./сек
CIS MULP  2                         2 041 оп./сек ->       2 117 оп./сек
CIS ADDNI 1                         3 144 оп./сек
CIS ADDN  1 empty                  56 847 оп./сек
CIS ADDN  1                         3 227 оп./сек ->       3 421 оп./сек
CIS ADDNI 2                         6 496 оп./сек
CIS ADDN  2 empty                   56 852 оп./сек
CIS ADDN  2                         6 896 оп./сек ->       7 847 оп./сек
MOV 8 word 1 empty                110 383 оп./сек
MOV 8 word 1                       13 876 оп./сек ->      15 871 оп./сек
MOV 8 word 2 empty                110 382 оп./сек
MOV 8 word 2                       17 064 оп./сек ->      20 184 оп./сек
CIS MOVCI 8 word 1                 13 995 оп./сек
CIS MOVC 8 word 2 empty            58 354 оп./сек
CIS MOVC 8 word 2                  16 246 оп./сек ->      22 513 оп./сек
.
Обратил внимание, что команда (символьной) пересылки MOVC работает быстрее (22 513), чем классический (словный) цикл (15871), даже развёрнутый (две инструкции MOV) (20184)