Сейчас на форуме: bartolomeo, -Sanchez- (+4 невидимых)

 eXeL@B —› Вопросы новичков —› OffSet - что это?
Посл.ответ Сообщение

Ранг: 6.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 февраля 2006 20:53
· Личное сообщение · #1

Здрасти. Вот читает-читает начинающий крекер заумные книжки, где очень много страшных слов. И так читает. И эдак. А никак не поймет что такое Offset. И зачем енто вообще надо. Заранее большая спасиба.



Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 10 февраля 2006 21:40
· Личное сообщение · #2

Offset помещает в регистр адрес строки.
Например если мы имеем код:
01
02
03 mov DX, offset Message
...
11
12 Message db 'Hello'
13


, то в строке 03 в регистр DX будет помещено число 12.
Нужно это, чтобы самому не париться и не вычислять этот адрес самому. Все делает транслятор.



Ранг: 36.9 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 11 февраля 2006 18:52
· Личное сообщение · #3

Offset - это оператор ассемблера который передает в какой-нибудь регистр смешение определеных данных относительно начала сегмента данных. То есть он передает положение данных в памяти. Его используют для облегчения работы - легче указать на определенный участок памяти , чем задавать эти данные.



Ранг: 6.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 февраля 2006 20:52
· Личное сообщение · #4

Ёперный театр. Форум для новичков называется. Полистал, почитал. И ЭТО НОВИЧКИ? Ну не скажу что я даун. Но что в танке - это точно. Предлагаю новый раздел. "Для тех кто в танке", и "для даунов в танке", и далее размеры брони [inc]. P.S. Неужели я когда нибудь буду знать так же много как например ARA иль там
еще кто нить. Через сколько лет это происходит(я имею ввиду:когда новички из танка выазят)




Ранг: 251.8 (наставник), 17thx
Активность: 0.120
Статус: Участник
Seeker

Создано: 11 февраля 2006 20:55
· Личное сообщение · #5

buka
Новички начинают "вылазить из танка" тогда, когда на большинство вопросов они сами же находят ответ...

-----
DREAMS CALL US




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 12 февраля 2006 06:42 · Поправил: Bitfry
· Личное сообщение · #6

buka пишет:
Вот читает-читает начинающий крекер заумные книжки, где очень много страшных слов.

Сейчас ругаться буду.
На кой чёрт я полгода потратил! Писал свои статьи (Дневники чайника) специально для вас!
Такое ощущение, что вам просто лень заглянуть в раздел "новичку"!
Или лень прочесть десять статей?

Black9_Byte пишет:
Offset - это оператор ассемблера который передает в какой-нибудь регистр смешение определеных данных относительно начала сегмента данных.

Не стоит так писать.
Я бы сказал так:
1. Директива offset – компилятор, найдя эту директиву, вставляет в собранную программу указатель на переменную (то есть адрес той переменной, имя которой стоит после offset).
2. Offset – смещение. Часть адреса в памяти, в win32 – эффективная часть адреса в памяти. Адрес всегда формируется из сегмента и смещения. В Windows роль сегмента невидна для прикладного программирования, поэтому сейчас говорят адрес в памяти, вместо правильного смещение в сегменте или офсет.

Топик закрыт.

-----
Всем привет, я вернулся



 eXeL@B —› Вопросы новичков —› OffSet - что это?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати