- Если написанное может быть понятно неправильно, оно будет кем то (в данном случае - мной) понятно неправильно
- Если написанное НЕ может быть понятно неправильно, оно все равно будет кем то (слава богу - пока не мной) понятно неправильно
Нашёл ошибку (из за неправильно понятого описания дескрипторов CIS) в части тестов CIS.
Блин, я уж начал думать на то, что на моей добавки команда L2Dx работает не правильноНо оказалось - принцип её работы следует именно логичной логике, а не как мне показалось - нелогичному варианту, который сложился у меня в голове
Возможно, сказался уровень понимания английского
В общем, надо ещё проверить, но по крайне мере начал проходить ещё один тест CIS (причём регистры загружаются правильными дескрипторами, а не той хренью, которую я первоначально наблюдал и из за которой этот тест грохал и себя и систему и поэтому был закомментирован)
Ну и слегка расширил набор тестов
Обратил внимание, что команда (символьной) пересылки MOVC работает быстрее (22 513), чем классический (словный) цикл (15871), даже развёрнутый (две инструкции MOV) (20184)Код:.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 оп./сек .![]()





Ответить с цитированием