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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 099

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-09-19


Вопрос №928

Здравствуйте, Эксперты!
Расскажите где можно найти описание портов (клавиатуры, контролера пререваний
и других портов...) Желательно на русском :)
зы: Меня интерисует, что означает каждый бит и на каком порту!!!

Ответ

Здравствуйте, Дмитрий!

1. Заходим на www.yandex.ru (www.rambler.ru или ещё чего)
2. Ищем "Ralf Brown's Interrupt List"
3. Качаем

Там есть список всех прерываний и всех портов.


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 113

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №934

Эксперт Sensey писал-...Если не помогло - пункт (б), иначе замени кулер на что-то типа VolCANO2, -он стоит ~10$, может понадобится замена корпуса на CodeGen
Вопрос- что такое CodeGen?

Ответ

Здравствуйте, Oleg!
CodeGen- просто хороший корпус, в Харькове чтоит 30$, у него плюс в том, что он немного шире, и блок питания расположен горизонтально сверху, что не мешает устанавливать на процессор большой радиатор и мощный кулер(можно даже два, вращающиеся в разные стороны)
У меня есть знакомый, который работает со снятой крышкой и направленным внутрь настольным вентилятором, что прилично охлаждает и позволило даже разогнать систему достаточно прилично...


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 141

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №941

Уважаемые эксперты!
Первые 100h байт программы занимает PSP. Для этого выделяем память с помощью команды org 100h. Но если ее не писать, то программа также функционирует.
Вопрос: куда девается PSP и насколько обязательно писать org 100h?

Ответ

Здравствуйте, Kiran!
ORG 100h означает ни что иное, как настройка счетчика адреса в ассемблере на значение 100h. Никой памяти эта ДИРЕКТИВА не выделяет. Если в Вашей программе нет команд обращения по смещениям от начала сегмента, то все будет работать нормально. Ненормально могут работать команды пересылки данных, например

org 100h
jmp start
d dw 1
start: mov ax, d; здесь будет правильное значение
;==================

а вот так

jmp start
d dw 1
start: mov ax, d; здесь будет неправильное значение

Собственно, переход jmp, если он не short тоже сработает неверно...

И еще,
место под PSP нужно указывать только в COM-программах... DOS их в любом случае загрузит с адреса SEGMENT:100h, даже если Вы не укажете директиву ORG 100H


Отправил эксперт: AL-GALI (http://www.astpage.ru/ - вроде как корпоративная страничка)
Эксперт отправил ответов (всего): 1

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №941

Уважаемые эксперты!
Первые 100h байт программы занимает PSP. Для этого выделяем память с помощью команды org 100h. Но если ее не писать, то программа также функционирует.
Вопрос: куда девается PSP и насколько обязательно писать org 100h?

Ответ

Здравствуйте, Kiran!
Проверил
Если делать СОМ файл, он даже не линкуется, а если делать EXE - система автоматом делает PSP, причем в любом случае при создании ЕХЕ на PSP указывает DS
Получил рассылку с ответом как узнать IP-адрес? Если нет - пиши sensey@ukr.net вышлю еще раз


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 142

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №941

Уважаемые эксперты!
Первые 100h байт программы занимает PSP. Для этого выделяем память с помощью команды org 100h. Но если ее не писать, то программа также функционирует.
Вопрос: куда девается PSP и насколько обязательно писать org 100h?

Ответ

Здравствуйте, Kiran!

Если это com программа - то выделять 100h байт необходимо!
Если же это exe программа, то выделять это место совсем не обязательно. если ты напишешь org 100h, это тоже будет работать, но первые 100h байт сегмента кода у тебя остануться пустыми. PSP в exe программах храниться за пределами сегмента кода.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 126

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №935

Хай, эксперты.
Тут некий Змей бомбардирует вас вопросом про компиляцию С - программы под Линух. Так вот, ты имеет дело с GCC. Синтаксис такой - $gcc -o pr_name.c
Прога будет откомпилированна и скомпанована. А вообще набирай $man gcc Разгребать будешь месяц...
PS вообще - то у нас тут ДОС.

Ответ

Здравствуйте, Mr.TorT!

Ты хорошо разбираешься в предмете про который говоришь? это я так, просто спросил... в gcc опция -o указывает имя выходного файла, то есть корректной является запись:

gcc -o pr_name pr_name.c

И у нас тут не только DOS... у нас тут ассемблер, а ассемблер не имеет границ. :))


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 127

Экспертная группа: Оптимизация программ

Вопрос №933

Уважаемые эксперты!
Купил проц AMD 1400 Мгц, по углам у него наклеены
поролоновые пистоны диаметром около 7 мм и толщиной около 2-3. Для чего они? Снижать вибрацию вентилятора? Или это
траспортные примочки и их надо оторвать? Кто знает?
Какой толщины пасту на проц наносить? Хотя бы примерно?
Что такое Codegen/

Ответ

