Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 154
от 05.06.2005, 15:20

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 7


Вопрос № 21549: Уважаемые ескперты роскажите мне что такое Win32???...
Вопрос № 21551: Привет всем вот я опять со своими глупыми вопросами :-)!!! У меня с Ассемблером проблемы, я уже конечно спрашивал но мне вежливо скажали что нужно приложение. Ну короче я только начал изучать ассемблер по Калашникову и у меня проблемма!!! Про...
Вопрос № 21553: Здраствуйте експерты! Скажите где можно взять инфу на прерываниям DOC, BOIS на руском языке?...

Вопрос № 21.549
Уважаемые ескперты роскажите мне что такое Win32???
Отправлен: 31.05.2005, 01:24
Вопрос задала: DYXA (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: DSota
Здравствуйте, DYXA!
Win32 со стороны ассемблера в отличие от ДОС:
1. Программу не нужно делить на сегменты - вся программа расположена в одном линейном сегменте 4Г размером. Отсюда следствие - Сегментные регистры менять не нужно.
2. Процессор в защищенном режиме - можно применять команды этого режима.
3. Обычно (winNT/2000/XP etc.) не работают прямые выводы в порты с большими адресами (>0ffh). out dx,al - не проходит.
4. Если очень грубо сказать - вся программа как бы представляет собой список процедур, которые вызываются Виндовс, как бы набор прерываний.
5. Обязательно при выходе из процедур нужно сохранять регистры EBX, EDI, ESI...
6. Программе можно обращаться только к своей области памяти (где она запущена), все остальное через API. Прямая запись в видеопамять невозможна.
В остальном все так-же, как и в DOS. От Win16 отличается тем, что все вызовы 32-х битные. И не нужно заботиться о передаче времени соседним процессам.
Если еще более обобщить - вся программа - набор процедур, которые вызываются Виндовс. Эти процедуры могут использовать только свои данные, все остальное через WINAPI.

---------
Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Студент)
Отправлен: 31.05.2005, 10:24
Оценка за ответ: 4


Вопрос № 21.551
Привет всем вот я опять со своими глупыми вопросами :-)!!!
У меня с Ассемблером проблемы, я уже конечно спрашивал но мне вежливо скажали что нужно приложение.
Ну короче я только начал изучать ассемблер по Калашникову и у меня проблемма!!! Программа не линкуется :-(((!!!
Что делать???

Приложение:

Отправлен: 31.05.2005, 08:12
Вопрос задала: HeNDeL (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: DSota
Здравствуйте, HeNDeL!
После begin нужно двоеточие. Это метка.

Приложение:

---------
Открыть глаза навстречу солнцу.

Ответ отправил: DSota (статус: Студент)
Отправлен: 31.05.2005, 09:09
Оценка за ответ: 5
Комментарий оценки:
Большое человеческое СССПППАААСССИИИБББООО!!!
Приятно осознавать что ты не один в этом сумашедшем мире компрьютеров

Отвечает: Котиев Зураб
Здравствуйте, HeNDeL!
ну вроде забыл
assume cs:CSEG ds:CSEG es:CSEG ss:CSEG
а так какие ошибы выдает?
Ответ отправил: Котиев Зураб (статус: 4-ый класс)
Отправлен: 31.05.2005, 10:19

Отвечает: Евгений Иванов
Здравствуйте, HeNDeL!
читать вот это
http://superforest.narod.ru/add/rusfaq.rar
также попробуй Assume добавить.
Model добавь.
всего хорошего!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 14 суток с момента отправки ответа.
---------
Что имеем - не храним, потерявши - плачем

Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 31.05.2005, 11:48

Отвечает: Ayl
Здравствуйте, HeNDeL!
Какие ошибки при линковке?
По приведенному примеру.
1. begin - это метка, поэтому после нее надо поставить двоеточие. Странно, что у тебя объектник создается.

2. После CSEG segment надо сделать привязку регистров:
ASSUME cs:CSEG, ds:CSEG, ss:CSEG, es:CSEG

3. Если собираешься компилировать в COM-файл, перед определением сегмента поставь выбор модели: .Model TINY

4. Каким транслятором пользуешься (TASM, MASM, другое)?
Для TASM компиляцию нужно делать так (код - в файле prog.asm):
tasm prog.asm
tlink /t prog.obj

---------
Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 31.05.2005, 13:14
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое за ответ сейчас проверю что к чему!!!


Вопрос № 21.553
Здраствуйте експерты! Скажите где можно взять инфу на прерываниям DOC, BOIS на руском языке?
Отправлен: 31.05.2005, 11:47
Вопрос задала: DYXA (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Котиев Зураб
Здравствуйте, DYXA!
на те файл
http://xrenvam2005.narod.ru/asm.ZIP
Ответ отправил: Котиев Зураб (статус: 4-ый класс)
Отправлен: 31.05.2005, 15:01
Оценка за ответ: 5
Комментарий оценки:
Но я немогу скачать этот файл :(!!

Отвечает: Ujin Antikvar
Здравствуйте, DYXA!
Напиши свое мыло и я тебе пришлю инфу.
С Ув. Ujin Antikvar
---------
Не зацикливайся на достигнутом, а двигайся в перед
Ответ отправил: Ujin Antikvar (статус: 1-ый класс)
Отправлен: 01.06.2005, 22:50
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное