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

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


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

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

Выпуск N 042

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

Дата выхода: 2001-07-25


Вопрос №359

Скажите, а может быть так что у меня на мамке нет джампера запрещения записи во Flash?

Эксперт Nik пишет:
Вы видимо пытаетесь использовать AWDFLASH 1997 года рождения для
прошивки микросхемки Flash, которую собрали два дня назад. Потому
он и не знает Вашу микросхему! Примите чего поновее (Например,
(c) 2001) и прошивайте туда чего хотите.


Скорее наоборот. AWDFLASH 2001 года, а микросхема 97'го.
В суппорте мне вообще откровенно написали: Неверный тип Flash, замените его. :-)___)

Ответ

Здравствуйте, Space™!
Разрешение перезаписи_может_выставлятся и в BIOS:_"BIOS_update-
enable"
Oleg
Tschabanow@ewetel.net


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

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

Вопрос №361

Здравствуйте. Где в инете я могу найти документацию или информацию о переведе печатного текста в речевую форму.
Просто я хочу написать программу на ассемблере, которая могла выводить на PC speaker/Sound blaster текст, который пользователь введет с клавиатуры.
Спасибо.

Ответ

Здравствуйте, Павел!
А на каком языке?
Универсальный алгоритм:
1. Находишь учебник фонетики по нужному языку.
2. Изучаешь этот учебник, приглашаешь человека с идеальным произношением надиктовать все известные фонемы(лучше набор слов, содержащий все фонемы, а затем порезать на кусочки). Причем желательно не один раз. Все фонемы оцифровываешь с одним качеством, записываешь их в разные файлы(или в один, но запоминаешь их смещения и длины).
3. Еще раз изучаешь учебник по фонетике, забиваешь в программе алгоритм перевода написанного текста в транскрипцию. Для слов-исключений создаешь словарик. Т.е. алгоритм должен вначале проверять не является ли слово исключением, а только потом использовать алгоритм преобразования.
4. Понимаешь, что все вышеописанное мура и решаешь найти небольшую бесплатную программу, которая все это делала бы для нужного тебе языка.

P.S. IMHO для русского достаточно легко написать модуль по переводу в транскрипцию, потому что русский человек и русский язык легче простят отсутствие некоторых нюансов. А вот для английского вообще придется делать кучу разных версий - UK, USA,... А если еще учитывать рвзнообразные диалекты внутри соединенного королевства, афроамериканскую версию под названием ebonics, то окажется, что это чуть легче, чем для китайского :))))


Отправил эксперт: Александр
Эксперт отправил ответов (всего): 58

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

Вопрос №367

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

Ответ

Здравствуйте, Михей!
Командная строка находится в PSP.
PSP:0080h - длина командной строки
далее до PSP:00FFh - собственно сама строка, причем в последнем байте находится 0Dh.
таким образом максимальная длина командной строки 7Fh (126) байт.
зырь:

Приложение:


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

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

Вопрос №366

Привет.

Ув. Экспреты, подскажите как компилировать программы, использующие сопроцессор?
При компиляции следующего модуля возникает ошибка:
"Fatal: 32-bit record encountered in module COCPU.ASM"

Модуль:
====================================
.386
.model tiny
.code
start:

fild x
fild y
fadd
fistp z
mov ax,4c00h
int 21h

x dw 1
y dw 2
z dw ?


end start
====================================

Ответ

Здравствуйте, Оксана!

Если вам нужен набор команд 386 процессора, то замените сроку
.model tiny
на
.model use16 tiny
иначе можете постааить вместо
.386
.387
строки
.286
.287

З.Ы. приятно встретить редкое явление - девушку-программиста!


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

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

Вопрос №358

