Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 0
Регистрация: 18.01.2017
Сообщений: 63
1

Что почитать что бы писать на ассемблере под arm?

21.02.2017, 18:50. Показов 2630. Ответов 13

Author24 — интернет-сервис помощи студентам
Подскажите книги где учат программировать ARM только на ассемблере!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2017, 18:50
Ответы с готовыми решениями:

Что почитать, чтобы писать приложения, использующие БД
Здравствуйте! Занялся задачей написать приложение для базы данных в MS SQL. Приложение должно...

Какие книги почитать что бы написать на Ассемблере ОС? Читайте полностью
У меня есть друг который умеет и практикует написание ОС на ассемблере. Он дал мне свой код и...

Что надо знать что бы писать под WP
Я знаю C# + не сильно XAML, Хорошо знаю Windows Form, и сейчас учу WPF, что меня еще надо знать что...

Что можно почитать про то что "под капотом" у С++ ?
Здравствуйте. Что можно почитать чтобы лучше понять что именно происходит при вызове команд?...

Что посоветуете почитать по программированию под Android?
Что посоветуете почитать по программированию под Android?

13
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
21.02.2017, 18:59 2
DwapDaBase, лично мне хватает datasheet
Плюс, смотрю код, который создается после Сишной среды Coocox.
На мой взгляд, настройки лучше делать в С. Там все уже есть. А настроек в АРМе выше крыши...
Само функционирование уже можно делать на ассемблере, если есть желание.
Это лично мое мнение.
0
81 / 81 / 33
Регистрация: 03.03.2013
Сообщений: 311
23.02.2017, 13:45 3
DwapDaBase, ну на русском таких книжек скорее всего нету. Сами разработчики решили излишним написание программ под арм на асме написав библиотеки типа cmsis или hal. Хотя ничто не мешает воспользоватся даташитом (а именно "programing manual") и писать на ассемблере +. Принцип всех ассемблеров одинаков же, а макросы у всех ide свои.
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
23.02.2017, 16:38 4
Цитата Сообщение от Novi4ekC Посмотреть сообщение
Принцип всех ассемблеров одинаков же
а Вы армовский хоть раз смотрели? Самая интересная фишка, на мой взгляд в арме, это что каждую инструкцию можно выполнять условно, больше ни где не встречал такого. Подскажите в какой архитектуре еще такое есть?
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
23.02.2017, 16:59 5
Витальич, у каждой архитектуры есть свои вкусности, об этом можно не говорить...
У АРМ-ов да, их обилие. Можно еще упомянуть отображение битов на адресное пространство. Весьма удобно.
Или хранение адреса возврата в специальном регистре. Очень легко менять адрес, куда вернуться. Бывает надо.
Главное, понимать, как все функционирует. А это является общим требованием для всех архитектур
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
23.02.2017, 18:08 6
Цитата Сообщение от _liv_ Посмотреть сообщение
Или хранение адреса возврата в специальном регистре.
и чем отличается от хранения в стеке?
Цитата Сообщение от _liv_ Посмотреть сообщение
Очень легко менять адрес, куда вернуться.
я и на 8086 это делал без напряга
а вот подпрограмма в подпрограмме и еще в подпрограмме и все это преимущество идет лесом регистр то помнит один адрес в отличии от стека
Цитата Сообщение от Витальич Посмотреть сообщение
на мой взгляд в арме, это что каждую инструкцию можно выполнять условно,
в АРМе да, а у stm,сиречь кортекс, уже нет, Thumb-2 все-таки
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
23.02.2017, 18:20 7
Цитата Сообщение от ValeryS Посмотреть сообщение
и чем отличается от хранения в стеке?
Да без разницы, собственно
Цитата Сообщение от ValeryS Посмотреть сообщение
а вот подпрограмма в подпрограмме и еще в подпрограмме и все это преимущество идет лесом
Да никуда оно не идет
Assembler
1
2
3
    push    {r2-r5, lr}
    call    fun
    pop {r2-r5, pc}
И никаких проблем...
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
23.02.2017, 18:53 8
Цитата Сообщение от _liv_ Посмотреть сообщение
Да никуда оно не идет
В литературе это называется "смешение жанров"
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
23.02.2017, 19:40 9
Цитата Сообщение от ValeryS Посмотреть сообщение
В литературе это называется "смешение жанров"
Какая разница, как называть
Главное - прекрасно работает!
В 86-м тоже можно назвать "смешение жанров", если грузить адрес возврата в регистр и делать переход.
Пользовались же
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
23.02.2017, 20:14 10
Цитата Сообщение от _liv_ Посмотреть сообщение
Какая разница, как называть
большая
правильно обозвать проблему наполовину её решить.
Цитата Сообщение от _liv_ Посмотреть сообщение
Главное - прекрасно работает!
прекрасно ли?
в стек сохраняем до проха регистров, хотя достаточно и одного(лишние такты лишняя память), не забывай мы пишем на ассемблере, и подход высокоуровневых языков избыточен
в том и цимес ассемблера и одновременно его же беда, нужно думать как процессор, иначе кроме понтов ничего не получим
лично у меня есть опыт программирования на ассемблере для х86, несколько коммерческих проектов, для х51 тоже самое
для АВР и Кортекса знание ассемблера только для дизасемблирования прошивок и рихтования кода после работы компиляторов Си
и в последнее время все меньше и меньше вмешиваюсь, компиляторы умнее меня
0
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
23.02.2017, 20:36 11
Цитата Сообщение от ValeryS Посмотреть сообщение
прекрасно ли?
прекрасно-прекрасно... Никаких лишних потерь!
Обычно нет такта на загрузку адреса возврата в стек. Мы его туда пихнем, только если надо что-то другое вызвать.
Извлечения из стека адреса возврата тоже нет! А если пихаем в стек и извлекаем, так этим мы только сравниваемся с другими архитектурами...

Весьма удобно еще, что можно задавать, какие регистры сохранять в стеке, причем работает такое групповое сохранение очень быстро.

Я тоже всю жизнь пишу (и сейчас продолжаю писать) на асме Чего только не перепробовал... Сейчас у меня в фаворе AVR-ки. Мыслю всегда как "процессор", категориями байт и бит Даже когда пишу программу на Си.

Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
в стек сохраняем до проха регистров
Вообще-то надо сохранить только один
Assembler
1
2
3
push    {lr}
call    fun
pop {pc}
1
81 / 81 / 33
Регистрация: 03.03.2013
Сообщений: 311
23.02.2017, 20:46 12
Витальич, а где я упоминал что ещё где то такое видел?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
23.02.2017, 21:04 13
Novi4ekC,
Цитата Сообщение от Novi4ekC Посмотреть сообщение
Принцип всех ассемблеров одинаков же
значит знаете все
0
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,696
23.02.2017, 21:40 14
Цитата Сообщение от _liv_ Посмотреть сообщение
и бит Даже когда пишу программу на Си.
интересно было бы посмотреть В Си нет понятия бит, как единицы хранения информации, разве что битовые поля
но это так, сарказм-с
а вообще респект вот за это
Цитата Сообщение от _liv_ Посмотреть сообщение
Мыслю всегда как "процессор",
Хотя иногда это лишнее
0
23.02.2017, 21:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2017, 21:40
Помогаю со студенческими работами здесь

Посоветуйте что-то почитать по сокетам в C++ под linux.
Посоветуйте что-то почитать по сокетам в C++ под linux.

Что почитать об api xfce4? Чтобы писать gui приложения, получающие параметры с xfce4 рабочего стола?
Что почитать об api xfce4? Чтобы писать gui приложения, получающие параметры с xfce4 рабочего стола?

Под какую БД лучше писать и через что?
Привет ВСЕМ!!! Это опять Я! Наверное, я всех достал. Но мне поставили задачу, написать программу...

Что нужно, чтобы писать приложения под Windows Phone
скажите что нужно чтобы начать писать на c# под windows phone? у себя в visual studio не нашел...

Что почитать и что использовать для создания 3D объектов
Здравствуйте! Вот возникла необходимость создать пару 3d объектов, свет и возможность вращения...

Почему с++ может работать с разными процессорами а на Ассемблере приходится писать код под разные
Я смотрел библиотеки с++ видел тоже что код заточен под разные процессоры. Хотелось бы получить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru