Size: a a a

Ассемблер

2021 January 03

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Смотрите , я как хобби выбрал программирования.
Я не хочу быть программистом и тд..
Просто нравится
Я вот выучил python,html,css,django,и немного Си с sql
Но возникла проблема
Я не могу просто сесть и написать что захочу
ТК нет понимания, я писал чит на игру с помощью всяких библиотек и просто указывал процесс и красил модельки (вх), но понимания как это все устроено вообще нет, тоесть я такую же библиотеку не напишу.
И меня это очень расстраивает.
И я подумал выучить компьютер сайнт
Тоесть с низов пойти, чтобы на низком уровне понимать что вообще происходит в компьютере.
И я начал читать книгу "Цифровая схемотехника  
и архитектура компьютера "
И там разбирали язык ассемблер
И вот тут вопрос, стоит ли его учить
Илиже я не понимаю все процессы потому что не мое и я дурак)?
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
задавай свои вопросы по асму, очень интересно
Я написал выше
источник

D

Den in Ассемблер
ребят, объясните кто в математике шарит, вот есть задание вычислить скалярное произведение двух массивов, реализуя функцию:
int conv(int *a, int *b, int len);

такой код:

push ebp
mov  ebp, esp            ; Стандартный пролог
push esi                 ; Сохраняем esi
push edi                 ; Сохраняемedi
mov edi, dword[ebp+8]  ; Извлекаем со стека первый параметр a
mov esi, dword[ebp+12] ;Извлекаем со стека второй параметр b
mov ecx, dword[ebp+16] ;Извлекаем со стека третий параметр len
mov eax, 0              ; В eax будем накапливать скалярное произведение
.l:
mov  edx, dword [edi+4*ecx-4]
imul edx, dword [esi+4*ecx-4]
add eax, edx
loop .l
pop edi; Восстанавливаем сохраненный регистр edi
pop esi; Восстанавливаем сохраненный регистр esi
mov esp, ebp; Стандартный эпилог
pop ebp
ret

т.е здесь как я понял умножаются два массива поячеечно, и затем к произведению каждых двух ячеек просто прибавляется значение одной из ячеек в данном случае ячейки "a"
Как я вычитал в интернете Скалярное произведение векторов это произведение векторов на косинус угла между ними а тут просто прибавление какое-то зачем тогда этот пример назвали так?
источник

DB

Dima Bat in Ассемблер
( ͡°Ĺ̯ ͡° )
Смотрите , я как хобби выбрал программирования.
Я не хочу быть программистом и тд..
Просто нравится
Я вот выучил python,html,css,django,и немного Си с sql
Но возникла проблема
Я не могу просто сесть и написать что захочу
ТК нет понимания, я писал чит на игру с помощью всяких библиотек и просто указывал процесс и красил модельки (вх), но понимания как это все устроено вообще нет, тоесть я такую же библиотеку не напишу.
И меня это очень расстраивает.
И я подумал выучить компьютер сайнт
Тоесть с низов пойти, чтобы на низком уровне понимать что вообще происходит в компьютере.
И я начал читать книгу "Цифровая схемотехника  
и архитектура компьютера "
И там разбирали язык ассемблер
И вот тут вопрос, стоит ли его учить
Илиже я не понимаю все процессы потому что не мое и я дурак)?
изучая ассемлер можно хорошо выучить архитектуру проца))
источник

DB

Dima Bat in Ассемблер
я не знаю вообще нужно ли знать как проц работает?))
И для чего это нужно знать
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Dima Bat
изучая ассемлер можно хорошо выучить архитектуру проца))
А что пишут на ассемблере?
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Драйвера ?
источник

SZ

Sergey Zhmylove in Ассемблер
Den
ребят, объясните кто в математике шарит, вот есть задание вычислить скалярное произведение двух массивов, реализуя функцию:
int conv(int *a, int *b, int len);

такой код:

push ebp
mov  ebp, esp            ; Стандартный пролог
push esi                 ; Сохраняем esi
push edi                 ; Сохраняемedi
mov edi, dword[ebp+8]  ; Извлекаем со стека первый параметр a
mov esi, dword[ebp+12] ;Извлекаем со стека второй параметр b
mov ecx, dword[ebp+16] ;Извлекаем со стека третий параметр len
mov eax, 0              ; В eax будем накапливать скалярное произведение
.l:
mov  edx, dword [edi+4*ecx-4]
imul edx, dword [esi+4*ecx-4]
add eax, edx
loop .l
pop edi; Восстанавливаем сохраненный регистр edi
pop esi; Восстанавливаем сохраненный регистр esi
mov esp, ebp; Стандартный эпилог
pop ebp
ret

т.е здесь как я понял умножаются два массива поячеечно, и затем к произведению каждых двух ячеек просто прибавляется значение одной из ячеек в данном случае ячейки "a"
Как я вычитал в интернете Скалярное произведение векторов это произведение векторов на косинус угла между ними а тут просто прибавление какое-то зачем тогда этот пример назвали так?
источник

DB

Dima Bat in Ассемблер
( ͡°Ĺ̯ ͡° )
А что пишут на ассемблере?
я пишу для себа обработчики прерываний на avr)) Да вообще низкоуровневые штуки типо SPI и шим на таймерах AVR
источник

D

Den in Ассемблер
О, Спасибо!
источник

DB

Dima Bat in Ассемблер
( ͡°Ĺ̯ ͡° )
Драйвера ?
ну тут уже обсуждали, оногда вкладки делают в си на асм)
источник

LW

Loren White in Ассемблер
( ͡°Ĺ̯ ͡° )
А что пишут на ассемблере?
то, для чего не хватает Си
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Я учил немного си
источник

К

Кролик in Ассемблер
народ что означает
mov eax, 3
mov ebx, 2
источник

К

Кролик in Ассемблер
ну как вы понимаете какой число  должен хранить ebx?
источник

ST

Saenro T in Ассемблер
Кролик
народ что означает
mov eax, 3
mov ebx, 2
В каком контексте?
источник

D

Den in Ассемблер
Это очень интересно, но меня пока просто интересовало понятие "скалярное" т.е чем обычное произведение отличается от скалярного?
источник

ST

Saenro T in Ассемблер
( ͡°Ĺ̯ ͡° )
Смотрите , я как хобби выбрал программирования.
Я не хочу быть программистом и тд..
Просто нравится
Я вот выучил python,html,css,django,и немного Си с sql
Но возникла проблема
Я не могу просто сесть и написать что захочу
ТК нет понимания, я писал чит на игру с помощью всяких библиотек и просто указывал процесс и красил модельки (вх), но понимания как это все устроено вообще нет, тоесть я такую же библиотеку не напишу.
И меня это очень расстраивает.
И я подумал выучить компьютер сайнт
Тоесть с низов пойти, чтобы на низком уровне понимать что вообще происходит в компьютере.
И я начал читать книгу "Цифровая схемотехника  
и архитектура компьютера "
И там разбирали язык ассемблер
И вот тут вопрос, стоит ли его учить
Илиже я не понимаю все процессы потому что не мое и я дурак)?
Учи, если не хочешь расстраиваться. Да и контингент здесь весьма отзывчивый — поможет в твоих начинаниях.
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Saenro T
Учи, если не хочешь расстраиваться. Да и контингент здесь весьма отзывчивый — поможет в твоих начинаниях.
Хорошо, сегодня 190стр прочитаю
А завтра уже по больше практики
источник

ST

Saenro T in Ассемблер
Если чего-то не понимаешь — спроси, иначе смысла читать далее может и не быть.
источник