дНАПШИ ДЕМЭ!
оНДЯЙЮФХРЕ ЙЮЙ ЯПЮБМХРЭ ЛЕФДС ЯНАНИ ДБЕ ОЕПЕЛЕММШУ?
мЮОПХЛЕП:
Word1 db 'abcde$'
Word2 db 'yxzyx$'
Word2 ОНЛЕМЪКЮ ГМЮВЕМХЕ, ЙЮЙ СГМЮРЭ ЯРЮКЮ КХ НМЮ ПЮБМЮ Word1?

Ответ

гДПЮБЯРБСИРЕ, Fadyk!
мС МЮОПХЛЕП ЛНФМН БНЯОНКЭГНБЮРЭЯЪ ЖЕОНВЕВМНИ ЙНЛЮМДНИ ЯПЮБМЕМХЪ CMPS.
ъ ОПХБЕДС ЙСЯНВЕЙ ЙНДЮ, Ю БШ КСВЬЕ ОНВХРЮИРЕ 11-Ч ЦКЮБС ЙМХЦХ о.юАЕКЪ ъГШЙ ЮЯЯЕЛАКЕПЮ ДКЪ IBM PC Х ОПНЦПЮЛЛХПНБЮМХЪ... нМЮ Б ЩКЕЙРПНММНЛ БХДЕ КЕФХР МЮ www.Kalashnikoff.ru.

Приложение:


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

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Вопрос №367

нАЗЪЯМХРЕ ОНФЮКСИЯРЮ,ЙЮЙ ПЮАНРЮРЭ Я ОЮПЮЛЕРПЮЛХ ЙНЛЮМДМНИ ЯРПНЙХ.цДЕ НМХ УПЮМЪРЯЪ ОНЯКЕ ГЮОСЯЙЮ ОПНЦПЮЛЛШ Х ЙЮЙ ХУ ОНРНЛ НРРСДЮ БШГБЮРЭ.

Ответ

гДПЮБЯРБСИРЕ, лХУЕИ!
мС... рСР БЯЕ ОПНЯРН.
оН ЮДПЕЯС Ds:[80h] КЕФХР ДКХМЮ ЙНЛЮМДМНИ ЯРПНЙХ, Ю ОН ЮДПЕЯС DS:[81h] ЯЮЛЮ ЯРПНЙЮ. еЯКХ Б ЙНЛЮМДМНИ ЯРПНЙЕ МХВЕЦН МЕ МЮАХПЮКНЯЭ, РН ОН ЮДПЕЯС DS:[81h] АСДЕР КЕФЮРЭ 0Dh. еЯКХ ФЕ Б ЯРПНЙЕ ВРН-РН АШКН МЮАПЮМН, НР МЕНАУНДХЛН СВЕЯРЭ МЮКХВХЕ Б ЯРПНЙЕ ОПНАЕКНБ...
оПХЛЕП ОПХБНДХРЭ МЕ АСДС. яСДЪ ОН СПНБМЧ БНОПНЯЮ, НРБЕР МЮ БНОПНЯ "Ю ВРН ЛМЕ ДЕКЮРЭ Я ЩРХЛХ ЮДПЕЯЮЛХ" БШ ГМЕРЕ... ;)


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

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Вопрос №361

гДПЮБЯРБСИРЕ. цДЕ Б ХМЕРЕ Ъ ЛНЦС МЮИРХ ДНЙСЛЕМРЮЖХЧ ХКХ ХМТНПЛЮЖХЧ Н ОЕПЕБЕДЕ ОЕВЮРМНЦН РЕЙЯРЮ Б ПЕВЕБСЧ ТНПЛС.
оПНЯРН Ъ УНВС МЮОХЯЮРЭ ОПНЦПЮЛЛС МЮ ЮЯЯЕЛАКЕПЕ, ЙНРНПЮЪ ЛНЦКЮ БШБНДХРЭ МЮ PC speaker/Sound blaster РЕЙЯР, ЙНРНПШИ ОНКЭГНБЮРЕКЭ ББЕДЕР Я ЙКЮБХЮРСПШ.
яОЮЯХАН.

Ответ

