Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пересечение блоков информации 
V
    Опции темы
Compositum
Дата 25.8.2010, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



user posted image
PM   Вверх
Abyx
Дата 25.8.2010, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 1
Всего: 10



Compositum,
Во-первых пишите нормальным шрифтом.
Во-вторых прочитайте справку к вашему компилятору.
В третьих ваши представления о "блоках" никого не волнуют, они не имеют никакого отношения к асму и к коду который вы привели.
Никакого блока begin - end begin нет. Есть метка begin и директива end которой передается эта метка.

Добавлено через 58 секунд
млин, да это еще и картинка %)

чем фигней маяться и картинки в посты пихать, лучше учебник читайте.
PM MAIL   Вверх
Logree
Дата 25.8.2010, 15:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 331
Регистрация: 22.11.2006
Где: Самара

Репутация: нет
Всего: 2



Возьми ка лучше это  smile


--------------------
Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд.
PM MAIL ICQ   Вверх
Compositum
Дата 25.8.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата

Во-первых пишите нормальным шрифтом.
...
млин, да это еще и картинка %)
...
чем фигней маяться и картинки в посты пихать, лучше учебник читайте.

На данный момент я нахожусь в опуске, далеко от дома и вдобавок пишу с чужого компьютера. Под  рукой только книга по кодингу в асме, которую собственно и ЧИТАЮ, после чего и задаю вопросы.
Скрином показал фрагмент содержимого моего doc-файла, сохранённого в моей электронной почте - в этом файле ранее записывал свои вопросы, возникающие у меня в процессе чтения и на которые мне не удалось найти ответа в GOOGLE. Мне сейчас быстрее выложить вопрос посредством скрина с этого файла, т.к. время доступа к компу ограничено, а на скрине суть вопроса очевидна.

"Блоки" - это произвольное и интуитивно понятное (на мой взгляд) обозначение того, о чём я спрашиваю. Суть моего вопроса ясна. Вы написали много слов, но по сути - ничего.

Если пользоваться термином "директива", то перефразировать вопрос можно так: почему директива ends следует ранее, чем директива end? Интуитивно понятней (как мне кажется), когда последней директивой является та, которая указывает на окончание сегмента, т.к. он более "высокоприоритетен".

Если у вас нет ответа по существу вопроса, просьба - не пишите вовсе.


Цитата

Возьми ка лучше это  smile

Спасибо за линк, однако я сейчас учусь по книге Калашникова О.А., а потому использую именно тот ассемблер, которым пользуется автор книги. После этого буду читать это.

Это сообщение отредактировал(а) Compositum - 25.8.2010, 16:04
PM   Вверх
Abyx
Дата 25.8.2010, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 1
Всего: 10



Compositum, если в вашем учебники нет справки по директивам компилятора - это плохой учебник.

Повторю еще раз. БЛОКОВ НЕТ. В асме.
Это вы привыкли к блокам в xml и пытаетесь перенести на асм? Это неправильно.

Далее. Есть парные директивы seg и ends. Это можно назвать "блоком".
Есть одиночная директива end, она всегда в конце файла, т.к. она обозначает конец файла. Она одна.

В исходнике идет список сегментов с их содержимым, еще какие-то директивы, самой последней идет end.

В директиве end (зарезервированное слово) указывается метка с которой начинается выполнение программы. Эта метка может иметь любое имя, здесь begin. Меток может быть много.
PM MAIL   Вверх
Compositum
Дата 25.8.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Цитата

если в вашем учебники нет справки по директивам компилятора - это плохой учебник.

Эта книга не претендует на звание "учебника", подобно книге В. И. Юрова, она имеет более "художественную форму": вот она. Книга интересная, но порой по ходу чтения у меня возникают вопросы, ответы на которые приходится искать в интернете.

Цитата

Повторю еще раз. БЛОКОВ НЕТ. В асме.
Это вы привыкли к блокам в xml и пытаетесь перенести на асм? Это неправильно.

Несколько непривычно для меня, но учту это.
Цитата

Далее. Есть парные директивы seg и ends. Это можно назвать "блоком".
Есть одиночная директива end, она всегда в конце файла, т.к. она обозначает конец файла. Она одна.

В исходнике идет список сегментов с их содержимым, еще какие-то директивы, самой последней идет end.

В директиве end (зарезервированное слово) указывается метка с которой НАЧИНАЕТСЯ выполнение программы. Эта метка может иметь любое имя, здесь begin. Меток может быть много.

Благодарю за разъяснение!
PM   Вверх
Abyx
Дата 25.8.2010, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 1
Всего: 10



Compositum, в самом деле, поищите справочник по компилятору,
без него у вас постоянно будут проблемы с пониманием синтаксиса.
PM MAIL   Вверх
Finalist
Дата 25.8.2010, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 23.5.2006

Репутация: нет
Всего: 1



а еще, в компах есть такая штука как..  вот таки никак иначе! сначала принимаешь как должное, а со временем понимаешь почему именно так..
PM MAIL   Вверх
iff
Дата 28.8.2010, 20:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



1. Вы используете УПРОЩЕННЫЙ вариант директив.
Код

CSEG segment
org 100h
begin:
...
CSEG ends
end begin

первая строка указывает на начало сегмента. третья на начало кода.  пятая - на конец сегмента. шестая - на конец всей программы.

2. Рассмотрим программу с полными директивами:
Код

CODE    SEGMENT
    ORG    100h
START    PROC    NEAR
...
START    ENDP
CODE    ENDS
    END    START

1-ая строка указывает на начало сегмента. третья - на начало процедуры. пятая - на конец процедуры. шестая - на конец сегмента. седьмая - на конец всей программы.
Получается, что всё так как вы хотели.
В упрощенных директивах часть строк ОПУЩЕНА и(ли) УПРОЩЕНА.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
Abyx
Дата 29.8.2010, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 1
Всего: 10



iff, это не упощенный вариант.
метки - это не упрощенный вариант подпрограммы.
PM MAIL   Вверх
iff
Дата 29.8.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Цитата(Abyx @  29.8.2010,  00:26 Найти цитируемый пост)
метки - это не упрощенный вариант подпрограммы.

С этим никто не спорит. Я писал другое


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.