Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 686
от 12.01.2004, 11:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4793 Отправлено ответов: 13536 Активность: 282.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 136.89 URL: Super Assembler Software Телефон: Пчёлка +7 905 6601206 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.42 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 146.78 URL: Программирование [Подробней >>] |
never_again Статус: Опытный Общий рейтинг: 127.09 [Подробней >>] |
Artemy Статус: Опытный Общий рейтинг: 117.42 Телефон: 8 905 549 38 66 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 107.85 URL: Мой сайтик... [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 106.12 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
VOVAN Статус: Начальный Общий рейтинг: 104.95 [Подробней >>] |
SedHg Статус: Доверительный Общий рейтинг: 116.24 [Подробней >>] |
Илья Статус: Профессиональный Общий рейтинг: 102.36 [Подробней >>] |
izLesa Статус: Начальный Общий рейтинг: 110.76 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.24 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4754. Уважаемые эксперты! Помогите с лабой- нужен резидент- ЭВМ при нажатии стрелки вправо реагирует как н... (ответов: 2)
Вопрос № 4755. Вот программа. В принципе она должна вводить с клавиатуры строку и выводить ее на экран.При исполь... (ответов: 4)
Вопрос № 4756. Поздравляю всех с Новым годом! Желаю участникам рассылки всего самого наилучшего. Хочу сказать ОГРОМ... (ответов: 1)
Вопрос № 4758. Уважаемые эксперты, вопрос в процедуре обработки диалогового окна пытаюсь вызвать API GetOpenFile... (ответов: 3)
Вопрос № 4759. end of scripts mov register,(address) mov (address1),register return P.S. It's ok ! Isn't it ? С Но... (ответов: 1)
Вопрос № 4760. Где можно найти в Интернете книгу Абеля (а можно и не только Абеля)? Толком нигде не нашел.... (ответов: 4)
Вопрос № 4761. Здравствуйте. Можно-ли перехватить ВП в Windows. Если да, то как.... (ответов: 2)
Вопрос № 4762. Здравствия усем! Можеь то побскажет как по-проще и поскорее делать "резидентный сторож". О... (ответов: 2)
Вопрос № 4764. Здравствуйте дорогие эксперты. Научите меня дурака как добовлять скрипт на сайт. А то я полный лох в... (ответов: 3)
Вопрос № 4765. Помогите разобраться в этом куске кода: ------------- begin ---------------- bits 16 org 100h sta... (ответов: 1)
Вопрос № 4766. Здравствуйте!Неудобно писать такие вещи в вашу рассылку, но другого выбора у меня нет. Я через рассы... (ответов: 2)
Вопросов: 11, ответов: 25
Вопрос № 4754 |
Уважаемые эксперты!
Помогите с лабой- нужен резидент- ЭВМ при нажатии стрелки вправо реагирует как на стрелку влево и наоборот, при нажатии стрелки вниз как на стрелку вверх и наоборот
Вопрос отправлен: 05.01.2004, 19:57
Отправитель: alex
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, alex!
Попробуй
мою программу переделать ;-)
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 05.01.2004, 20:56
Отправитель: Евгений Иванов
Отвечает Ayl
Доброе время суток, alex!
А какая помощь требуется?
Тебе требуется написать обработчик прерывания 9. Это аппаратное прерывание от клавиатуры, которое генерируется при любом нажатии или отпускании клавиши. При этом в порт 60h записывается скен-код нажатой клавиши.
Твой обработчик должен выглядить так:
1. Получить скен-код клавиши
2. Проверить, не является ли он скен-кодом одной из стрелочек
3. Если не стрелка - вызвать старый обработчик
4. Послать подтверждение контроллеру клавиатуры о принятии скен-кода
5. Произвести замену принятого скен-кода на нужный
6. Записать код в очередь нажатых клавиш
7. Послать подтверждение контроллеру прерываний о завершении процедуры обработки
8. Выйти из процедуры обработки
Не забудь сохранить все используемые регистры и восстановить их перед выходом.
В приложении - примерный код обработчика.
Приложение:
Ответ отправлен: 06.01.2004, 12:07
Отправитель: Ayl
Вопрос № 4755 |
Вот программа. В принципе она должна вводить с клавиатуры строку и выводить ее на экран.При использовании обычной переменной , например объявленной тамже Stroka все работает идеально, а при использовании одного из полей струтуры(тамже объявлена) не работае т.помогите пожалуйста.если эта прога заработает все мои проблемы закончатся.
заранее спасибо
stud struc
fam db 255 dup(?)
im db 30 dup(?)
stud ends
dseg segment
max db 255
len db ?
stroka db 255 dup(?)
db ?
ent db 13,10,'$'
s1 stud <>
dseg ends
stseg segment stack
db 60 dup (0)
stseg ends
codseg segment
assume cs:codseg, ds:dseg, ss:stseg
begin:
mov ax, stseg
mov ss,ax
mov ax,dseg
mov ds,ax
mov ah,0ah
lea dx,max
int 21h
mov bl,len
mov bh,0
mov [bx+s1.fam+1],'$'
lea dx,ent
mov ah,09h
int 21h
lea dx, s1.fam
int 21h
mov ah, 4ch
int 21h
codseg ends
end begin
Вопрос отправлен: 05.01.2004, 20:10
Отправитель: Влад
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, Влад!
надо ещё копировать строку перед выводом:
mov si, offset stroka
lea di,[(type stud s1).fam]
movzx cx,[len]
jcxz @@no_1
rep movsb
@@no_1:
mov al,'$'
stosb
Бывай!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 05.01.2004, 21:22
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Добрый день, Влад!
Так ты же не скопировал сам текст в структуру, только добавил '$'. Сделай
push ds
pop es
mov si, offset stroka
mov di, offset s1.fam
mov cx, bx
rep movsb
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 06.01.2004, 02:31
Отправитель: Bob Johnson
Отвечает never_again
Доброе время суток, Влад!
mov ah,0ah
lea dx,max ; Ну и кто так делает?
; dx должен указывать на буфер,
; а у тебя он на что указывает?
int 21h
кроме того. буфер должен быть определённым образом подготовлен:
смещение размер описание
---------------------------
00h BYTE макс. кол-во символов в буфере.
01h BYTE (при вызове) макс. кол-во символов при
последнем вводе которое можно вызвать
ещё раз.
(возвращает) кол-во действительно
прочитаных символов исключаю CR
02h N BYTEs место под строку включая CR.
Ответ отправлен: 06.01.2004, 10:53
Отправитель: never_again
Отвечает Artemy
Доброе время суток, Влад!
попробуй написать вместо...
mov [bx+s1.fam+1],'$'
что-то типа...
mov [bx+(offset s1.fam)+1],byte ptr '$'
и ещё...
ты в какой буфер строку вводишь?
Нужно вводить туда, откуда потом выводить будешь и
не забудь, что в первом байте буфера должна быть макс.
длина вводимой строки и выводить нужно тоже с учетом этого.
Ответ отправлен: 06.01.2004, 11:53
Отправитель: Artemy
Вопрос № 4756 |
Поздравляю всех с Новым годом!
Желаю участникам рассылки всего самого наилучшего.
Хочу сказать ОГРОМНОЕ СПАСИБО всем за вопросы и ответы а также
участнику рассылки MUD за его ссылки на трехтомник Кнута причем
в новом издании да еще в таком рульном формате как дежавю,
где почти 700 страниц текста как два бита об асфальт
влезают в 6 метров. Может кто знает ссылки на другие
тома "Исскуство программирования" Кнута. И если не
трудно плз. поделитесь ссылочкой.
Заранее благодарен за ответы 1!
Вопрос отправлен: 05.01.2004, 21:12
Отправитель: 1 (privat-soap@list.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Добрый день, 1!
1. Не понял, что в этом формате такого рульного... 1стр. текста обычно считается 2Кб. Итого 700х2 = 1.4Мб. Ну плюс картинки, таблицы... Так что 6Мб - это, по-моему, максимум... Да, кстати, это вообще формат текстовый, графический или как?
2. Какие вам другие тома? Я так помню, что он на три тома ссылки дал. Тома 4 и 5 Кнут планирует к выпуску никак не раньше середины 2004-2005 года. Причем том 4 будет состоять из трех книг (какждая размером с первый том). Также планируются к выпуску тома 6 и 7, но это вообще неизвестно когда.
С уважением, Portnov.
Ответ отправлен: 06.01.2004, 10:21
Отправитель: Portnov
Вопрос № 4758 |
Уважаемые эксперты, вопрос в процедуре обработки диалогового окна пытаюсь вызвать API GetOpenFileName и определяю структуру OPENFILENAME как локальную
LOCAL ofn:OPENFILENAME
в итоге при срабатывание контрола приложение вышибает с ошибкой в kernel32 но если я ту-же структуру определяю как глобальную в секции .data или .data? то все нормально диалоговое окно выскакивает, с чем это может быть связано , и почему структуру нельзя объявлять локально...
Заранее благодарен.
Вопрос отправлен: 06.01.2004, 13:45
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Доброе время суток, greg!
Так ведь нет никакой разницы между тем, объявил ты ее локально или глобально... Может быть ты просто в случае, когда объявляешь локально, неправильно передаешь указатель на нее??? И еще, если компилируешь TASMом, то в нем есть глюк, он не всегда корректно работает с локальными переменными и параметрами процедур (наталкивался пару раз). Загрузи в отладчик, и посмотри, соответствует ли скомпилированный код тому, что ты хотел сделать...
Ответ отправлен: 06.01.2004, 14:27
Отправитель: Gibbel
Отвечает Евгений Иванов
Здравствуйте, greg!
много нюансов
исходник давай.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 06.01.2004, 14:37
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Приветствую Вас, greg!
Можно. Но при этом:
1. Инициализировать ее надо непосредственно перед вызовом.
2. Чтобы передать ее адрес надо написать, например:
lea eax, [@@LocalStruct]
push eax
Т.к. простой offset в этой ситуации хоть и не выдает ошибки, но работать не может (локальные перменные определены относительно регистра ebp, а команды
push ebp + n нет).
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:35
Отправитель: Bob Johnson
Вопрос № 4759 |
end of scripts
mov register,(address)
mov (address1),register
return
P.S. It's ok ! Isn't it ?
С Новым Годом !!!
Happy New Year !!!
Приложение:
Вопрос отправлен: 06.01.2004, 14:30
Отправитель: MPA
[Следующий вопрос >>] [Список вопросов]
Отвечает VOVAN
Здравствуйте, MPA!
yes it is
example:
mov bx,1111h
mov cs:[bx],ax; movs register ax to the address, witch
;consists of curent_segment:1111h
good luck!!!
Ответ отправлен: 06.01.2004, 15:07
Отправитель: VOVAN
Вопрос № 4760 |
Где можно найти в Интернете книгу Абеля (а можно и не только Абеля)? Толком нигде не нашел.
Вопрос отправлен: 06.01.2004, 18:05
Отправитель: Sedric (eiv.ivan@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает SedHg
Добрый день, Sedric!
Тут тебе и Абель, тут тебе и многое другое - asm.shadrinsk.net
Хотя ошибок в книге Абеля - вагон и маленькая тележка,
это связано, скорее всего, с переводом.
Ответ отправлен: 06.01.2004, 20:08
Отправитель: SedHg
Отвечает Илья
Добрый день, Sedric!
>Толком нигде не нашел
Так чего "Толком" ищешь? Ищи яндексом или гуглом ;) На яндексе при запросе "Абель + ассемблер" выдало несколько рабочих ссылок на книгу, как в он-лайн варианте, так и для скачивания.
Если не найдешь, попроси, на мэйл скину.
Приложение:
Ответ отправлен: 06.01.2004, 19:34
Отправитель: Илья
Отвечает VOVAN
Приветствую Вас, Sedric!
http://lib.nexter.ru/book/a/ABEL_E01.zip
Ответ отправлен: 07.01.2004, 12:13
Отправитель: VOVAN
Отвечает Bob Johnson
Доброе время суток, Sedric!
У меня на странице есть - http://bobjohnson.nm.ru
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:35
Отправитель: Bob Johnson
Вопрос № 4761 |
Здравствуйте.
Можно-ли перехватить ВП в Windows.
Если да, то как.
Вопрос отправлен: 06.01.2004, 21:39
Отправитель: Pawel
[Следующий вопрос >>] [Список вопросов]
Отвечает izLesa
Добрый день, Pawel!
Если я правильно понял, то ВП - это вызов прерываний?
Еслм да, о перехватить их в Винде нельзя, т.к. они скрыты и предоставляется доступ только к функциям WinAPI, которые в своих недрах и вызывают прерывания, насколько я понимаю.
Так что Вам придётся именно их мониторить.
Пока! [labZ]izLesa
Ответ отправлен: 07.01.2004, 11:23
Отправитель: izLesa
Отвечает Bob Johnson
Доброе время суток, Pawel!
Что такое ВП? Какое-то прерывание? Можно, но для этого надо писать драйвер.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:35
Отправитель: Bob Johnson
Вопрос № 4762 |
Здравствия усем!
Можеь то побскажет как по-проще и поскорее делать "резидентный сторож".
Он должон при удалении какого-то файла с дискеты - востанавливать его.
Вопрос отправлен: 06.01.2004, 22:07
Отправитель: Denis (mikelangello@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает izLesa
Доброе время суток, Denis!
Хм. Смотря на какой файловой системе будет работать твой сторож. Самое реальное это FAT, т.к. он обнуляет таблицу расположения файлов, а не удаляет сами файлы.
Поэтому мониторишь прерывание, которое отвечает за удаление, и потом юзаешь функции низкоуровнего чтения/записи к винчестеру.
Пока![labZ]izLesa
Ответ отправлен: 07.01.2004, 11:28
Отправитель: izLesa
Отвечает Artemy
Доброе время суток, Denis!
Вешай свой обработчик на функцию 41h 21го инта и перед удалением сохраняй файл в какую-нибудь временную папку.
Ответ отправлен: 08.01.2004, 10:09
Отправитель: Artemy
Вопрос № 4764 |
Здравствуйте дорогие эксперты. Научите меня дурака как добовлять скрипт на сайт. А то я полный лох в этом деле. Заранее спасибо.
Вопрос отправлен: 08.01.2004, 05:04
Отправитель: Слава (slavacomb@tagnet.rЗ)
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Приветствую Вас, Слава!
Вы желаете делать это на ассемблере? Не советую. Попробуйте просто скопировать в папку с сайтом скрипты и проставить где надо в php.ini или что там у вас и соответственно в Apache
Ответ отправлен: 08.01.2004, 08:39
Отправитель: vitya
Отвечает izLesa
Здравствуйте, Слава!
Скрипт то на каком языке? Если на Perl то кидать все скипты
надо в папку cgi-bin и вначале каждого проверить строку по типу этой:
#!/bin/perl
У некоторых хостеров она другая. Если нужно, то изменяй. Она указывает серверу(например Apache) где находится интерпритатор.
Если же скрипт PHP, то всё на много проще. Просто помещаете файл туда где все html-файлы находятся, только незабудте сделать расширение .php, а то они не будут интерпритироватся. Более подробно можно посмотреть у хостера в FAQ. Там должно быть написано об этом.
Пока! [labZ]izLesa
Ответ отправлен: 08.01.2004, 14:19
Отправитель: izLesa
Отвечает Bob Johnson
Доброе время суток, Слава!
Так ты уже кажется спрашивал это...
В любой ситуации - вопрос слишком общий, да в добавок еще и не по теме...
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:36
Отправитель: Bob Johnson
Вопрос № 4765 |
Помогите разобраться в этом куске кода:
------------- begin ----------------
bits 16
org 100h
start mov al, 0x13
cmc
inc dx
int 0x10
push word 0xa000
pop es
pix mul bx
inc ax
add ax, di
adc [si], bx
div word [si+12]
clp fmul dword [si]
fiadd word [si]
fistp word [bx]
sub ax, 130
xchg ax, [bx]
xor cx, ax
fild word [bx]
fmul st0
xor bx, bp
xchg ax, dx
fxch st1
jnz clp
faddp st1, st0
fsqrt
fdivr dword [si]
fild word [bx]
fild word [bp]
fpatan
salc
xchg ax, cx
or al, 0x87
stosb
jmp short pix
------------- end ----------------
Буду очень благодарен, если объясните, для чего применена каждая из команд в этом коде. Я сам ничего не понял. Помогите, плииз...
Вопрос отправлен: 08.01.2004, 10:46
Отправитель: valyala (valyala@tut.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Доброе время суток, valyala!
какая-то демка графическая
но ты вопросы задавай!
ты думаешь, мы понимаем, что она делает?
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.01.2004, 14:55
Отправитель: Евгений Иванов
Вопрос № 4766 |
Здравствуйте!Неудобно писать такие вещи в вашу рассылку, но другого выбора у меня нет.
Я через рассылку познакомилась с человеком по имени Сергей Каримов.
Сергей, если ты где-то тут, прошу тебя, напиши Гному, а то я просто потеряла твой адрес и не знаю, как теперь тебя искать по-другому. Спасибо рассылке!
Вопрос отправлен: 08.01.2004, 11:29
Отправитель: Гном (Punkygnom@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Доброе время суток, Гном!
Серёга! Ответь девушке! А вдруг она та единственная!!!
Ответ отправлен: 08.01.2004, 20:58
Отправитель: never_again
Отвечает Евгений Иванов
Приветствую Вас, Гном!
Если будет свадьба, меня пригласите? ;-)
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.01.2004, 15:19
Отправитель: Евгений Иванов
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (25) C / C++ (19) Perl (5) Builder / Delphi (20) Pascal (21) Basic / VBA (3) Java / JavaScript (5) PHP (13) Криптография (7) WinAPI (13) |
Пользователю Windows 95/98/Me (41) Windows NT/2000/XP (58) "Железо" (29) Поиск информации (21) |
Администратору Windows NT/2000/XP (29) Linux / Unix (11) |
Юристу Гражданское право (13) Семейное право (9) Трудовое право (10) КоАП (9) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||