гДПЮБЯРБСИРЕ, оЮБЕК!
лМЕ ЙЮФЕРЯЪ БШ МЕЯЙНКЭЙН ОЕПЕНЖЕМХБЮЕРЕ ЯБНХ БНГЛНФМНЯРХ... пЮГПЮАНРЙНИ РЮЙХУ ОПНЦПЮЛЛ ГЮМХЛЮЧРЯЪ СФЕ ДНБНКЭМН ДЮБМН, Х МЮ ЙНЛЕПВЕЯЙНИ НЯМНБЕ. р.Е. НРЙПШРШЕ ЛЮРЕПХЮКШ ОН ДЮММНЛС БНОПНЯС БШ МЮИДЕРЕ БПЪДКХ. дЮ Х ОПЕДЯРЮБКЪЕРЕ КХ БШ НАЭЕЛ ПЮАНР, ЙНРНПШЕ БЮЛ ОПХДЕРЯЪ БШОНКМХРЭ ДКЪ МОХЯЮМХЪ ДЮММНИ ОПНЦПЮЛЛШ? щЙЯОЕПР юКЕЙЯЮМДП ЙНМЕВМН СРПХПСЕР, МН Б НАЫЕЛ НМ ОПЮБ...


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

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Вопрос №360

сПЮ! пЕГХДЕМР ГЮПЮАНРЮК, АКЮЦНДЮПЪ ЩЙЯОЕПРС Basfer'С.
яОЮЯХАН ЕЛС ГЮ ЩРН. еДХМЯРБЕММШИ ЩЙЯОЕПР, МЮЬЕДЬХИ ХЯРХММСЧ ОПХВХМС ГЮБХЯЮМХЪ.
оПХВХМЮ АШКЮ Б ЙНЛЮМДЕ "jmp dword ptr old_ip". мЮДН АШКН ЙНМЙПЕРЕГХПНБЮРЭ ЯЕЦЛЕМР.
рЮЙ БНР. бНОПНЯ. оНВЕЛС ОПНЖ ДЕТНКРНЛ АЕПЕР DS, Ю МЕ CS?
бЕДЭ ЩРН ЦКСОН - ДЕКЮРЭ ОЕПЕУНД Б ЯЕЦЛЕМР ДЮММШУ.

Ответ

гДПЮБЯРБСИРЕ, Stepan Yar!
Old_ip - ЩРН, ЙЮЙ Ъ ОНМХЛЮЧ ОЕПЕЛЕММЮЪ. ю БШ ВЕЦН НВХДЮКХ, ВРН ОЕПЕЛЕММСЧ ОПНЖЕЯЯНП АСДЕР Б ЯЕЦЛЕМРЕ ЙНДЮ ХЯЙЮРЭ?


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

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Вопрос №315

привет

можно узнать насчёт softice? под вин милленниум. я
прописываю его в реестр на автозагрузку вместе с виндами, и
вылетает окошко (при загрузке винд) "the enhanced windows
386 is already running". в чём дело? извиняюсь, но больше не
у кого спросить. как заставить его работать?

quaker

Ответ

Здравствуйте, quaker!
Softice должен загружаться до Windows. Нужно достать обновление Softice для ME.


Отправил эксперт: Kulachatov (http://kulachatov.i-am.ru - Коллекция разработок автора)
Эксперт отправил ответов (всего): 9

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

Вопрос №321

Уважаемый эксперт!
У меня установлены две ОС WinME и Win200Pro после их установки появилось начальное меню загрузки (выбора ОС),вопросс такой - как в это меню добавить пункт для загрузки ДОС. Меню находится в файле Boot.ini(прилагается).

Ответ

Здравствуйте, Владимир!
Есть классная программа System Commander. С помощью нее я поставил на один винт Win2000pro,WinME,WinME command prompt,Win95,DOS 6.22,Linux.
А вручную через boot.ini это не получится.


Отправил эксперт: Kulachatov (http://kulachatov.i-am.ru - Коллекция разработок автора)
Эксперт отправил ответов (всего): 10

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

Вопрос №354

Привет, товарищь эксперт.
Копался в исходнике одного виря, обнаружил в начале такой код:
========================
entry_point:
call get_bp

get_bp:
pop bp
sub bp, offset get_bp
========================
Что будет в регистре bp?
Для чего вообще такая махинация нужна?

З.Ы. Вирь резидентный, стеалс, полимерфик.

Ответ

Здравствуйте, Stepan Yar!
В регистре bp будет размер исходной инфецированной программы. Полученное число используется для смещения внутренних переменных виря. В каком-то выпуске рассылки, кстати, рассматривался этот вопрос. Тогда вирь даже переносился в область 1-ой видеостраницы(для того что-бы смещение его было равно 0). Необходимость этого приема очевидна: мы заранее не знаем каков будет размер заражаемой проги и поэтому не можем пользоваться внутренними переменными виря, так как не знаем их смещения. А с помощью этого приема можно просто написать mov ax, word ptr [var1][bp] и все. В этом приеме используется то, что offset get_bp на этапе ассемблирования превратится в число, а call get_bp будет меняться в зависимости от текущего смещения get_bp.

С уважением, Basfer.


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

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

Вопрос №367

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

Ответ

Здравствуйте, Михей!
В PSP по смещению 80h хранится длина командной строки,
а начиная с 81h сама строка
Получить же полный путь, откуда запускали exe-шник, позволит следующая прога (см. приложение)
Как получить PSP в этой же проге
ЗЫ: .386 использовать необязательно:)

Приложение:


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

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

Вопрос №370

Здравствуйте,уважаемые эксперты.У меня к вам несколько вопросов о резиденте из 10-й рассылки.
push ds
push dx
push cs
pop ds
Зачем нам нужно перемещать cs в ds?Почему мы это делаем до изменения cs командой call dword ptr cs:[]?И почему не работают команды mov ds,cs и pop cs?

Ответ

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

3)-- -CS именяется коммандами: call, ret, jmp и им подобными, Так работает i8086
, поэтому-же нельзя сказать mov ds,cs а также pop cs (кстати, ret делает pop cs

pop ip (или на обород)).


Отправил эксперт: Denis K
Эксперт отправил ответов (всего): 1

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

Вопрос №373

Привет.
Ув. Эксперты, раскажите пожалуйста как в компьютере хранятся числа с запятой. Т.е. как с помощью нулей и единиц представить число с запятой. На примере сопроцессора. (80 бит)

Ответ

Здравствуйте, Оксана!
Интересная ссылка по данному вопросу
www.arlut.utexas.edu/SunCompiler/common/ug/index.html
там далее разберешся, правда там все на англицком:((
а так писать очень много, форматы там запутанные:(


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

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

Вопрос №372

сБЮФЮЕЛШИ ЩЙЯОЕПР!
йЮЙ Б ОПНЦПЮЛЛЕ System commander ДНАЮБХРЭ Б ЛЕМЧ ОСМЙР ДКЪ ГЮЦПСГЙХ дня. (ОПНЦПЮЛЛЮ АШКЮ ПЕЙНЛЕМДНБЮМЮ ЩЙЯОЕПРНЛ kulachatov Б НРБЕРЕ МЮ БНОПНЯЯ №321)

Ответ

гДПЮБЯРБСИРЕ, бКЮДХЛХП!
оПНЯРН БГЪРЭ Х СЯРЮМНБХРЭ ДНЯ. яХЯРЕЛ ЙНЛЮМДЕП ЯЮЛ ЩРН СБХДХР Х ЯДЕКЮЕ БЯЕ НЯРЮКЭМНЕ.


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

Экспертная группа: оНКЭГНБЮРЕКЭЯЙЮЪ ПЮАНРЮ Я Windows

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

Рассылки 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

В избранное