Здравствуйте, Oleg!
Скорее всего транспортныепримочки...
Скока пасты у тя есть стока и наноси (РАВНОМЕРНО)
CodeGen..может быть чем угодно...
тебя в какой области интересует???


Отправил эксперт: змей
Эксперт отправил ответов (всего): 33

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №944

Гм..... Собираюсь задать провокационный вопрос, понимаете...
Вы, пожалуйста, не очень ругайтесь. А то я как-то в рассылке "дельфинов" задал подобный вопрос - так люди в красивых галстуках и строгих костюмах искренне негодовали и возмущенно выпихали меня в шею из их общества. Так как рассылка асмовцев ассоциируется у меня со сборищем лохматых, вечно молодых и пьяных крякеров, то рискну еще раз...
Итак: (тихо и шепотом) Очень нужно какой-нибудь крякер редактора W&D - был такой текстовый редактор года 4 назад, по-русски "Слово и Дело", для версии 8.15 или генератор кодов или что-нибудь подобное. Самому - времени нет, а людЯм работать надо..
С уважением Вал.Ик.

Ответ

Здравствуйте, Вал.Ик.!
ЗАйди На www.CRack.ru и тама Ищи свой Word & Deed (там вроде бы находится для 8.0 кеймакер)


Отправил эксперт: Painbringer
Эксперт отправил ответов (всего): 138

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №945

Привет!!!
Eсть у меня одна Гама, при запуске требует CD
Хотя играет без CD, он ей нужен только для того чтоб считать серийный номер.Если CD нет, то вылетает
сообщение(Insert CD).
Вопрос: Как поставить в SoftIce BreakPoint на функцию
ShowMessageBox() Чтобы отследить откеда она вызываеться??
Thank....

Ответ

Здравствуйте, Змей!
Если я не глючу то вродебы что-нибудь типа этого
bp showmessagebox.
Вопрос на засыпку: А почему ты так уверен что это именно та функция?! В АПИ дофига функций рисующих окошки с месагами.


Отправил эксперт: Painbringer
Эксперт отправил ответов (всего): 139

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №940

Здравствуйте!
Подскижите плиз, есть ли в винде событие боле-менее похожее на ДОСовское
mov ax,3f00h
mov bx,handle
mov dx,offset file
mov cx,len_file
int 21h

С уважением Ser>I

Ответ

Здравствуйте, Ser>I Вот ответ;


push length ; in bytes
push offset buffer
push handlefile
call _lread

Это самый простой вариант. Возврат, число фактически прочитаных байт.


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage)
Эксперт отправил ответов (всего): 18

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №913

