Що робить. Розділі робити?

A

arvind053

Guest
У мене наступний фрагмент коду в моєму Асамблеї файл (. ASM-файл):

. Розділі. Скинути 4,1,6 # Помістіть цей код в ". Ініціалізації" розділу

Чи може хто-небудь сказати мені, що це означає?

Коли я з цією компіляції я отримую наступне попередження:

Ні лінкера командою фото матеріалів для розділу. Скинути.. Скинути буде вхід для виведення розділі. Ініціалізації

Спасибо

 
A. Розділі директиви для тега шматочки коду (у відповідності з директивою до наступної. Розділ) з назвою розділу.Компоновнику збере весь код зокрема, назвав розділ разом, так разом в одній області пам'яті, і Компоновнику зазвичай дається команда файл, який розповідає їй, які розділи об'єднувати, властивості кожної секції (код, читання тільки для читання і запису встановлено ,...), і де /,
в якій для того, щоб покласти їх у двійковому, породжених Компоновнику.Коли ви компіліруете та посилання на Windows / Linux / .., компілятор генерує водій
П'ят лінкера командою фото автоматично (або створює розділи, відповідні Компоновнику умовчанням), щоб Компоновнику виробляє те, що з загрузочного коду очікує.

У вашому випадку, схоже, що Компоновнику робити те, що Ви хочете (оскільки вона створює файл. Скинути з розділом. Ініціалізації розділу).Якщо ви хочете виключити попередженням, ви повинні або змінити назву розділу на директиву. Ініціалізація, або повідомити Компоновнику об'єднати. Скинути з розділом. Ініціалізації розділу.Як ви це зробите, залежить від вашого лінкера: потрібно RTM.

Для того щоб працювати розумно, якщо ви збору код в розділ, ви повинні переконатися, що кожна його частина позначена завершення функції запуску і повернення, оскільки Компоновнику просто сцеплять біти коду позначені одним
ім'ям разом у деяких довільних замовлення.Хоча це буде добре для передачі даних, вона не є в цілому успішна стратегія припустити, що випадково зібралися послідовність маленьких шматочків коду будуть завжди коректно працювати разом.

Якщо припустити, що це буде поставити на диск, что-то нравится. Ініціалізації розділу слід, ймовірно, розташовані в код, де ваш процесор скинути вектор, налагодження обладнання, і як запустити ОС реального часу і перехід на ваш ініціалізації зі звичайною потім до основного ().

HTH
Barny

 
Привіт barny451,
Я кажу, ви можете поділитися своїми знаннями Асамблеї програмування або точка нам деякі розташування?Мені доводилося мати справу з Асамблеєю кілька тижнів тому, і він зробив мою голову спина.Чи можете ви сказати мені, коли є єдиний формат зборів зараз в моді?(Я завжди думав, що монтаж був різним для різних процесорів)?

 
У мене немає конкретного вказівника, але швидко для Google. Розділі ассемблерних призводить, наприклад:

http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixassem/alangref/csect.htm

яка описує csect директиви, які, як же, як. розділі.Читати і вчитися.

У більшості випадків вам не доведеться турбуватися про розділи, покласти все, що в розділі за замовчуванням, не вказуючи один.Час, коли вам потрібно турбуватися, можливо, наприклад,
об'єднання Вень зборів з C / C , при старті з зазначенням коду, який повинен бути
пов'язаний з певною адресою, при визначенні даних, які повинні бути в певних адрес (наприклад, ініціалізувати векторів переривань).

 

Welcome to EDABoard.com

Sponsor

Back
Top