Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прерывания DOS. Строка с консоли. 
:(
    Опции темы
I_Am_Rock
Дата 10.2.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ФедосеевПавел @  10.2.2009,  00:13 Найти цитируемый пост)
Три символа оттого. что значение в ячейке [011a] не задаётся в программе, а заполняется мусором (вернее, там ещё перед запуском программы был какой-то мусор)

Мусор - откуда он там может быть? И к тому же 3 символа - только если запускаешь прогу в других местах, а если в E:\art1.com (т.е. там где писал ее) - все норм! Объясни - как это мб?

Цитата(ФедосеевПавел @  10.2.2009,  00:13 Найти цитируемый пост)
Добавление "$" в конец строки

Спасибо. Буду так теперь делать. smile
PM MAIL WWW   Вверх
ФедосеевПавел
Дата 12.2.2009, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



"Мусор" от того, что программа при запуске не инициализирует переменные. Если в исходнике программы написать такие строки
Код

kbMax    db    8
kbLen    db    ?
asStr    db    'Privet!$'

То измниться и сам бинарный образ файла - в нем добавяться несколько байт (10 в данном случае). И именно к этим байтам и будет обращение при вызове прерываний. Но так как программа создавалась из Hiew и в ней (в её образе) не выделялось место под переменные, то при запуске программы в ячейке памяти [011a] будет находиться произвольное число - например 3. Могу лишь предположить, что при запуске из под различных оболочек, память заполняется значениями, характерными для данной оболочки.

PM   Вверх
I_Am_Rock
Дата 12.2.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ммм... интересно.

Позволю себе спросить не по теме. Павел, сколько вы учились ассемблеру? И пишите ли серьезные программы на нем (или только используете в Дельфи, С++ и т.п.)? 


M
dumb
вопросы не по теме, да еще и личного характера задаем в PM(личных сообщениях).


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

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

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


 




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


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

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