Здравствуйте, Экспекты!
Почему когда делаешь (выполняешь) это
WinExec ('http:\www.chat.ru,0) или
ShellExecute(0,0,'http:\www.chat.ru',0,0,0)
то усЈ нормально т.е. запускаеться Explorer, а при этом
WinExec ('c:\Windows\notepad.exe',0) или
ShellExecute(0,0,'c:\Windows\notepad.exe',0,0,0)
Ничего не происходит ??????? Может есть круче АПИ, которая запустит мой исполняемый файл......

Ответ

Здравствуйте, Дмитрий!
Попробуй так:
WinExec ('c:\Win98\notepad.exe',SW_SHOW);
и не забудь проверить наличие экзешника перед запуском


Отправил эксперт: Alexander
Эксперт отправил ответов (всего): 4

Экспертная группа: Пользовательская работа с Windows

Вопрос №923

Добрый день эксперты!
Что такое такт?

Ответ

Здравствуйте, Alex!
Время, затрачиваемое на одну операцию процессора (например, сложение)


Отправил эксперт: Alexander
Эксперт отправил ответов (всего): 5

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №949

Здравствуйте эксперты!
Кто нибудь знает структуру исполняемого файла в линухе. Вот например простая программа на си типа Hello, World занимает 17кб. Это при том, что это не с++, а просто си , у которого должен быть грамотный компилятор. Или это вроде PSP только огромное!!!

Ответ

Здравствуйте, DiGiT!

В Linux'е поддерживаются форматы файлов a.out и ELF.
Как объясняет Зубков, такой большой объём объясняется использованием
стандартной библиотеки си. Он приводит пример двух программ на АСМе:
одна из них использует библиотеку, другая работает напрямую через API.
У первой размеры тоже довольно-таки большие (хотя программа ОЧЕНЬ
простая).


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 114

Экспертная группа: Оптимизация программ

Вопрос №946

Здравствуйте уважаемые эксперты!

Недавно столкнулся с такой проблемой. Была Windows 2000, поставил Windows XP (Build 2600)English. У меня два раздела - C и D. На D инфа, на C система. После переустановки с форматированием(на C), файлы на D (с русскими именами) превратились в какие-то каракули. То же самое творится с нек-рыми программами, например Photoshop 6(Rus). Меню абсолютно нечитабельные! То же в Outlook, но только с небольшой разницей - если смотреть на список e-mailов в папке Inbox то русские тема и отправитель не видны. Содержание же читается. Но если открыть письмо то тема и отправитель отображаются нормально. Можно ли это как-то устанить?

И второе: в досе при переключении на русскую раскладку вместо русских букв одни ??????????????? Делал так:
1. В реестре прописывал:
HKLM\system\CurrentControlSet\Control\Keyboard Layot\DosKeybCodes значением 00000409 ставил RU
2. Последовательно выполнял:
kb16 ru
mode con cp select=866
chcp 866
Вроде бы русифицировалось, но после перезагрузки опять та же фигня. Засовывал это в Autoexec.nt но безрезультатно. В общем есть в XP подобие Autoexeca в Win 98?

Ответ

Здравствуйте, Andrey!
А старая папка Windows у тебя наверно не сохранилась?
Тебе бы скачать русские шрифты, и поместить в папку типа Fonts!
А PhotoShop при установке записывает шрифты в Windows\Fonts. Outlook же использует стандартные шрифты винды! Так шо тебе нужны русские шрифты, тогда все в норме будет!
А если шрифты уже есть, то залезь в Экран\Оформление, там поэкспериментируй с шрифтами ЗНАЧКА и Т.П(Ставь кириллицу). Возможно просто не поддерживается какой-то один шрифты.


Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 119

Экспертная группа: Пользовательская работа с Windows

Вопрос №950

Добрый день эксперты!
Я часто в литературе встречаю такой ретмин как МНИМОНИК (к примеру мнимоник ret- retf), а что это такое толком не пойму!

Ответ

Здравствуйте, Alex!
Этот термин правильно будет писать "МНЕМОНИКА". Применительно к ассемблеру данный термин означает "символьное представление машинной команды". Т.е. например команда B8 00 07 имеет мнемонику MOV AX,0700h.
Собственно, мнемоники могут отличаться, например команда 90 может быть представлена, например, мнемониками
NOP
и еще
DB 90h
и даже
XCHG AX, AX
т.е. все эти мнемоники превращаются транслятором с ассемблера в команду процессора 90.
С Уважением,Al-Gali
ICQ 111692802


Отправил эксперт: AL-GALI (http://www.astpage.ru/ - вроде как корпоративная страничка)
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №950

Добрый день эксперты!
Я часто в литературе встречаю такой ретмин как МНИМОНИК (к примеру мнимоник ret- retf), а что это такое толком не пойму!

Ответ

Здравствуйте, Alex!
Для удобства чтения команд машинного языка каждой команде было присвоенно имя.
Таким образом мнемоника - это символьное обозначения машинного кода команды.


Отправил эксперт: Pr.nimnul (www.np.vspu.ac.ru - Электронный журнал по информатике)
Эксперт отправил ответов (всего): 1

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №853

Вот такой вопрос... Я недавно перешел с сегментированой модели на плоскую и задался вопросом. Вот был себе AX, и состоял он из AH и AL. C тех пор как перешли на EAX, можно ли использовать 16-битные половины (eab, eal не сработали)регистров?

Ответ

Здравствуйте, Саня!

К ax, al, ah (и к остальным регистрам) можете обращаться по-прежнему, например, xor ax, ax, но для того, чтобы добраться до старшего слова в eax нужно выполнить сдвиг (shr eax, 16)


Отправил эксперт: $erge$
Эксперт отправил ответов (всего): 3

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №952

При записи в файл Паскаль кричит об ошибке.
Помогите.

Ответ

Здравствуйте, Kiran!
Дело в том, что вы определяете тип файла как байт, а пытаетесь записать в него переменную типа longint- по этому и получается ошибка "несовпадения типов". В данном случае необходимо чтобы файл и данные, записываемые в него одного типа т.е. file of longint


Отправил эксперт: Pr.nimnul (www.np.vspu.ac.ru - Электронный журнал по информатике)
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №948

Привет всем!
Беспокоит такая проблема: под виндой выскакивает белым по синему: "ошибка четности памяти", причем машина стоит колом. Виновата не винда, не винт, не память(SIMM), не камень. Что может быть? Помогите...

Ответ

Здравствуйте, DiGiT!
Откеды ты знаешь что железо не вновато??? или видовс???
если ты уверен что виндовс не виноват, то скорее всего железо
третьего нету...


Отправил эксперт: змей
Эксперт отправил ответов (всего): 34

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №950

Добрый день эксперты!
Я часто в литературе встречаю такой ретмин как МНИМОНИК (к примеру мнимоник ret- retf), а что это такое толком не пойму!

Ответ

Здравствуйте, Alex!

Помоему только МНЕМОНИКА...

Так называются все ассемблерные команды... это как бы общее слово.
Так как ассемблерные команды являются человекопонятным изображением машинных кодов, их и называют этим словом.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 128

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное