Книга для изучения азов ассемблера - Assembler
Формулировка задачи:
Здравствуйте! Нужна книга дабы изучить самые азы ассемблера. Я задавал вопросы про стек, про глобальные переменные и про выделение памяти, но почти все отправляли меня к вам на форум. Мне не нужно писать супер пупер сложные программы на нем, я просто хочу больше вникнуться в то, как работает компьютер на низком уровне, хотя бы понимать что тут написано.
Посоветуйте книгу для новичка
0x00401340 push %ebp 0x00401341 mov %esp,%ebp 0x00401343 and $0xfffffff0,%esp 0x00401346 sub $0x10,%esp 0x00401349 call 0x401920 <__main> 0x0040134E movl $0x5,0xc(%esp) 0x00401356 movl $0x6,0x8(%esp) 0x0040135E mov 0x8(%esp),%eax 0x00401362 add %eax,0xc(%esp) 0x00401366 leave 0x00401367 ret
Решение задачи: «Книга для изучения азов ассемблера»
textual
Листинг программы
push %ebp;сохраняется вазовый регистр стека mov %esp,%ebp;указатель стека запоминается в ebp ;игра со стеком and $0xfffffff0,%esp;сбрасывается младшая тетрада esp sub $0x10,%esp;организуется стековый кадр для внутренних переменных call 0x401920 <__main>;вызывается х/з что-то, типа __main ;непонятные операции movl $0x5,0xc(%esp);записывается непосредственное значение в стек 5 movl $0x6,0x8(%esp);-:- в стек 6 mov 0x8(%esp),%eax; в eax читается 6 add %eax,0xc(%esp);eax добавляется к значению в стекковый кадр, зачем, если он освобождается leave;операция обратна первым 4-и строчкам, удаляется стековый кадр и востанавливаются регистры esp и ebp ret;возврат из подпрограммы ;дальше в eax возвращается результат 6