Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2014, 20:27   #1
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию Адреса,сегменты- адрес базовый, глава, линейный?

Тема адресаци как-то не совсем ясна мне.

Вот к примеру я открываю программу. Почему базовый адрес у нее 1000? Ну почему не ноль или хотя бы один? Ещо сплош и рядом встречается что базовый адрес 400000.
Дальше, прописано чно первый шаг программы лежит по адресу org 100h, я правильно выражаюсь?
Следует ли все таки понимать, что итоговый адрес начала программы
1000+(100/10)=1010

Дальше, я создаю новый сегмент ниже. Глядя что программа оканчивалась по адресу 10C , я задаю, начало следующиго сегмента 10D . И ВДРУГ!! Я вижу его базовый адрес 0001 !! Не понял!!!

Я решил его изменить, базовый задать 1000 и нижнюю границу для прикола сдвинуть.
Что то видемо не нравится и дизассемблер сообщает, на аглийском- Bad segment base: segment would have bytes with negative offset
Что не так и как это не так получается?
Сегмент 16 бит и 32 бит- в чем разнится?
Я ведь думал сегменты окажутся просто чотко один, за другим!
Изображения
Тип файла: jpg Смещение..jpg (102.6 Кб, 132 просмотров)
Dimka-novitsek вне форума Ответить с цитированием
Старый 24.05.2014, 20:39   #2
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию

Тот сегмент- seg001- я создал, открыв бинарный файл Asmcompl.BIN в ИДЕ .

А вот я создаю сегмент правой кнопкой мыши в поле сегментов, вот. И снова, те же яйца и причем точно так же! Обьясните же что же я не учитываю и не понемаю?
Изображения
Тип файла: jpg сегм2.jpg (104.5 Кб, 130 просмотров)
Dimka-novitsek вне форума Ответить с цитированием
Старый 24.05.2014, 23:25   #3
Dimka-novitsek
Форумчанин
 
Аватар для Dimka-novitsek
 
Регистрация: 22.04.2013
Сообщений: 592
По умолчанию

К стаи в плане Bad segment... не важно 32 бит или 16, ругается одинаково. А вот в созданом ранее сегменте после перевода его в 16 бит что-то изменилось. Причом , кажется данные изменились до неузнаваимости..
Изображения
Тип файла: jpg 16-бит.jpg (108.2 Кб, 139 просмотров)
Dimka-novitsek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стивен Прата. Третья Глава Pirandello_Kruger Общие вопросы C/C++ 0 07.03.2012 22:50
Как изменить внешний IP адрес путём изменения MAC адреса на нетбуке (доступ к сети через WiFi) Victoria2012 Помощь студентам 6 08.02.2012 14:24
Сегменты и смещения. Assembler(Virtual Pascal) Donix Помощь студентам 0 19.10.2011 16:40
Глава Майкрософт - конференция Москва - 23 мая 2008 Ulagay700 Свободное общение 3 08.05.2008 15:13