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

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


Служба Рассылок Subscribe.Ru

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

Выпуск N 130

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

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


Вопрос №1396

Подскажите пожальста, как надо компилять прогу (какие ключи), дабы она получилась виндовой (и какая минимальная версия компилятора/линкера для этого нужна)?
Имеется в виду программа на ассемблере ИМЕННО под win32

Ответ

Здравствуйте, John-1123!
Example.asm - твой асм !!!

tasm32 /m /ml example.asm,example.obj,example.lst
tlink32 /Tpe /aa /c example.obj

Параметр Tpe означает, что будет EXE файл, а если Tpd, то будет DLL
Опция -aa указывает компилятору что нужно создать обычное приложение Windows
использующее GDI. Если вы укажите опцию -ap то компоновщик сгенерирует
консольное приложение Windows (примером консольного приложения может послужить FAR)


Отправил эксперт: Digger (www.digger-mib.chat.ru/freeware.htm - Мой софт :))
Эксперт отправил ответов (всего): 10

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

Вопрос №1398

Уважаемые господа!
На WIN98 установил Office 2000, после чего, удалив его, поставил Office 97.
При зауске Accses пишет что прога не лицензирова и всЈ -ТРУП. Знаю, что это
Of 2000 нагадил и что в реестре остались хвосты. Подскажите люди какие ключи
надо удалить.

Ответ

Здравствуйте, Александр!
Попробуй здесь
HKEY_KOCAL_MASHINE\Software\microsoft\MS office xxx\97.0.0.0408\registration\ProductID (ххх это версия твоего оффиса)
В пвраметре ProductID Будет серийный номер
посмотри соответствует ли S/N с тем который ты ставаил...


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

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

Вопрос №1394

Здрасте ! Вот возникла у меня идея по реинкорнации старых игр вроде Prehistorik 2 :) (Ну не люблю я Unreal !) Так вот к примеру нужно написать прогу что бы запускал ехешник игры и вместо 320х200х256 он работал что то вроде 800х600х32б !!!
Первое что пришло мне в голову это поставить аппаратный брейкпоинт на обращение к видео памяти (вроде того как это делает ТД ) кто нибудь знает как это делать ? Правда через минуту мне подумалось что это наверное будет дико тормозить :( ведь прийдется по пиксельно ставить :( да и вообще для 800х600х32б прийдется делать защ.режим :) а там как бы уже можно изменить адрес видео памяти на LFB :) так что если кого заинтересовала эта идея то пишите мне ! ведь тоды можно было заделать там что нибудь вроде Трил.Фильтрации :) хотелось бы на такую красотищщу посмотреть ;)))))) Prince of Persia RULEZZZ ;)))))))

Ответ

Здравствуйте, Барт Симпсон!
Таким НЕПЕЧАТНЫМ СЛОВОМ тебе придется переделывать всю графику, перерисовывать спрайты и все прочее или результатом твоей работы станет или маленькое окошечко или если ты растянешь примерно тоже что было только с тормозами, но если все сводится только к тормозам то реализовать их можно гораздо проще. Так что если ты хочешь заНЕПЕЧАТНОЕ СЛОВОться то вперед и с песней.


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 219

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

Вопрос №1399

Здравствуйте уважаемые эксперты!
У меня возникла потребность поменять видеокарту.
Хочу купить Riva TNT2 M64, или GeForse2 MX - 200.
Подойдут ли они к материнке: ACORP-ALI ALADDIN M1543C /M1542(chipset)?
Читал в инете, что нет. Но видел как многие ставят их на такую же мать и все работает.
Заранее благодарен!

Ответ

Здравствуйте, Дмитрий!
На твоем месте я бы не стал этого делать. Там всё зависит от релиза матери. Если это c или d (не помню точно) то наверное все будет хорощо иначе - как у меня (в смысле что у меня у самого стоит эта Acorp 6Al61i). Т.е. никакие ванты ривы и прочия не работают.


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 220

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

Вопрос №1401

Здравствуйте. Я тут задавал вопрос по поводу cookies, спасибо всем за развернутые ответы, но решена только часть проблемы. Когда я выкинул все файлы из этой директории (index.dat чего-то не удаляется) и вошел на сайт, меня действительно приняли за нового пользователя, и напихали мне этих файлов. Я их снова удалил, и снова вошел и... хрен тебе, меня узнают и говорят, что я только что здесь был. Как? Значит не в этих файлах дело? Где сидит эта гадость в моем компе? Подскажите пожалуйста, был бы очень признателен.
С уважением.

Ответ

Здравствуйте, Nekto!
Удалите файл index.dat из DOS.


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

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

Вопрос №1401

Здравствуйте. Я тут задавал вопрос по поводу cookies, спасибо всем за развернутые ответы, но решена только часть проблемы. Когда я выкинул все файлы из этой директории (index.dat чего-то не удаляется) и вошел на сайт, меня действительно приняли за нового пользователя, и напихали мне этих файлов. Я их снова удалил, и снова вошел и... хрен тебе, меня узнают и говорят, что я только что здесь был. Как? Значит не в этих файлах дело? Где сидит эта гадость в моем компе? Подскажите пожалуйста, был бы очень признателен.
С уважением.

Ответ

Здравствуйте, Nekto!
Запрети использование cookies в параметрах безопасности своего браузера. Для IE5.5 Сервис->Свойства обозревателя->Безопасность->Другой, установи два параметра про cookies в положение Отключить или Предлагать. Тогда они появляться не будут, пока не разрешишь. Потом удали все свои куки из каталога. Потом перезагрузись, чтобы в кеше всё удалилось.


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

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

Вопрос №1401

Здравствуйте. Я тут задавал вопрос по поводу cookies, спасибо всем за развернутые ответы, но решена только часть проблемы. Когда я выкинул все файлы из этой директории (index.dat чего-то не удаляется) и вошел на сайт, меня действительно приняли за нового пользователя, и напихали мне этих файлов. Я их снова удалил, и снова вошел и... хрен тебе, меня узнают и говорят, что я только что здесь был. Как? Значит не в этих файлах дело? Где сидит эта гадость в моем компе? Подскажите пожалуйста, был бы очень признателен.
С уважением.

Ответ

Здравствуйте, Nekto!
Некоторые сайты идентифицируют пользователя и по кукис и по IP адресу
Значит чтоб тебя приняли за нового пользователя тебе надо отключиться от провайдера (в случае диал-апа) удалить кукис и вновь подключиться


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

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

Вопрос №1399

Здравствуйте уважаемые эксперты!
У меня возникла потребность поменять видеокарту.
Хочу купить Riva TNT2 M64, или GeForse2 MX - 200.
Подойдут ли они к материнке: ACORP-ALI ALADDIN M1543C /M1542(chipset)?
Читал в инете, что нет. Но видел как многие ставят их на такую же мать и все работает.
Заранее благодарен!

Ответ

Здравствуйте, Дмитрий!
Могу только развести руками - не имейте дело с нераспространенными чипсетами. К сожалению ALI скорее всего уже и забыла, что у неё есть в хвосте старые чипсеты - сейчас ей не до этого, а потому стабильность работы , особенно нового железа, под сомнением...\
Может быть всё-таки сначала сменить материнку.

Удачи!


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

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

Вопрос №1398

Уважаемые господа!
На WIN98 установил Office 2000, после чего, удалив его, поставил Office 97.
При зауске Accses пишет что прога не лицензирова и всЈ -ТРУП. Знаю, что это
Of 2000 нагадил и что в реестре остались хвосты. Подскажите люди какие ключи
надо удалить.

Ответ

Здравствуйте, Александр!
Попробуйте прогнать чистильщик реестра, например RegCleaner.

Удачи!


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

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

Вопрос №1398

Уважаемые господа!
На WIN98 установил Office 2000, после чего, удалив его, поставил Office 97.
При зауске Accses пишет что прога не лицензирова и всЈ -ТРУП. Знаю, что это
Of 2000 нагадил и что в реестре остались хвосты. Подскажите люди какие ключи
надо удалить.

Ответ

Здравствуйте, Александр!
Попробуйте прогнать чистильщик реестра, например RegCleaner.

Удачи!


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

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

Вопрос №1402

Плизз подскажите пожалуйста строничку где можно достать или скочать бесплатно уроки по программированию на Assembler именно для начинающего.

Ответ

Здравствуйте, Buggy!
так вроде на сайте www.kalashnikoff.ru люди находят и уроки и инфу,я правда не видел.


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

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

Вопрос №1400

Добрый день, не могли бы Вы мне помочь.

1)
У меня никак не выходит написать программу на Асемблере по переводу ASCII dec до ASCII hex можите мне как нибудь помочь в этом вопросе.
2)
И еще один вопрос как можно эффективно оперелить, для последующего редактирования (приведу пример)
У меня есть:
dhsfstaydh12364ffaf558741
где начинается число 12364 и где кончается, для последующего его перевода в HEX подобу, а дальше мне нужно за этим число написать эту подобу.


