![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| interesuuwiysia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 18.2.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Столкнулся с проблемой при прогр-ии АТини13... Пытаюсь использовать функцию high(variable) в следующем контексте: .DSEG var1: .BYTE 2 var2: .BYTE 1 .CSEG setup: Set_Stack; begin: ldi r18, 0xAB ldi r19, 0xCD ldi r26, $0000 ldi r30, $0060 ;sts $0060,r18 ; ;sts $0061,r19 ;this block works properly ;sts $0062,r18 ; sts high(var1), r18 ;mistake occures here sts low(var1), r19 sts var2, r18 ;ld r20, Z+ ;ld r21, Z+ ;ld r22, Z lds r20, low(var1) lds r21, high(var1) lds r22, var2 При этом все вроде работает правильно, но только вот при выполнении строки sts high(var1), r18 значение регистра r18 почему-то записывается в регистр r0..... Перерыл уже всю имеющуюся литературу (описание контроллера, Instruction Set, и хэлп по авр студио 4.12) но понимание проблемы ко мне до сих пор не пришло... В чем я ошибаюсь? За ранее благодарен! |
|||
|
||||
| Den64 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 6.4.2006 Где: Курск Репутация: 1 Всего: 2 |
var1 - ссылка указывает на ОЗУ адрес которой, кажись, начинается с 0x60.
Так-как var1 обявлена первой, то её значение адреса должно быть 0x60. Тогда low(var1), будет равно 60h, а high(var1) равно 0. Нулевой адрес имеет r0, кажись. Если нужно записать значение из регистровой пары r18/r19, то нужно писать так:
Это сообщение отредактировал(а) Den64 - 8.10.2007, 21:19 --------------------
Инагда пишу звуками. |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |