![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 30.04.2018
Сообщений: 171
|
![]()
Зачем нужны регистры bp, sp и что значит этот код?
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]()
Регистров у вас ограниченное число. Каждый регистр это ячейка с данными. Стек нужен для расширения ячеек.
У функции есть параметры которые передаются в функцию. Есть локальные переменные. И есть ещё временные переменные которые нужны для вычисления сложных выражений. Эти две строчки это пролог функции Код:
Код:
Ниже bp располагаются локальные переменные. Ещё ниже временные переменные. ![]() В вашей функции локальных переменных нет. Есть только временные, вот тут в них сохраняются регистры AX, BX Код:
И было бы очень неудобно каждый раз вычислять где у вас лежат параметры. Поэтому и используют регистр bp который в приделах функции не меняется. Тут вчитываются параметры в регистры Код:
Поподробнее про пролог и эпилог можно прочитать здесь: https://files.nazaryev.ru/books/reve...-beginners.pdf Вообще у вас неумеха писал код. Очистка стека это обычно задача функции. Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 03.05.2020 в 11:25. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.04.2018
Сообщений: 171
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
регистры | pcmax | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 20.04.2018 03:20 |
Что это за регистры fs,gs? | SwiP | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 14.10.2010 21:50 |
Регистры | Волк | Microsoft Office Excel | 9 | 08.04.2009 16:07 |
Регистры | Elm0 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 10.02.2008 19:49 |