| imho.ws |
![]() |
|
|
|
# 22 |
|
Junior Member
Регистрация: 03.06.2003
Сообщения: 167
![]() |
ARM это RISC
Смещения (offset) кодируются непосредственно в машинную инструкцию (machine instruction), поэтому они и не бывают очень большими - чаще всего 16 bit. Это имеет особое значение для RISC, т.к. в RISC машинные команды имеют фиксированную длину и кодируются 4 байтами - 32 битами. Т.е. смещение в машинной инструкции RISC съедает половину всех битов отведенных на кодирование машинной инструкции. |
|
|
|
|
# 23 | ||
|
Guest
Сообщения: n/a
|
Slanj
Цитата:
Или смещение задаётся в количествах бит, а не в их адресах относительно начаала сегмента? То есть если смещение 15 пишем 1111, а не 00001111 и оно указывает на 15-ый бит сегмента? Цитата:
|
||
|
|
# 24 | |
|
Добрый фей-мод
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Сейчас поясню. Например, понятия Process и Thread. В винде это одно, а в юникс-системах это другое. Или еще пример: в винде для переключения между потоками (threads) используется вытесняющая многозадачность (preemptive multitasking многозадачный режим с приоритетами - обеспечивает операционной системе возможность захвата процессора в любой момент времени, независимо от состояния работающих приложений). Список можно продолжать бесконечно. Всё, что связанно с ядром операционной системы - является проблемой при портинге програм с одной ОС на другую. Для решения подобных проблем, используется концепция виртуальных компьютеров (virtual mashines). Пример: Java (бинарный код будет исполняться в любой ОС, где есть java-virtual mashine) или .NET Framework (бинарный код будет исполняться в любой ОС, где есть CLR). Virtual Mashines абстрагируют понятия про которые я говорил (потоки, процессы и т.д.).
__________________
Фотолюбительщина Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью. |
|
|
|
|
|
# 26 |
|
Junior Member
Регистрация: 02.11.2003
Адрес: г. Таганрог
Сообщения: 63
![]() |
А значение смещения, если я не ошибаюсь находится в регистре Pi: например адрес начала сегмента находится в начале параграфа т.е. кратен 16, а регистре Pi показывает относительное смещение, ну допустим 2a сложение этих двух значений и есть относительный адрес.
__________________
Америка, Америка - это красиво, но Россия вот где есть СИЛА!!! |
|
|
|
|
# 27 |
|
Guest
Сообщения: n/a
|
Programmer
Очень интересно. Кое-что из этого я уже знал, кое-что новое. Но ты, по-моему, немного не о том... Ведь если ассмблер переводит программу в команды ПРОЦЕССОРА, а не ОС, то и работать должно на одном процессоре независимо от операционки. Так в чём же дело? |
|
|
# 28 |
|
Добрый фей-мод
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
metton
Процессор сам по себе ничего делать не будет. ОС должна запустить исполняемый файл и передавать процессору инструкции для выполнения. Как видишь, всё идет через операционку.
__________________
Фотолюбительщина Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью. |
|
|