0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 48
|
||||||
1 | ||||||
Без понятия как регистрами пользоваться03.11.2021, 16:11. Показов 796. Ответов 15
Метки нет (Все метки)
Всем здравствуйте. Без понятия как пользоваться регистрами. Вот задание: "Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае: Данная тройка натуральных чисел а, Ь, с является тройкой Пифагора, т.е. с^2 = а^2+ Ь^2 .". Три часа убил на это.
0
|
03.11.2021, 16:11 | |
Ответы с готовыми решениями:
15
Как еще можно пользоваться регистрами микроконтроллеров? оч сильно надо,а я без понятия как делать Интересный эффект который я без понятия как реализовать Function склеить (без понятия как это назвать) |
Модератор
3758 / 2262 / 783
Регистрация: 15.11.2015
Сообщений: 8,996
|
||||||
03.11.2021, 16:26 | 2 | |||||
При вызове функции в регистрах EAX, EDX, ECX уже содержатся значения переменных a, b, c соответственно.
Ну и можно в дебагере посмотреть, во что компилируется код
1
|
3760 / 2264 / 705
Регистрация: 29.05.2013
Сообщений: 9,616
|
|
03.11.2021, 19:11 | 3 |
Для наглядности этого процесса вы можете сделать точку остановки на первой строке кода и вызвать окно View\Debug windows\CPU Windows\Registers или Ctrl+Alt+R (вызывать его можно только при отладке приложения) и пошагово выполнить ваш код. Все что происходит с регистрами вы увидите в этом окне.
1
|
Модератор
3758 / 2262 / 783
Регистрация: 15.11.2015
Сообщений: 8,996
|
|
03.11.2021, 19:31 | 4 |
Для наглядности лучше точку останова поставить на строке с вызовом функции и открыть "Debug/View CPU". Тогда будет видно, в какие регистры загружаются аргументы функции и после вызова функции будет видно, какие подготовительные шаги предпринимаются.
1
|
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 48
|
|
04.11.2021, 10:24 [ТС] | 5 |
Да, но вот только эта функция недоступна(
У меня Delphi 7
0
|
Модератор
3758 / 2262 / 783
Регистрация: 15.11.2015
Сообщений: 8,996
|
|
04.11.2021, 12:03 | 7 |
У меня тоже. Ставишь курсор на строке, где надо остановиться, жмёшь F5 или мышкой слева от строки на серой полосе, где при компиляции появляются синие точки. И запускаешь программу. Когда программа доходит до этой строки то выполнение останавливается и открывается delphi. Теперь можно кнопками F7, F8 выполнять программу пошагово с заходом и без захода в функции соответственно, или продолжить обычное исполнение, нажав F9. А если правой кнопкой мыши нажать на красную строчку, то в открывшемся меню можно выбрать "Debug \ View CPU" и откроется окно состояния процессора и с ассемблерными инструкциям, которые выполняются сейчас.
Добавлено через 1 минуту Вообще, раз дают задание написать что-то на ассемблере, то по идее должны были уже поизучать и отладчик. Странно.
1
|
D1973
|
04.11.2021, 13:42
#8
|
0
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
||||||
04.11.2021, 13:52 | 9 | |||||
Доброго дня дружному сообществу!
Набросал за пару минут, должно работать.
Нормально показывает значения регистров.
1
|
Модератор
|
||||||
05.11.2021, 15:00 | 10 | |||||
harrybook,
так не попроще/побыстрее?
1
|
AxBxC=X
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
|
|
05.11.2021, 18:11 | 11 |
bormant
Намного лучше. Главное, чтобы автору вопроса пригодилось.
1
|
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 48
|
|
05.11.2021, 21:30 [ТС] | 12 |
Спасибо вам! Я сам не понимаю, как вы это делаете? Точнее, как вы понимаете подобное и можете так спокойно кодить на этом кошмарно-сложном языке? Я много времени потратил и нифига не смог. Насчёт дебаггера, препод показывал через View/CPU, при этом он не учил нас этому. Ещё раз спасибо, я немного лучше понял.
0
|
Модератор
3758 / 2262 / 783
Регистрация: 15.11.2015
Сообщений: 8,996
|
|
05.11.2021, 21:47 | 13 |
Это не кошмарно сложный язык, а мнемоническое обозначение инструкций самого процессора. Процессор выполняет именно такие команды. Если понимать, как работает процессор, то ассемблер станет гораздо легче понимать.
НО! Современные программы настолько сложны, что вряд ли кто-то возьмётся написать более-менее большую программу на чистом ассемблере. А вот такие ассемблерные вставки в некоторых функциях это часто бывает.
1
|
harrybook
|
05.11.2021, 22:46
#14
|
Не по теме:
0
|
пофигист широкого профиля
4754 / 3191 / 860
Регистрация: 15.07.2013
Сообщений: 18,482
|
|
06.11.2021, 02:29 | 15 |
Ассемблер это самый что ни на есть простейший и легко понятный язык! Не надо было тратить много времени на поиски кода на всемирной помойке. Надо было найти учебник для новичков по ассемблеру.
0
|
06.11.2021, 11:38 | 16 |
на самом деле все учебники по асм из тех времен когда он еще активно применялся и еще был 32 бита и все такое
с тех пор он настолько разросся, что уже с полпинка и не соединишь знания с того учебника и современные реалии и чтобы его использовать надо не только знать команды цпу, но и отлично представлять себе как хранятся данные в том же делфи. А это уже ну никак не новичковый уровень.
0
|
06.11.2021, 11:38 | |
06.11.2021, 11:38 | |
Помогаю со студенческими работами здесь
16
Без понятия, как создавать массив в Windows Forms Нужно написать транскриптор, без понятия как даже начать примеры задания типо этого а то я без понятия как его делать Что не так с тенями и как это лечить? ( без понятия с чем может быть связано) Как научиться пользоваться windows без мыши ? Как пользоваться Sleep без зависаний приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |