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

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


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

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

Выпуск № 208
от 07.03.2002, 02:05

Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере


Старейшины рассылки
(по состоянию на 07.03.2002, 02:05)

1. Broken Sword - ответов: 370.
2. Painbringer (нечто наподобие домашней страницы) - ответов: 362.
3. Sensey - ответов: 314.
4. Dron (Операционная система с нуля!) - ответов: 258.
5. DiGiT - ответов: 252.


Новости

[06.03] Эксперту GL присвоен статус "Продвинутый".


 Вопрос № 59

Привет всем!
1) Нет ли у кого C/ASM реализации криптования по DES/RSA/IDEA? Буду очень благодарен :), если кто-нибудь вышлет мне на e-mail эту прогу, желательно с комменариями.
2) Где 98 форточка хранит адреса, на которых я был в инете? Что нужно чистить чтобы никто не узнал где я был? (Предки разрешают только на mail.ru). Сам я нашел только:
- реестр (TypedURLs);
- Temp. Internet Files;
- лог модема.

Отправитель: Эксперт 10ck (10ck@mail.ru)
Вопрос отправлен: 01.03.2002, 13:13
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает jc
Здравствуйте, 10ck!
Все описание и реализации этих алгоритмов лежат на сайте http://home.od.ua/~blackw/ очень хороший и информативный сайт!
Если нужно могу и реализаццию выслать !


Отправлено: 01.03.2002, 16:36
Отправитель: jc (регистрация: 05/02/2002, ответов на счету: 28)
Россия, Йошкар-Ола

_______________

Отвечает наСИльник
Доброе время суток, 10ck!
2)Адреса хранятся в папочке X:\windows\history
Еще удаляй файлы из ТЕМП через NC,Dos,DN и т.п. а то некоторые папки и файлы винда не видит из за файла desktop.ini, если его удалить то винда будет видеть папочку. И может быть у тебя стоит программа-шпион, которая записывает в лог-файл. Например HookDump


Отправлено: 01.03.2002, 17:01
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 17)
ICQ#114552395
Russia, Orsk




 Вопрос № 70

Здравствуйте.
Как можно передать подпрограмме (процедуре) значение переменной (конкретно, букву)? Желательно подробней, т. к. Зубкова я недопонял по этому вопросу, и, если можно, используя регистры, т. к. передача осуществляется в цикле.

Отправитель: Warewolf
Вопрос отправлен: 02.03.2002, 11:12
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает Dzik
Приветствую Вас, Warewolf!
1)Через регистры: заносишь переменную в нужный регистр, затем вызываешь функцию. А в самой функции работаешь с этим регистром.
mov ax,'a';
call func;
2)Через стек:
Сохраняешь в стеке переменные, а затем в самой функции в обратном порядке считываешь их. Только при вызове функции в стек кидается еще чего-то, поэтому надо отступить от вершины стека. На сколько не знаю. Пользуйся лучше способом 1.
pop var1;
pop var2;
call func;


Отправлено: 02.03.2002, 11:41
Отправитель: Dzik (регистрация: 15/02/2002, ответов на счету: 15)
URL: http://www.gamefort.km.ru - Разработка игрушек
Новосибирск

_______________

Отвечает Bart Simpson
Добрый день, Warewolf! Каков вопрос-таков и ответ :
mov ax,'x'
call procedure
;)
P.S. На будущее: Пожалуйсто ! Задавайте вопросы конкретнее, чтобы потом не снимать экспертам баллы за, видите ли, "неполные ответы".


Отправлено: 02.03.2002, 19:34
Отправитель: Bart Simpson (регистрация: 28/12/2001, ответов на счету: 38)
104536986
Украина, Одесса

_______________

Отвечает BMR
Здравствуйте, Warewolf!

Что поподробнее? Сам же сказал с помощью регистра передать значение процедуре! Так и пихай код своей буквы в к-ть регистр,
а в процедуре доставай его оттуда. А если надо передать процедуре на язуке высокого уровня, то пихай в стек Зубков чёрным по белому говорит в какой последовательности для какого языка.


Отправлено: 02.03.2002, 20:52
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 87)
Россия, Пенза

_______________

Отвечает Joker
Доброго Вам!
Элементарно WareWolf!
Проще некуда!
Заносишь в какой нибудь регистр это значение и используешь его в самой процедуре.

Рассмотрим пример!
Процедура выводит на экран (туда где курсор находится на текущий момент) строку символов, заканчивающуюся байтом с ASCII кодом 0 (ноль). Символы могут быть любые. Работает - быстрее некуда :-).
Процедуре передаётся адрес строки символов, в регистре DS - сегмент, в SI - смещение. Цвет выводимых символов в AH, используемую страницу видеопамяти в AL.
Перед вызовом необходимо загрузить адрес строки в регистровую пару DS:SI, как показано ниже.
...
.data
message db 'Hello world ',0
...
.code
.386
...
mov si,@data
mov ds,si
...
lea si,message
mov ah,3 ;цвет
mov al,0 ;видеостраница
call ShowStr
...
при выходе из процедуры все регистры остаются неизменными, за исключением SI, к-рый будет указывать на конец строки

Прилагается текст процедуры с комментариями.

Домашнее задание:
1) Убери "лишние" вызовы SetCursorPos - как сказано в NOTE
2) Найди баг (для обнаружения нужно поменять выводимую строку - вставить символы конца строки)
3) Оптимизируй её используя сегментные регистры fs и gs
4) Напиши комментарии и великодушно пошли мне этот совершенного исходник


Приложение:


Отправлено: 03.03.2002, 01:29
Отправитель: Joker (регистрация: 12/01/2002, ответов на счету: 23)
Россия, Волгоград

_______________

Отвечает Nek
Приветствую Вас, Warewolf!

как как ? Через регистры пишешь mov dx,'!' все, теперь там код восклицательного знака
после этого вызываешь свою процедуру и все.


Отправлено: 03.03.2002, 12:25
Отправитель: Nek (регистрация: 16/02/2002, ответов на счету: 18)
fUcKraine, Kh

_______________

Отвечает mr.hedgehog
Приветствую Вас, Warewolf!

в идеале, своей процедуре как хочешь так и передавай.
в простеньких процедурах передача ведётся через регистры,
а если, например api, то через стек.



Отправлено: 04.03.2002, 02:22
Отправитель: mr.hedgehog (регистрация: 05/02/2002, ответов на счету: 15)
Russia, Saint-Petersburg

_______________

Отвечает DiGiT
Доброе время суток, Warewolf!
А как угодно. Например через регистры(без комментариев).
Можно через стек. Например в стек пихаешь (командой push), а потом из него в процедуре считываешь(так делают все ЯВУ).
Вот два способа. От них есть еще производные.


Отправлено: 04.03.2002, 08:07
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 252)
ICQ:133534725
Russia(),Student

_______________

Отвечает Dron
Доброе время суток, Warewolf!

в чем проблема?

mov al, 'a'
call outchar


Отправлено: 04.03.2002, 11:09
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 258)
Информзащита
Адрес: Москва
URL: http://asmdev.narod.ru/asmos.html - Операционная система с нуля!
2144510
Россия, Москва




 Вопрос № 62

При запуске игры Ballistics возникает ошибка:

Visual C++ runtime library,
abnormal termination,
runtime error.

Как мне ее устранить?

Отправитель: 123
Вопрос отправлен: 01.03.2002, 19:44
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает DiGiT
Приветствую Вас, 123!
Uninstall'ом.


Отправлено: 02.03.2002, 06:19
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 252)
ICQ:133534725
Russia(),Student

_______________

Отвечает наСИльник
Приветствую Вас, 123!
Для устранения ошибки установи новую версию библиотеки advapi32.dll от 18.12.2000. Должно сработать.





Отправлено: 02.03.2002, 18:00
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 17)
ICQ#114552395
Russia, Orsk




 Вопрос № 72