Заранее извиняюсь за возможно не очень внятное описание вопроса.

Спасибо, Дмитрий

Ответ

Здравствуйте, Дмитрий!
Что конкретно то надо если тебе надо перевести ASCII таблицу, записанную в dec,в хекс,так там однозначное соответствие. Делишь на 16 и частное тебе будет первых полбайта, а остаток остальные полбайта
Например 129/16=8(8 in hex)+1 получится число 81h


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

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

Вопрос №1399

Здравствуйте уважаемые эксперты!
У меня возникла потребность поменять видеокарту.
Хочу купить Riva TNT2 M64, или GeForse2 MX - 200.
Подойдут ли они к материнке: ACORP-ALI ALADDIN M1543C /M1542(chipset)?
Читал в инете, что нет. Но видел как многие ставят их на такую же мать и все работает.
Заранее благодарен!

Ответ

Здравствуйте, Дмитрий!
да если есть AGP4 то бери лучше GeForce. Она по производительности лучше


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

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

Вопрос №1395

Здравствуйте эксперты!
Сейчас учусь по книжке по ассемблеру и там встретился такой пример по работе с преобразованием данных. Пример удалось запустить, но с трудом (использую TASM5.0). А вот заставить его правильно работать, у меня не получается.:( В al почему-то нет обещанного результата преобразования.
И еще один вопрос:
Таблица преобразования, которую использует xlat. Как она работает? - никак не пойму.

ЗЫ: Оригинальный текст примера сохранен, дабы не вводить вас в заблуждение своими исправлениями.

Ответ

Здравствуйте, ILYA!
Все работает тока конечно там ошибок куча было. Держи и компиль ком- файл

Приложение:


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

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

Вопрос №1402

Плизз подскажите пожалуйста строничку где можно достать или скочать бесплатно уроки по программированию на Assembler именно для начинающего.

Ответ

Здравствуйте, Buggy!
http://www.kalashnikoff.ru


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

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

Вопрос №1396

Подскажите пожальста, как надо компилять прогу (какие ключи), дабы она получилась виндовой (и какая минимальная версия компилятора/линкера для этого нужна)?
Имеется в виду программа на ассемблере ИМЕННО под win32

Ответ

tasm - /m /ml
tlink32 - /Tpe /aa /c /x


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

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

Вопрос №1394

Здрасте ! Вот возникла у меня идея по реинкорнации старых игр вроде Prehistorik 2 :) (Ну не люблю я Unreal !) Так вот к примеру нужно написать прогу что бы запускал ехешник игры и вместо 320х200х256 он работал что то вроде 800х600х32б !!!
Первое что пришло мне в голову это поставить аппаратный брейкпоинт на обращение к видео памяти (вроде того как это делает ТД ) кто нибудь знает как это делать ? Правда через минуту мне подумалось что это наверное будет дико тормозить :( ведь прийдется по пиксельно ставить :( да и вообще для 800х600х32б прийдется делать защ.режим :) а там как бы уже можно изменить адрес видео памяти на LFB :) так что если кого заинтересовала эта идея то пишите мне ! ведь тоды можно было заделать там что нибудь вроде Трил.Фильтрации :) хотелось бы на такую красотищщу посмотреть ;)))))) Prince of Persia RULEZZZ ;)))))))

Ответ

Здравствуйте, Барт Симпсон!
Товарищ, ты фигней занимаешся. Если хочешь посмотреть Принца в 32 битах,
скочай какойнибудь эмулятор сеги, и ром с принцем к нему. А в твоем случае
тебе придется не только каждый пиксель обрабатывать, но еще обращениея
к портам видеоконтроллера, работу с палитрой. Ведь старые игрухи на полную
юзали возможности адаптеров. Их тебе придется реализовать. Ну и под конец
конвертироавние пикселей в 32 бита, тоже геморное занятие.


Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 57

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

Вопрос №1405

Как ввести 32 битное число в 2 регистра?

Ответ

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


Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 58

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

Вопрос №1405

Как ввести 32 битное число в 2 регистра?

Ответ

Здравствуйте, stive!
Первые 16 бит числа помести в AX
а вторые в DX, вот и все


Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 59

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

Вопрос №1402

Плизз подскажите пожалуйста строничку где можно достать или скочать бесплатно уроки по программированию на Assembler именно для начинающего.

