реклама на сайте
подробности

 
 
> Создание и работа с переменными в ассемблере
allsettingsdone
сообщение Feb 3 2014, 07:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 22-01-13
Пользователь №: 75 284



Не могу понять как создавать и работать с переменными разного размера в ассемблере в Keil. Директивы DB, DW, DD выдают ошибку(похоже на то, что Keil их вообще не знает), BYTE, WORD, DWORD - то же самое. Как я понял директивы GBLL, GBLS, GBLA создают (в RAM?) переменную и далее ей можно придать значение используя SETA, SETL, SETS, но при попытке повторно сохранить значение этой переменной получаем ошибку при компиляции, да и не понятно где именно в памяти Keil разместит переменную. Можно конечно сделать так Var0 EQU 0x(адрес переменной в памяти), но есть ли другие(более удобные) способы ? И как вообще принято это делать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Feb 3 2014, 07:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(allsettingsdone @ Feb 3 2014, 11:11) *
Директивы DB, DW, DD выдают ошибку(похоже на то, что Keil их вообще не знает), BYTE, WORD, DWORD - то же самое.

DCB, DCW, DCWU, DCD, DCDU....
Go to the top of the page
 
+Quote Post
allsettingsdone
сообщение Feb 3 2014, 07:54
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 22-01-13
Пользователь №: 75 284



Цитата(Палыч @ Feb 3 2014, 09:27) *
DCB, DCW, DCWU, DCD, DCDU....


Вот допустим я делаю счетчик, пишу test0 DCWU 0xFFFF
Затем уменьшаю на 1 ( MOV32 R0, #test0
SUB R0, #1)
Её сохранять обратно в память таким образом? - STR R0, [#test0] ? Компилятор выделит память под 4 байта?
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Feb 3 2014, 08:39
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(allsettingsdone @ Feb 3 2014, 08:54) *
Вот допустим я делаю счетчик, пишу test0 DCWU 0xFFFF
Затем уменьшаю на 1 ( MOV32 R0, #test0
SUB R0, #1)
Её сохранять обратно в память таким образом? - STR R0, [#test0] ? Компилятор выделит память под 4 байта?

DCWU это и есть "выделение" памяти.
Вы не сообщили, зачем именно ассемблер, но одним из лозунгов ARM при введении Cortex и ПО к нему (CMSIS, периферийных библиотек производителей) было типа "no assembler".
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 3 2014, 09:26
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(KnightIgor @ Feb 3 2014, 10:39) *
Вы не сообщили, зачем именно ассемблер
Сообщал недели две назад. Объясняли. Не помогает. Ну хочет человек пробежаться по граблям. Не будем мешать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 4 2014, 00:44
Сообщение #6


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Сергей Борщ @ Feb 3 2014, 13:26) *
Сообщал недели две назад...

с такими скоростями... первый проект выйдет когда чипы на cortex-m3 перестанут выпускаться bb-offtopic.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- allsettingsdone   Создание и работа с переменными в ассемблере   Feb 3 2014, 07:11
||- - demiurg_spb   Цитата(allsettingsdone @ Feb 3 2014, 10:5...   Feb 3 2014, 08:12
||- - Golikov A.   Цитата(allsettingsdone @ Feb 3 2014, 11:5...   Feb 3 2014, 08:37
|||- - scifi   Цитата(KnightIgor @ Feb 3 2014, 12:39) Вы...   Feb 3 2014, 09:22
||- - romas2010   Цитата(allsettingsdone @ Feb 3 2014, 11:5...   Feb 12 2014, 20:06
||- - scifi   Цитата(romas2010 @ Feb 13 2014, 00:06) 2)...   Feb 12 2014, 20:12
||- - ohmjke   Цитата(scifi @ Feb 13 2014, 00:12) С огов...   Feb 14 2014, 05:46
||- - scifi   Цитата(ohmjke @ Feb 14 2014, 09:46) Имеет...   Feb 14 2014, 06:14
|- - allsettingsdone   Цитата(Палыч @ Feb 3 2014, 09:27) DCB, DC...   Feb 3 2014, 10:46
- - SII   Цитата(allsettingsdone @ Feb 3 2014, 11:1...   Feb 3 2014, 10:16
- - toweroff   Ну как сказать... с нулевой оптимизацией в Keil 5 ...   Feb 14 2014, 10:03
- - ViKo   Цитата(toweroff @ Feb 14 2014, 13:03) Опт...   Feb 14 2014, 10:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 03:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016