Уважаемые эксперты!
Не подскажете способ взломать dcu-файл платного компонента?
(надо отключить показ окна регистрации)
Может есть какие программы для ковыряния в dcu?

Отправитель: Ig (postx@mail.ru)
Вопрос отправлен: 02.03.2002, 12:07
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает Blackeye
Здравствуйте, Ig!
Брось мне на мыло, посмотрим (если только не большой!)
blackeye@mail.zp.ua


Отправлено: 02.03.2002, 17:01
Отправитель: Blackeye (регистрация: 15/02/2002, ответов на счету: 25)
URL: http://www.soft4master.h1.ru - Delphi, my programms...
Украина, Запорожье




 Вопрос № 73

Здравствуйте.
Я решил разделаться с WinME и поставить 98SE, так вот как мне переместить свою базу писем из
МЕ'шного Outlook'а в 98 Outlook. Да, я знаю что вы на этот вопрос уже отвечали, правда,
он был немного не про это. И еще можно ли потом эту базу писем переместить в Linux.
Linux есстесно русифицированный.

Отправитель: z00m
Вопрос отправлен: 02.03.2002, 14:05
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает наСИльник
Доброе время суток, z00m!
Скопируй папочку с:\windows\application data\identities\.. Там и находятся письма OutLooka.


Отправлено: 02.03.2002, 16:38
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 17)
ICQ#114552395
Russia, Orsk

_______________

Отвечает GL
Добрый день, z00m!
В МЕ и 98 Outlook'и практически одинаковые, так что с переносом проблем быть не должно. В Outlook'е заходишь в Сервис - Параметры и на вкладке Обслуживание жми на кнопку "Банк сообщений". Outlook покажет путь к папке, в которой хранит сообщения. Сохрани все файлы из этой папки (там большинство с расширением dbx) и устанавливай 98. Когда установишь 98 опять посмотри путь к папке и запиши сохраненные файлы в эту папку.


Отправлено: 03.03.2002, 12:07
Отправитель: GL (регистрация: 02/03/2002, ответов на счету: 10)

_______________

Отвечает змей
Здравствуйте, z00m!
Поставь the bat, там есть import и export
импортируй в бат свои мессаджи...потом можешь експортировать в оутлох експрес...



Отправлено: 04.03.2002, 09:08
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 215)

_______________

Отвечает Tiger
Приветствую Вас, z00m!
Ты прав, этот вопрос уже был и был он именно по то!
Просто экспротируй письма из меллениума, а в 98-х импортируешь. Вот и все.


Отправлено: 06.03.2002, 20:49
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 128)
URL: http://www.tigeer.narod.ru - Что-то вроде того




 Вопрос № 74

Здравствуйте уважаемые эксперты!
У меня вопрос по поводу программирования средствами Simple API. Я пишу приложение на Делфях, которое создает и посылает сообщение. Но я не хочу чтобы это сообщение в последствии появлялось у меня в папке «Исходящие» Outlook Express’a или в кокой-нить другой почтовой проге, используемой по умолчанию. Скажите как можно этого избежать. За любые ответы, буду очень благодарен. Спасибо.

Отправитель: Lukitkan (Lukitkan@mail.ru)
Вопрос отправлен: 02.03.2002, 19:36
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает Vladimir
Приветствую Вас, Lukitkan!
Попробуй использовать TServerSocket, TClientSocket.


Отправлено: 04.03.2002, 13:10
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 38)
Россия, Конаково Тверской обл.




 Вопрос № 63

Вопрос к экспертам не тривиальный. Имею Windows NT 4.0 Server и Windows 2000 Advenced Server доставшиеся в наследство от предыдущего администратора и имею проблемму НЕ МОГУ УСТАНОВИТЬ ПРИНТЕР, хотя на чистом серваке всё устанавливается великолепно. При установке четверка пишет The RPC server is unaviable, а 2000 Printer operation cannot continue du to lack of resurses. Что делать не представляю, переустанавливать 2000 Винды нежелательно - файл сервер. Кто знает как конкретно преодолеть эту проблемму пишите на мыло: michael_tam@mtu-net.ru
Заранее благодарен.

