Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 742
от 19.06.2004, 20:40
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5482 Отправлено ответов: 14980 Активность: 273.2 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Ayl Статус: Профессиональный Общий рейтинг: 116.71 [Подробней >>] |
rmf Статус: Доверительный Общий рейтинг: 123.26 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 105.24 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 134.06 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
n0name Статус: Начальный Общий рейтинг: 113.33 [Подробней >>] |
VOVAN Статус: Опытный Общий рейтинг: 105.5 [Подробней >>] |
Dragoon Статус: Доверительный Общий рейтинг: 108.09 [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 109.49 [Подробней >>] |
Стас Статус: Опытный Общий рейтинг: 129.83 [Подробней >>] |
bocha Статус: Опытный Общий рейтинг: 150.73 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5442. Здравствуйте, ЭКСПЕРТЫ ! Пожалуйста напишите мне текст проги для вывода на экран хотя бы одного пик... (ответов: 2)
Вопрос № 5444. Здраствуйте. Многие эксперты говорят читай Windows DDK, Windows SDK, RTFM, MSDN...(и это не одно и т... (ответов: 3)
Вопрос № 5445. Здравствуйте уважаемые эксперты. Хотел бы задать вам вот такой вопрос: где можно скачать самые свеж... (ответов: 1)
Вопрос № 5446. Доброе время суток , уважаемые эксперты. Изучал я намедни защищённый режим процессоров интел. И возн... (ответов: 1)
Вопрос № 5447. Привет, Как организовать паузу в проге : CODESG segment assume CS:CODESG org 100h MAIN proc xor AL,A... (ответов: 3)
Вопрос № 5448. test... (ответов: 1)
Вопрос № 5451. Здравствуйте уважаемые эксперты! Подскажите пожайлуста простой способ генерации ip адресов. Я могу с... (ответов: 1)
Вопрос № 5452. Привет всем. Благодарю Стаса за его добрату и терпения! ;) и ещё маленький вопросик: Не как не получ... (ответов: 1)
Вопрос № 5453. Подробности к вопросу № 5452. Стас, пробовал вот так: .data Text dd xz Buf dd ? .code invoke recv,cl... (ответов: 1)
Вопрос № 5454. Здравствуйте! По следующему адресу http://www.wasm.ru/article.php?article=unusualboot находится стат... (ответов: 1)
Вопрос № 5455. Пишу что-то подобное брутфорса, но с перебором ip адресов :) Мне нужно сгенерить случайный ip. Хотел... (ответов: 1)
Вопрос № 5460. Здравствуйте! Нужно написать програмку, запрещающую запуск файлов (это и .txt, и .exe и вообще любые... (ответов: 1)
Вопрос № 5461. Доброе время суток, уважаемый n0name. Я пишу по поводу вопроса № 5445, о win32api help.Спасибо, коне... (ответов: 1)
Вопрос № 5462. Уважаемые эксперты. Подскажите принцип использования видеопамяти (для отображения графики) на Ассемб... (ответов: 1)
Вопрос № 5464. Здравствуйте! Подскажите, пожалуйста, зачем регистр ebp используется для кадра стека, почему нельзя ... (ответов: 4)
Вопрос № 5465. Доброго времени суток! Объясните, пожалуйста, что такое нижняя память и почему ей выделяется 640Kb. ... (ответов: 3)
Вопросов: 16, ответов: 26
Вопрос № 5442 |
Здравствуйте, ЭКСПЕРТЫ !
Пожалуйста напишите мне текст проги для вывода на экран хотя бы одного пикселя(MS-DOS, любой режим)…
Если это возможно…
С нетерпением жду ответа!
Спасибо,
Вопрос отправлен: 10.06.2004, 14:37
Отправитель: Serega
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Добрый день, Serega!
В Приложении - вывод точки разными цветами в режиме 13h (320*200*256 цветов)
Приложение:
Ответ отправлен: 11.06.2004, 13:13
Отправитель: Ayl
Отвечает rmf
Доброе время суток, Serega!
http://www.kalashnikoff.ru/issues.exe
Ответ отправлен: 10.06.2004, 14:46
Отправитель: rmf
Вопрос № 5444 |
Здраствуйте.
Многие эксперты говорят читай Windows DDK, Windows SDK, RTFM, MSDN...(и это не одно и тоже?)
А что лучше-то себе взять?
Вопрос отправлен: 11.06.2004, 09:29
Отправитель: Семен
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Приветствую Вас, Семен!
DDK - комплект документации по разработке драйверов.
SDK - комплект документации по созданию программ.
RTFM - Read the f***ing manual (прочти замечательную документацию :-) )
MSDN - Microsoft Software Development Network - продукт Microsoft, содержащий в себе огромное количество информации по программированию с использованием всех технологий Microsoft.
Ну и, на всякий случай, API - Application Programming Interface - набор функций, используемый при создании программ (например, WinAPI - функции Windows).
Ответ отправлен: 11.06.2004, 10:09
Отправитель: Gibbel
Отвечает Евгений Иванов
Доброе время суток, Семен!
ВСЁ!
û
весь мир нужен, чтобы его понять.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 11.06.2004, 14:23
Отправитель: Евгений Иванов
Отвечает n0name
Приветствую Вас, Семен!
WinDDK - Windows Driver Development Kit(руководство по написанию драйверов)
WinSDK - Windows Software Development Kit(руководство по написанию софта)
RTDM - Read This F**ken Manual(прочитай это руководство)
MSDN - Microsoft Develpment Network(описание API, структур)
Ответ отправлен: 13.06.2004, 18:06
Отправитель: n0name
Вопрос № 5445 |
Здравствуйте уважаемые эксперты.
Хотел бы задать вам вот такой вопрос: где можно скачать самые свежие хэлп файлы по win32 api. Те файлы которые идут с Delphi меня не устраивают, уж больно старые они, а хотелось бы чегонить свеженьково.
Большое спасибо.
Вопрос отправлен: 11.06.2004, 12:22
Отправитель: Арт
[Следующий вопрос >>] [Список вопросов]
Отвечает n0name
Приветствую Вас, Арт!
зайди на msdn.microsoft.com
Ответ отправлен: 13.06.2004, 18:06
Отправитель: n0name
Вопрос № 5446 |
Доброе время суток , уважаемые эксперты.
Изучал я намедни защищённый режим процессоров интел. И возник у меня такой вопрос: На сколько я понял , возможны лишь два режима адресации памяти(я имею ввиду ,конечно, в защищённом режиме). Первый называеться сегментированная адресация, а второй называеться страничной адресацией. На сколько я понял, всеми либые Win32 используют второй способ адресации, и используют лишь два кольца защиты, нулевое(ядро), и третье(приложения). Но вот я только никак не пойму, ведь страничная адресация основанна всётаки на сегментированной адресации, т.е. фундаментальна, всётаки сегментированная адресация(извиние за маразм, который я несу). Почему же всётаки их различают эти два вида адресации?
Большое спасибо, что прочитали эту чушь...
Вопрос отправлен: 11.06.2004, 12:33
Отправитель: Арт
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Сегментирование в основе, да.
Страничность может быть включена или выключена и просто добавляет новые возможности по доступе к памяти и защите.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 11.06.2004, 21:11
Отправитель: Евгений Иванов
Вопрос № 5447 |
Привет,
Как организовать паузу в проге :
CODESG segment
assume CS:CODESG
org 100h
MAIN proc
xor AL,AL
mov BH,40h
mov CH,5
mov CL,10h
mov DH,10h
mov DL,3Eh
mov AH,6
int 10h
mov ax,4c00h
int 21h
MAIN endp
CODESG ends
end MAIN
чтобы результат её выполнения остался на экране хотя бы на несколько секунд…
Эта прога заканчивает свою работу автоматически. Если капельку переделать её, то она будет завершаться после PRESS ANY KEY. Но, увы, мне это не нужно…
Вопрос отправлен: 11.06.2004, 19:37
Отправитель: Serega
[Следующий вопрос >>] [Список вопросов]
Отвечает VOVAN
Добрый день, Serega!
читай таймер по адресу 60:4с, прибавляй нужную задержку
(18 - секунда), читай в цикле, сравнивая с полученным значением. Когда будет больше или равно - выходишь из цикла!
Ответ отправлен: 12.06.2004, 18:47
Отправитель: VOVAN
Отвечает Dragoon
Приветствую Вас, Serega!
Используй прерывание задержки.
Приложение:
Ответ отправлен: 14.06.2004, 18:56
Отправитель: Dragoon
Отвечает Евгений Иванов
Приветствую Вас, Serega!
sub ah,ah
int 22
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 11.06.2004, 21:12
Отправитель: Евгений Иванов
Вопрос № 5448 |
test
Вопрос отправлен: 11.06.2004, 19:40
Отправитель: test
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
success ;)
Ответ отправлен: 12.06.2004, 21:07
Отправитель: Dark_Lord
Вопрос № 5451 |
Здравствуйте уважаемые эксперты!
Подскажите пожайлуста простой способ генерации ip адресов.
Я могу сгенерить числа от 1-255 потом отделять через ".", но это как-то долго и не удобно.
Спасибо заранее!
Вопрос отправлен: 12.06.2004, 18:49
Отправитель: Zveryuga
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Добрый день, Zveryuga!
Задачу надо ставить кокретнее.
В каком виде у тебя IP адреса, для каких целей?
Например для использования в программе лучше использовать DWORD, а для ввода с клавы/вывода на экран прийдется работать с символьной строкой.
Что подразумеваешь под генерацией? Последовательный перебор или генерацию случайного числа?
А по сути все равно все сведется к тому, чтобы "генерировать" (или инкрименировать) 4 числа и ставить между ними точку.
Ответ отправлен: 12.06.2004, 20:31
Отправитель: Стас
Вопрос № 5452 |
Привет всем.
Благодарю Стаса за его добрату и терпения! ;)
и ещё маленький вопросик:
Не как не получается сравнить данные.
.data
Text db "xz",0
Buf dd ?
.code
invoke recv,client,offset Buf,sizeof Buf,0
invoke lstrcmp,offset Text,offset Buf
cmp eax,0
jz _sovpal
p.s. я понимаю что lstrcmp сравнивает текст, а то что в Buf'e - это байты, но и с cmpsb не заработало..
Вопрос отправлен: 12.06.2004, 19:04
Отправитель: Flashik
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Здравствуйте, Flashik!
Offtopic: И тебе спасибо! Приятно слышать.
Значить по теме: продемонстрируй как ты это делал через CMPSB.
А то я в виндах не очень.
Ответ отправлен: 12.06.2004, 20:07
Отправитель: Стас
Вопрос № 5453 |
Подробности к вопросу № 5452.
Стас, пробовал вот так:
.data
Text dd xz
Buf dd ?
.code
invoke recv,client,offset Buf,sizeof Buf,0
mov cx, 2
lea si, Text
lea di, Buf
repe cmpsb
jne _nesovpadaet
Вопрос отправлен: 12.06.2004, 20:33
Отправитель: Flashik
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Доброе время суток, Flashik!
Во первых, дебаггером проверял? Что, где, почему?
Во вторых, неплоходы перед CMPSB сделать CLD, и удостовериться что ES=DS.
Ну и в третьих, для сравнения всего 4 байт не нужен CMPSB.
Сделай так MOV EAX,[text]; CMP EAX,[Buf].
Ответ отправлен: 13.06.2004, 11:57
Отправитель: Стас
Вопрос № 5454 |
Здравствуйте!
По следующему адресу http://www.wasm.ru/article.php?article=unusualboot находится статья о нестандартном
загрузчике. По моему там ошибка из-за которой программа не работает.Ошибка состоит в том, что во фрагменте
a 7CFE
200E:7CFE DB 55,AA
200E:7E00
за адресом 7CFE следует адрес 7E00 хотя должен 7D00
В программе есть ссылки на адрес 7E00 я пробовал их исправить, но программа все-равно не работает.
Подкажите, пожалуйста, как сделать чтоб программа стала работать.
С ув.
Роберт
Вопрос отправлен: 12.06.2004, 21:21
Отправитель: Robert
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Здравствуйте, Robert!
Специально проверил - все работает.
Ты просто не правильно чтото набрал.
Что бы разобраться ты бы описал как именно не работает.
Ошибка когда после 7cfe у него идет 7e00 ни на что не влияет.
Менять в программе ничего не надо. Действительно, адрес по которому грузится бутсектор 7c00h + 200h (512 байт 1 сектор)=7e00h, где должна распологаться программа вывода сообщения Sector 2 на экран.
Так что это твоя ошибка.
Единственное что меня удивило это то что программа WB.COM на один раз. Попробовал и все. Забыл. Так зачем её вообще было писать, если можно было считать бут сектор, перенести код в него, изменить первый (7c00) JMP и записать его обратно на дискету не выходя из дебаггера несколькими командами...
Ответ отправлен: 13.06.2004, 22:07
Отправитель: Стас
Вопрос № 5455 |
Пишу что-то подобное брутфорса, но с перебором ip адресов :)
Мне нужно сгенерить случайный ip. Хотел узнать - есть ли простой способ решения этой задачи?
Вопрос отправлен: 12.06.2004, 22:44
Отправитель: Zveryuga
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Добрый день, Zveryuga!
Алгоритмы получения случайного числа были здесь (в рассылке) совсем недавно.
Получаешь случайное DWORD и вперед! Готовый IP.
Токо вот есть правила по которым эти IP делаются...
Ну да это фигня! :)
Ответ отправлен: 13.06.2004, 12:35
Отправитель: Стас
Вопрос № 5460 |
Здравствуйте! Нужно написать програмку, запрещающую запуск файлов (это и .txt, и .exe и вообще любые другие файлы, задающиеся пользователем). Как определить, что пользователь хочет просмотреть текстовый файл или запустить outlook? Как узнать, что пользователь хочет просмотреть содержимое папки? Ведь делается это как-то в FolderGuard и ему подобным программам! Если можно, то поподробнее пожалуйсто.
Вопрос отправлен: 14.06.2004, 16:41
Отправитель: GHopper (gh_trash@bk.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает n0name
Приветствую Вас, GHopper!
Я бы предложил перехват API-функций.
Реализацию смотрите http://dragonteam.nm.ru/Docs/F_HideModule.htm
Ответ отправлен: 14.06.2004, 18:26
Отправитель: n0name
Вопрос № 5461 |
Доброе время суток, уважаемый n0name. Я пишу по поводу вопроса № 5445, о win32api help.Спасибо, конечно, что ответил, но, там куда ты меня послал ничего нет.
Вопрос отправлен: 15.06.2004, 09:56
Отправитель: Арт
[Следующий вопрос >>] [Список вопросов]
Отвечает n0name
Приветствую Вас, Арт!
Я к сожалению не сохранил текст твоего вопроса.
Напиши мне на мыло markamer@mail.ru
Ответ отправлен: 15.06.2004, 10:17
Отправитель: n0name
Вопрос № 5462 |
Уважаемые эксперты. Подскажите принцип использования видеопамяти (для отображения графики) на Ассемблере под ДОС. Режим экрана 640*480 True color. Программа запускается под ДОС-расширитель DOS32A. Если можно поподробнее, например как этот режим (640*480*True color) установить способом, подходящим для большинства адаптеров SVGA, как вычислить адрес конкретного пикселя в памяти по известным координатам. Режим памяти - flat, использован DOS-расширитель.
Вопрос отправлен: 15.06.2004, 16:20
Отправитель: qawsed
[Следующий вопрос >>] [Список вопросов]
Отвечает bocha
Доброе время суток, qawsed!
У Зубкова есть пример с подробными комментариями.
Ответ отправлен: 15.06.2004, 17:43
Отправитель: bocha
Вопрос № 5464 |
Здравствуйте! Подскажите, пожалуйста, зачем регистр ebp используется для кадра стека, почему нельзя обойтись без него. Хотя бы в двух словах.
Вопрос отправлен: 15.06.2004, 20:04
Отправитель: Alexander
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Alexander!
Почему нельзя? Можно. Если ты сам прогу пишешь на асме. А при использовании ЯВУ компилятор для процедур и функций формирует пролог и эпилог, локализуя используемые переменные. А так как для динамической поддержки локаций требуется динамическая же область памяти, то и используется аппаратный стек. А регистр bp (ebp) используется только потому, что он по умолчанию связан с сегментом стека, т.е. уменьшается размер программы и увеличивается скорость ее выполнения. В винде вызовы функций API также предполагают использование кадра стека.
Ответ отправлен: 16.06.2004, 13:58
Отправитель: Ayl
Отвечает Стас
Доброе время суток, Alexander!
Почему невозможно? Можно и без него.
Но удобнее использовать кадр.
Ответ отправлен: 15.06.2004, 23:06
Отправитель: Стас
Отвечает bocha
Добрый день, Alexander!
Если функция не имет аргументов, не использует локальные переменные, то можно спокойно обойтись и без базы. В противном случае, в ebp мы сохраняем текущую вершину стека, и от нее отсчитываем аргуметы (ebp+) и локальные переменные (ebp-), выделяем при этом память под локальные переменные простым уменьшением вершины стека на нужное количество байт. Дальше нет необходимости отслеживать, сколько же байт выделено под стековые переменные, перед выходом из функции, восстанавливаем вершину стека простым mov ebp, esp; Можно конечно обойтись и без этого всего, но это уже форменный мазохизьм получится (вылезет геморой, jпа сплющится, разобъешь все пальцы и клаву, и в конце концов попадешь в Желтый дом из-за бессонных ночей, в течение которых пытался вычислить, на каком же уровне вложенности потерял вершину стека, и наконец начал бится головой о стену, после того, как понял, что потеря случилась совершенно в другой процедуре, а стена оказалась крепче, чем можно было предположить:).
Ответ отправлен: 16.06.2004, 00:45
Отправитель: bocha
Отвечает Евгений Иванов
Добрый день, Alexander!
Переключатель сегмента SS используется по умолчанию для EBP.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 17.06.2004, 13:44
Отправитель: Евгений Иванов
Вопрос № 5465 |
Доброго времени суток!
Объясните, пожалуйста, что такое нижняя память и почему ей выделяется 640Kb.
1.Она берется от физической оперативной памяти?
2.И что в ней хранится?
Хотя бы в двух словах, или ссылку киньте.
Большое спасибо, в том числе за предыдущие ответы!
Вопрос отправлен: 15.06.2004, 20:34
Отправитель: Alexander
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Alexander!
Ноги растут от IBM PC и ее карты памяти.
Т.к. адресная шина процессоров Intel 8086/8088 была 20-разрядной, то с ее помощью можно было адресовать 1Мб памяти: от 00000 до FFFFF.
Так как вместе с ОЗУ надо было адресовать ПЗУ, то чтобы не усложнять схему ПЗУ отображалось на ОЗУ на старшие адреса, а именно на сегмент F000. Т.о. от общей памяти "откусывались" 64К для ПЗУ.
Сегмент E000 зарезервирован для дополнительный модулей ПЗУ.
Адреса от C8000 до DFFFF отводятся для загрузочных картриджей.
Видеопамять занимает адреса от A0000 до BFFFF.
Начиная с процессора 386 и MS DOS 5.0 неиспользуемая видеокартой и расширителями ПЗУ память между адресами A0000 и EFFFF может быть использована как UMB - Upper Memory Block.
Т.о., для ОЗУ остается пространство от 0 до 9FFFF, т.е. 640К.
Но эти 640К не полностью доступны для хранения программ. Во-первых, 1К памяти, начиная с адреса 0, отводится для хранения значений 256 векторов прерываний (4 байта на каждое прерывание). 256 байт за таблицей векторов занимает область данных BIOS.
При работе под DOS сразу же за областью переменных BIOS располагаются переменные DOS, IO.SYS, API DOS, буфера и драйверы устройств для DOS, резидентная часть COMMAND.COM. Далее находятся резидентные программы, загружаемые из файлов CONFIG.SYS и AUTOEXEC.BAT. И только после них находится область, доступная для запуска программ.
Ответ отправлен: 16.06.2004, 14:34
Отправитель: Ayl
Отвечает n0name
Добрый день, Alexander!
640 - макс колво оперативной памяти, которое может использоваться в реальном режиме. Это обычная оперативка.
Ответ отправлен: 15.06.2004, 20:55
Отправитель: n0name
Отвечает Стас
Добрый день, Alexander!
Когда-то, давным давно, процессор 8086 мог адресовать всего 1024K байта, т.е. адреса были 20 битными. Тогда умные люди думали что больше никогда не будет, да и не надо никому. Вот и придумали архитектуру PC когда первые 640K отводятся для программ, а после 640K шла видео память, потом разные прибамбасы, и БИОС. Потом эти люди поняли свою ошибку, но было уже поздно. И тогда назвали они эту память нижней. А в верхней разместили еще кучу лабуды вроде кадров для отображения кадров памяти, той, что больше 1Mбайта. UMB всякие и др. Вообщем примерно так...
Ответ отправлен: 15.06.2004, 23:26
Отправитель: Стас
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (22) C / C++ (12) Perl (1) Builder / Delphi (15) Pascal (21) Basic / VBA (4) Java / JavaScript (4) PHP (13) Криптография (9) WinAPI (11) Радиоэлектроника (9) |
Пользователю Windows 95/98/Me (36) Windows NT/2000/XP (51) "Железо" (30) Поиск информации (14) |
Администратору Windows NT/2000/XP (29) Linux / Unix (12) |
Юристу Гражданское право (12) Семейное право (8) Трудовое право (10) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||