Ответ

Здравствуйте, Buggy!
www.kalashnikoff.ru :))) Если это не для начинающих, то почемы бы Вам не поискать уроки, ну скажем, по Бэйсику!


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 221

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

Вопрос №1403

Доброе время суток Эксперты!
Мой вопрос:
Можно ли перезагрузить винды, программой сделанной в ДОСе. Если нельзя, то хотя бы как на Ассемблере под Windows сделать такую программу.

Ответ

Здравствуйте, Влад!
А по-русски можно?! Что именно тебе перезагрузить надо? Если ты имеешь в виду как перезагрузить комп - попробуй int 19h. А если ты имеешь ввиду функции WinAPI то из досовой проги ты их не запустишь. Вот. В крайнем случае эксперементируй с шеллом...


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 222

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

Вопрос №1404

Господа, это небольшое продолжение к вопросу 1392...
Дело в том что глюк появляется только когда письмо открыто для просмотра (в оутглюке) как только Вы его откроете (два раза кликнув по письму), усё начинает нормально работать.
И еще к тому, из за чего этот глюк...
В ИЕ есть такая приблуда, как просмотр страницы пробелом, и видимо ОЕ некорректно(правильно написал? :))) обрабатывает это дело. Кстати, почему глюк не всегда возникает:
Глюк появляется только тогда, когда пауза после нажатия последней клавиши ~1 сек., если меньше, то проблем (у меня) не возникает. Это видимо запатентованый M$ способ увеличения скорости печати :)))

Ну вот и все мои наблюдения...
Надеюсь кому нить это поможет :)))

Ответ

Здравствуйте, Roman!
А The Bat! тебя чем не устраивает?! Тут тебе не Мелкософтовский сапорт, тут вообщето ассемблером занимаются, а что оутглюк глючный - это все и без тебя знают.


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 223

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

Вопрос №1405

Как ввести 32 битное число в 2 регистра?

Ответ

Здравствуйте, stive!
Т.е. тебе надо схреначить типа в пару 16битных регистров двойное слово. Например напиши так (dx:cx)

mov cx,dq
mov dx,dq+2

per dq 12345678h


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 224

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

Вопрос №1407

Для эксперта Painbringer'а

Молодой человек, вопрос №1404 был написан в подгруппе ПОЛЬЗОВАТЕЛЬСКАЯ РАБОТА С WINDOWS, если Вы хотите сказать, что в этой подгруппе обсуждаются вопросы программирования на asm'e то Вы глубоко заблуждаетесь, если Вы написали ответ на мое послание для того, что бы заполучить очки, то это некрасиво.
И еще, на протяжении двух месяцев вопрос о глюке оутлука поднимался несколько раз, и ни один эксперт не дал развернутый ответ (не в укор экспертам)
Я решил немного поправить положение дел и выложил свои наблюдения...
По поводу ЗЕ БАТ'а... Он меня устраивает, но я пользуюсь так же и оутлуком. То, что здесь не M$ поддержка, я знаю, а по поводу глючности оутлука, я не помню что бы Вы ответили на вопрос почему происходит скролинг вниз и как от этого избавиться...

Ответ

Здравствуйте, Roman!
Ошибаешся....как избавится от глюка много экспертов написали...
а зи за чего это происхожит просто мало кому интересно...
всем в основном хочется избавиттся от глюка...
З.Ы а асм учи пригодится...


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

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

Вопрос №1408

Здравствуйте, уважаемые эксперты!
1.Как сделать код более компактным и 'правильным'?
(программа меняет верхний на нижний регистр букв
рус. и англ. алфавита)
2.Как програмно определить сколько символов в строке?

Ответ

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

К нижнему регистру английские буквы можно привести так:

or dl, 20h

но это предварительно проверив что код символа в пределах 41h-90h то есть большая английская буква. из маленькой в большую можно перевести аналогично:

and dl, 0dfh

Про русские буквы однозначно не скажешь.
Если рассматривать досовую кодировку - то

от 'A' до 'П' (80h - 8fh) преобразуются к нижнему - аналогично английским.
or dl, 20h

от 'Р' до 'Я' (90h - 9fh) требуют таких операций:
and dl, 0e0h
or dl, 60h

В dl исходно код символа. ну понятно.
Хотя лучше конечно использовать al - код будет короче.


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

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

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

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

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


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

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


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

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


Управляющий рассылкой,

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

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


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


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

В избранное