Отправитель: Michael (michael_tam@mtu-net.ru)
Вопрос отправлен: 01.03.2002, 20:21
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает DivX
Приветствую Вас, Michael!
Под 2000 (а может даже и под NT) - может сервис не установлен? Запусти msconfig, зайди в закладку "Службы" и пометь "Диспетчер очереди печати" или нечто подобное.


Отправлено: 02.03.2002, 05:32
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 209)




 Вопрос № 65

Здравствуйте.
Подскажите, пожалуйста, почему у меня в виндоусе 2000 (english) меню некоторых программ и тексты сообщений выводятся "биллибердой"? Хотя они и вроде бы стандартным шрифтом Arial. Как это можно исправить?

Отправитель: М
Вопрос отправлен: 01.03.2002, 21:02
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает Serik
Доброе время суток, М!
Попробуйте поменять тему робочего стола!!!


Отправлено: 01.03.2002, 22:03
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 49)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск

_______________

Отвечает BMR
Добрый день, М!

Так он стандартный для англицкой версии. Поставь к-ть русские шрифты и выбери их в "оформление",в свойствах экрана.


Отправлено: 02.03.2002, 02:47
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 87)
Россия, Пенза




 Вопрос № 66

Здравствуйте эксперты!
У меня вопрос: Как реализовать функицию шифрования
crypt("string",[salt]);

Отправитель: mrandrews
Вопрос отправлен: 01.03.2002, 21:32
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает vitya
Здравствуйте, mrandrews!

Если соль это ключ, то делай побитовое XOR (^ в C) циклическим способом. А если соль это случайная строка добавляемая в конец что бы парольне был тривиальным, то выполняй strcat()


Отправлено: 02.03.2002, 11:06
Отправитель: vitya (регистрация: 03/01/2002, ответов на счету: 30)
103935193
Armenia, Yerevan




 Вопрос № 67

Привет, народ!
У меня такой глюк с видюхой: консольные проги, такие как FAR и Interactive Disassembler иногда не то чтобы вешаются а на мониторе перестают отбражаться передвижения курсора, хотя клава и работает и из проги иногда даже можно выйти, хотя чаще всего попытка выхода или даже переключения по ctrl-esc в винду оканчиваются перезагрузкой компа. Глюк стал наблюдаться сразу как я поставил новую видюху и монитор. Видюха:
GigaByte GV-GF1280-32E GeForce2 MX 200
Монитор: LG StudioWorks 700B
Буду очень благодарен, если кто нибудь ответит :)

Отправитель: Эксперт Евгений
Вопрос отправлен: 01.03.2002, 22:19
Подгруппа: Модели, виды и типы компьютеров (hard)

_______________

Отвечает BMR
Доброе время суток, Евгений!

Может быть криво встали драйвера новой видюхи или мона; или они конфликтуют с неудалёнными драйверами от старых устройств.


Отправлено: 02.03.2002, 02:33
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 87)
Россия, Пенза




 Вопрос № 68

Здравствуйте, эксперты!
Не могу отключить функцией EnableHardwareInput(klava), где bool klava=false; ВСВ пишет unresolved external EnableHardwareInput(bool) referenced from ...путь\имя файла.obj
Что делать?

Спасибо!

Отправитель: Эдуард
Вопрос отправлен: 01.03.2002, 22:38
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает наСИльник
Приветствую Вас, Эдуард!
Смотри приложение может поможет.




Приложение:


Отправлено: 02.03.2002, 17:30
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 17)
ICQ#114552395
Russia, Orsk

_______________

Отвечает kostik
Здравствуйте, Эдуард!
Насколько мне известно такая функция в Win32 отсутствует. Она (я имею в виду функцию) была лишь в Win16 и в 98 и прочих операционных системах не поддерживается. Так что правильно возмущается Builder, ведь нет же такой функции. А чтобы отключить клаву и мышку можно воспользоваться такой фичей
1.С:\Windows\Run32dll.exe keyboard, disable
2.C:\Windows\Run32dll.exe mouse, disable



Отправлено: 06.03.2002, 15:53
Отправитель: kostik (регистрация: 01/02/2002, ответов на счету: 63)
URL: http://www.ospedia.boom.ru - Что-то вроде домашней странички
mrkirov@mail.ru ICQ UIN #151014798
Россия, Хабаровск




 Вопрос № 69

Здравствуйте эксперты.
КТО-НИБУДЬ…..!!!! ПОЖАЛУЙСТА ПОМОГИТЕ…..!!!!
Имеется CD-RW Panasonic CW-7585 очень ну ОЧЕНЬ НУЖНЫ ДРАЙВЕРА !!!! Ходил на сайт производителя, но там ни чего не нашел. Может кто знает, где они лежат, а может у кого они есть, то не сочтите за труд скиньте на мыло pit-bool@rambler.ru. Зарание всем благодарен.

Отправитель: Ляпин Михаил
Вопрос отправлен: 02.03.2002, 01:25
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает BMR
Добрый день, Ляпин Михаил!

Посмотри http://ixbt.com/storage/panas7585.html есть много интересного и ссылки. Может поможет :)


Отправлено: 02.03.2002, 02:43
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 87)
Россия, Пенза

_______________

Отвечает Dzik
Приветствую Вас, Ляпин Михаил!
какие дрова!?
Ставь любую записывающую прогу(NERO,Easy CD-creator), а остальное ее проблемы!


Отправлено: 02.03.2002, 10:35
Отправитель: Dzik (регистрация: 15/02/2002, ответов на счету: 15)
URL: http://www.gamefort.km.ru - Разработка игрушек
Новосибирск

_______________

Отвечает Blackeye
Здравствуйте, Ляпин Михаил!
Глянь на www.driver.ru или www.driver.com


Отправлено: 02.03.2002, 17:00
Отправитель: Blackeye (регистрация: 15/02/2002, ответов на счету: 25)
URL: http://www.soft4master.h1.ru - Delphi, my programms...
Украина, Запорожье

_______________

Отвечает наСИльник
Добрый день, Ляпин Михаил!
Вот тебе ссылочка, а там выбирай сам что тебе надо:
http://www.nix.ru/drivers_list.html?key=5454


Отправлено: 02.03.2002, 18:27
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 17)
ICQ#114552395
Russia, Orsk

_______________

Отвечает Cardinal
Приветствую Вас, Ляпин Михаил!
Ты какие драйвера то имеешь в виду? Под сам CD-R?? Или что-бы писалось? На последний дров нет. Берешь одну из последних версий Nero и прочего варезного софта и только и под него записываешь. Необходимые дрова и проч. в них вшиты. Именно они распознают в твоем приводе пишущее устройство (или не распознают ;-) если версия старовата).


Отправлено: 06.03.2002, 07:56
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 38)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону

_______________

Отвечает Serik
Приветствую Вас, Ляпин Михаил!
У меня стоит такойже CD-RW и он является полноценным Plug&Pley
Устройством, тоесть драйвера он ставит сам как и большенство моделей этого типа!!! Обратитесь к тому у кого вы еого брали!!!


Отправлено: 06.03.2002, 23:48
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 49)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск




Форма отправки сообщения
(действительна до момента выхода следующего выпуска рассылки)

Заполните приведенную ниже форму для того, чтобы отправить вопрос. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.

В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.



 Персональные данные
Ваше имя:
Пароль (экспертам):
E-mail (подписчикам):
Опубликовать мой e-mail в рассылке


 Текст сообщения

Текст вопроса:

Приложение (если необходимо: программа, выдержка из закона и т.п.):



 Выбор подгруппы

Отправить всем экспертам выбранной подгруппы


SpyLOG be number one SUPERTOP

© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А.


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

В избранное