Aleksei
Andrew
господи как это было ахуенно 😭😭😭😭
Kirill
Так это отрывок из леции
Kirill
Только я не понимаю как оно работает
Kirill
Вродее не верно)
тут всего 4 строчки
какая из них не понятна
почему сдвиг эквивалентен операции умножения?
Kirill
умножению на 2
эээм ну смотри
Kirill
Вот вам полный отрывок
Kirill
В то время как отдельная команда сдвига может умножить или разделить только на степень числа 2, манипулирование несколькими регистрами позволяет выполнить умножение или деление на другие числа. Например, приведенная ниже последовательность команд умножает содержимое регистра АХ на 10: MOV ВХ,10 ;Сохранить содержимое в ВХ SHL АХ,1 ;Сдвинуть AХ (умножить на 2) SHL AХ,1 ;Сдвинуть AХ еще раз (умножить на 4) ADD АХ,ВХ ;Сложить с исходным, значением АХ (умножить на 5) SHL АХ,1 ;Сдвинуть AХ еще раз (умножить на 10) Хотя в этой последовательности пять команд, но выполняется она в 11 раз быстрее одной команды MUL!
сколько будет 1 в бинарной системе
Kirill
1
Тут написано "только на степень числа 2" между прочим
сдвинь влево
что получится
Kirill
10
10 это сколько в бинарной
Kirill
не
Kirill
10 в бинарной
Kirill
2 в десятичной
Kirill
Еще раз сдвину получится 100(2)=4(10)
ну и что не понятно
Kirill
Вот тот отрывок из леции
Kirill
Тип чтоб умножить на 10
Kirill
Тут add ax, bx
Kirill
в bx 10
Kirill
Как это работает?
Kirill
Ljgecnbv
Kirill
Допустим. Сдвинули 1 два раза, то есть умножжили на 4. Получится 4
Kirill
А нужно умножить на 5
Kirill
Я добавляю 10
что есть умножение
Kirill
Получается 14
a*5 = a*2*2 + a
Kirill
1*5!=14
можно так представить?
Kirill
да
ну здесь аналогичный порядок действий
сначала сохраняешь a в память
то есть в b
затем оперируешь a сдвигая дважды, что эквивалетно умножению на 4
получается a = a*2; a = a*2;
затем добавляешь ещё a
чтобы получилось умножение на 5
так понятней?
Kirill
да
Kirill
так понятно
Kirill
спасибо большое
Kirill
Сложный asm
Kirill
С++ ван лав)
Kirill
Не
Kirill
Pytho
Kirill
n
Aleksei
LUL
Kirill
Вот рил
Kirill
Смысл с asm&
Kirill
?
Ты из какой-то книжки это берёшь?
Kirill
Если есть высокоуровнеые языки
В плане задачи
Ты книжку сначала читаешь?
Или с середины
Kirill
Лекции
Kirill
В универе принуждают проходить asm
Kirill
Чтоб лабы сдавать
Повезло
я паскаль проходил
Aleksei
ну, сам по себе асм не нужен
Aleksei
асм нужен для проца
Aleksei
потому что ничего другого он не понимает
Kirill
И что мне на нем писать?
Kirill
Сайты только если делать)))))
Код высокопроизводительный и приложения получаются маленькие
Aleksei
сейчас любой компилятор даст фору любому ассемблерописателю
Питон по сравнению с асмом громоздкая скотина, потому что он, как минимум, интерпретируемый
Абсурд
Я бы утверждал обратное
готов даже проверить