haker_fox 61 27 июня, 2021 Опубликовано 27 июня, 2021 · Жалоба 7 hours ago, kovigor said: Даже простейшее окошко с парой кнопочек вывести не так-то просто ... Да чтож это такое)))) Ещё как просто. Выводил. Знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 28 июня, 2021 Опубликовано 28 июня, 2021 · Жалоба MACRO-11 наше всё Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 28 июня, 2021 Опубликовано 28 июня, 2021 · Жалоба 15 часов назад, kovigor сказал: Даже простейшее окошко с парой кнопочек вывести не так-то просто ... Написать несколько PUSH и один CALL (на каждое из окошек/кнопочек) - это "можно сойти с ума"? Да уж.... тогда понятно почему ассемблер ARM для вас невероятно сложен... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 28 июня, 2021 Опубликовано 28 июня, 2021 · Жалоба Там на WIN API все завязано, с кучей параметров и с их передачей через стек. Просто push cs pop ds сделать не получится ... Читал Румянцева, у него цикл книг по программированию с использованием WIN32 API. Полезно, интересно, но ... писать все это на ассемблере ... Он, кстати, сам использовал Си ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 28 июня, 2021 Опубликовано 28 июня, 2021 · Жалоба 1 час назад, kovigor сказал: Там на WIN API все завязано, с кучей параметров и с их передачей через стек. Что такое WinAPI - мы тоже знаем, не надо пугать страшными непонятными словами. А нарисовать окошко (или кнопочку) на WinAPI на асме выглядит примерно так: push eax push 4 lea eax, DWORD PTR [esi+356] push eax push DWORD PTR _dc$[ebp+4] call DWORD PTR __imp__DrawFrameControl@16 И даже POP-ить не нужно: по соглашениям вызова WinAPI, вызываемая функция сама освободит стек. Как видите - получилось. И очень даже просто. Как я и писал. А если это ещё завернуть в макрос (как выше уже посоветовали), то будет ещё лаконичнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 28 июня, 2021 Опубликовано 28 июня, 2021 · Жалоба Спасибо, при случае сам попробую ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 91 5 июля, 2021 Опубликовано 5 июля, 2021 · Жалоба 27.06.2021 в 13:22, jcxz сказал: У МК есть только один ассемблер: он описан в мануале на его ядро. Вообще-то это не так. В мануале на ядро написаны машинные коды и для понимания чего они делают одна из реализаций этих кодов на Асме. В общем случае конкретная реализация ассемблера обязана компилироваться в заданный машинный код, но вот синтаксис реализации может быть любой. Хоть графический с квадратиками и стрелочками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 6 июля, 2021 Опубликовано 6 июля, 2021 · Жалоба 11 часов назад, artemkad сказал: Вообще-то это не так. В мануале на ядро написаны машинные коды Что это за "мануал" такой? Можете дать ссылку? А то в наших во всех (от самого ARM-а) описан именно ассемблер и именно одного единственного синтаксиса. А машинные коды: надо ещё поискать - не так просто найти. "Cortex ™ -M4 Devices. Generic User Guide" PS: Или может вы какой-то свой мануал написали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 91 6 июля, 2021 Опубликовано 6 июля, 2021 · Жалоба 12 часов назад, jcxz сказал: А то в наших во всех (от самого ARM-а) описан именно ассемблер Вообще-то у всех АРМов унифицированная система команд и в "ваших" только уточняется чего в данной серии есть. Потому сами коды искать в общих для всей архитектуры документах. А-ля "ARM .... Instruction Set Architecture" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 189 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба Мне кажется, Вы, @artemkad, чего-то выдумываете. Да, ARM предоставляет бинарные опкоды команд в референс-мануале на архитектуру ядра (а не на конкретную его реализацию). Однако каждому опкоду там дана мнемоника (сокращенный эквивалент на человеческом языке), которая и является основополагающей частью ассемблера. Вы же (если программировали на ассемблере) не создаете в памяти массив из опкодов (?), надеюсь, а пишете последовательность мнемоник. А то, что Вы имели в виду под интерпретациями (графическими, и т.д.), скорее всего, сначала транслируется в Си-код. Тот же StateFlow в Simulink взять, к примеру - рисуем блок-схемы и получаем Си-код. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба 22 часа назад, jcxz сказал: Что это за "мануал" такой? Можете дать ссылку? ... А машинные коды: надо ещё поискать - не так просто найти. ARM®v7-M Architecture Reference Manual Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба 12 часов назад, artemkad сказал: только уточняется чего в данной серии есть. Вообще-то не "только уточняется чего есть", а дано описание каждой команды. Вполне достаточное, чтобы писать программу на ассемблере. 12 часов назад, artemkad сказал: Потому сами коды искать в общих для всей архитектуры документах. А-ля "ARM .... Instruction Set Architecture" Команды ассемблера есть во множестве документов, в том числе и в документациях на МК конкретных производителей. А вот маш.коды для них: ещё поискать нужно - мало где описаны. Потому как обычно нафик никому не нужны. И вообще: какое отношение имеют маш.коды к ассемблеру? Вы понимаете между ними разницу? Здесь: Вы оспариваете мое утверждение, только не понятно, что именно оспариваете: что 1) синтаксис ассемблера для ARM - единственный (официальный); или 2) что он описан в мануалах на ядро? На просьбу привести доказательства (п.1 или п.2) уводите разговор в сторону, в маш.коды (хотя моё утверждение их вовсе не касалось). PS: По существу есть что сказать? Или просто очень хочется поспорить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 91 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба 3 часа назад, Arlleex сказал: Однако каждому опкоду там дана мнемоника (сокращенный эквивалент на человеческом языке), которая и является основополагающей частью ассемблера. Там дана мнемоника для конкретной реализации ассемблера. При желании Вы можете написать свой ассемблер с другими мнемониками которые Вам больше нравятся которые однозначно будут компилироваться в ARM-опкоды и это тоже будет ассемблер для ARM-ов. Т.е. исходными и неизменными для данной архитектуры и каждой её реализации в частности являются только машинные коды. А как выглядит исходный код программы это уже дело вкуса создателей конкретной реализации компилятора. 3 часа назад, Arlleex сказал: А то, что Вы имели в виду под интерпретациями (графическими, и т.д.), скорее всего, сначала транслируется в Си-код. Вообще-то это гораздо сложнее. Даже транслировать в Асм сложнее чем тупо компилировать в машинные коды. Под графическим имел ввиду, естественно, Algorithm Builder для AVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
artemkad 91 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба 3 часа назад, jcxz сказал: Вообще-то не "только уточняется чего есть", а дано описание каждой команды. Вполне достаточное, чтобы писать программу на ассемблере. Нет, недостаточно. Необходим еще компилятор который понимает именно это синтаксис ассемблера и именно для этого контроллера. 3 часа назад, jcxz сказал: И вообще: какое отношение имеют маш.коды к ассемблеру? Самое прямое - каждая инструкция ассемблера однозначно компилируется в один конкретный маш.код. А вот какое отношение ассемблер имеет к контроллеру - большой вопрос. Ассемблер имеет отношение к компилятору, а уже чего там делает компилятор это уже его дело. 3 часа назад, jcxz сказал: единственный (официальный) Так единственный или официальный? Вы же сами понимаете что это совсем не одно и то же. Кстати, помнится у GAS свои заморочки с синтаксисом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 7 июля, 2021 Опубликовано 7 июля, 2021 · Жалоба 2 часа назад, artemkad сказал: Кстати, помнится у GAS свои заморочки с синтаксисом. Ага: для x86 было больно. Для Cortex-M ничего не почувствовал. PS. Думаю, можно расходиться - очередной "новичок" забросил сомнительную тему и пропал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться