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

 
 
> Вопрос по ASM на Keil, Memory space overlap
JustIce
сообщение Jan 18 2009, 08:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 8-01-09
Пользователь №: 43 008



Возник такой вопрос:
При разделении асемблерного кода на несколько файлов (выделение каждой функции своего файла) компилятор почему то лепит кажый файл начиная с нулевого адреса.
Кто знает как сделать так чтобы компилятор последовательно соединил всё?

;-----------------------------
prog_01.asm

EXTRN CODE(quart_read)
;-----------------------------
quart_read.asm

PUBLIC quart_read
;-----------------------------

INPUT MODULES INCLUDED:
quart_read.obj (QUART_READ)
prog_01.obj (PROG_01)


LINK MAP OF MODULE: scnd (QUART_READ)


TYPE BASE LENGTH RELOCATION SEGMENT NAME
-----------------------------------------------------

* * * * * * * D A T A M E M O R Y * * * * * * *
REG 0000H 0008H ABSOLUTE "REG BANK 0"

* * * * * * * C O D E M E M O R Y * * * * * * *
CODE 0000H 0053H ABSOLUTE
* OVERLAP * CODE 0000H A0EBH ABSOLUTE
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Jan 19 2009, 08:56
Сообщение #2


Гуру
******

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



Цитата(JustIce @ Jan 18 2009, 11:21) *
При разделении асемблерного кода на несколько файлов (выделение каждой функции своего файла) компилятор почему то лепит кажый файл начиная с нулевого адреса.
По всей видимости в исходном файле был определен сегмент кода, размещаемый с нулевого адреса. При разделении файла, Вы в каждом файле определили такие сегменты. Посмотрите ассемблерную инструкцию SEGMENT в документе a51.chm в каталоге HLP Keil'a
Go to the top of the page
 
+Quote Post



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

 


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


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