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

 
 
> Как декларировать абсолютный сегмент в Keil ?, DSEG не работает
Hulm
сообщение May 18 2007, 11:47
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 18-05-07
Пользователь №: 27 812



не получается разместить в ОЗУ абсолютный сегмент данных например с адреса 040H
набираю к примеру


DSEG AT 40H
OZU1 SEGMENT DATA
RSEG OZU1

R0_0: DS 1
R1_0: DS 1

все равно встает с адреса 08H, а нужно с 040H

что делаю не так ??


и ещё вопрос в догонку smile.gif
если использую ассемблер AX51.exe отчего-то возникают жалобы на синтаксические ошибки
при этом у A51.exe всё в порядке 07.gif

ну какая ошибка в строке:

WR2 EQU P2.3

если рядом похожая строка

WR1 EQU P2.2

проходит нормально
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DPL
сообщение May 22 2007, 15:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 15-10-04
Из: Новочеркасск
Пользователь №: 886



Цитата(Hulm @ May 18 2007, 15:47) *
DSEG AT 40H
OZU1 SEGMENT DATA
RSEG OZU1

R0_0: DS 1
R1_0: DS 1


Первая строка описывает абсолютный сегмент данных с адреса 40.
Вторая строка описывает перемещаемый сегмент данных.
Третья строка сразу выбирает перемещаемый сегмент, то есть абсолютный никак не используется.
Следующие строки выделяют память в перемещаемом сегменте под переменные.
Таким образом, реально переменные размещаются в перемещаемом сегменте, а компоновщик пихает его туда, куда считает нужным.
Чтобы все было так, как хочется, нужно написать:
DSEG AT 40H
R0_0: DS 1
R1_0: DS 1
Go to the top of the page
 
+Quote Post



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

 


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


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