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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 374
от 25.09.2002, 00:30

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1333
Отправлено ответов: 4163
Активность: 312.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Biv
Статус: Доверительный
Общий рейтинг: 122.72
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 157.06
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 131.08
URL: Моя страничка
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 134.19
URL: моя рассылка по Protected Mode
[Подробней >>]
Kiss
Статус: Доверительный
Общий рейтинг: 138.09
[Подробней >>]
igorash
Статус: Профессиональный
Общий рейтинг: 119.52
[Подробней >>]
 
ASMодей
Статус: Опытный
Общий рейтинг: 123.41
[Подробней >>]
Bob Johnson
Статус: Доверительный
Общий рейтинг: 140.38
[Подробней >>]
Sinner
Статус: Доверительный
Общий рейтинг: 105.96
[Подробней >>]
 
Portnov
Статус: Профессиональный
Общий рейтинг: 120.98
URL: Мой сайтик...
[Подробней >>]
LIFO
Статус: Опытный
Общий рейтинг: 134.12
Телефон: 8 01710 24758
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 134.35
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1284. Здрасте! Пытаюсь я форматировать дорожку,только ниче не выходит. Выдает ошибку A. Кто знает как норм... (ответов: 1)
Вопрос № 1285. Помогите найти толковое описание программирования PNP, устройств PCI, USB и т.п. на самом низком уро... (ответов: 2)
Вопрос № 1286. >>Насчет SEH - давай мыло куда слать (там немного, килов 120). Подкинь плиз.... (ответов: 1)
Вопрос № 1287. >>Скачай драйвер студию 2.7 и не мучайся, там с ХР, >>говорят, нормально работает все Поделись плиз ... (ответов: 1)
Вопрос № 1288. Мы пишем игру и нам очень нужны люди умеющие рисовать и программировать. Подробная информация здесь:... (ответов: 2)
Вопрос № 1290. ААААААА!!!!!! Это снова Я Андрей то бишь. Если у вас есть heiw6.76 or 6.81, работающие, то вышлете м... (ответов: 1)
Вопрос № 1291. Привет перцы! Не могли бы Вы, уважаемые Эксперты, подкинуть мне описание формата дескриптора шлюза в... (ответов: 3)
Вопрос № 1292. Здравствуйте, эксперты! Есть кусок кода: ... static int nCharWidth; ... case WM_CHAR: ... (ответов: 5)
Вопрос № 1293. Здравствуйте все. Обращаюсь и к экспертам и к подписчикам. У меня три вопроса. Один в тему, один не ... (ответов: 5)
Вопрос № 1294. Уваж. эксперты, у меня вот какой вопрос m=0 irp mon,<Январь,Февраль,Март,Апрель,....,Декабрь> month&... (ответов: 2)
Вопрос № 1295. Здраствуй masquer >>Скачай драйвер студию 2.7 и не мучайся, там с ХР, >>говорят, нормально работает ... (ответов: 1)
Вопрос № 1296. Доброе время суток Dark_Lord! я подписался на рассылку программирование под win на asm, но первый и ... (ответов: 1)

Вопросов: 12, ответов: 25


 Вопрос № 1284

Здрасте!
Пытаюсь я форматировать дорожку,только ниче не выходит.
Выдает ошибку A.
Кто знает как нормально форматировать напишите.
з.с.
Куда должны указывать ES:BX?



Вопрос отправлен: 19.09.2002, 16:42
Отправитель: Byter

[Следующий вопрос >>] [Список вопросов]

Отвечает Biv

Доброе время суток, Byter!
Насколько я понимаю твою фразу про ошибку, ты имеешь в виду ошибку с номером 0Аh так? Этот код говорит о том, что обнаружен флаг дефектного сектора.
ES:BX указывае на буфер с информацией для форматирования.
Эта информация записывается в заголовки секторов на требуемой дорожке без проверки на допустимость. При использовании данной функции необходимо следить за корректностью этой информации, иначе BIOS в дальнейшем не сможет обратиться к секторам, имеющим неверный формат заголовка. На каждый сектор в буфере отводится 4
байта в следующем порядке:
C - номер цилиндра (с 0)
H - номер головки (с 0)
R - номер сектора (с 1)
N - размер сектора:
0 - 128 байт
1 - 256 байт
2 - 512 байт
3 - 1024 байта
и т. д.
Таким образом буфер для стандартной разметки дорожки 0
цилиндра 0 для работы в MS DOS должен занимать в длину 36 байт и содержать следующие данные:
0 0 1 2 ; заголовок сектора 1
0 0 2 2 ; 2
0 0 3 2 ; 3
0 0 4 2 ; 4
0 0 5 2 ; 5
0 0 6 2 ; 6
0 0 7 2 ; 7
0 0 8 2 ; 8
0 0 9 2 ; 9
Параметры команды контроллера при выполнении данной функции
берутся из таблицы параметров дискеты (на нее указывает вектор 1Eh) и при необходимости могут быть изменены вручную. Однако следует заметить, что невозможно с помощью этой функции создать на одной дорожке сектора разного размера, так как физический размер сектора берется из таблицы параметров дискеты и указывается контроллеру в команде форматирования один раз. Если вы укажете в заголовке сектора в поле для размера одному сектору 3, а другому 5, то на самом деле их физическая длина будет
одинаковой, а в заголовке будет содержаться неверная информация.
Если дисковод поддерживает более одного типа дискет (например форматы 360 Кбайт и 1.2 Мбайта для 5-дюймовых дисководов на АТ), перед форматированием необходимо воспользоваться функциями 17h и 18h для задания правильного типа дискеты и правильной таблицы параметров дискеты, иначе ваша дискета будет отформатирована с использованием таблицы параметров, обеспечивающей максимальную емкость носителя.
Для жестких дисков:
ES:BX указывает на 512-байтный буфер, первые 2*(число секторов) байт которого заняты под информацию о секторах по 2 байта на каждый сектор. Первый байт = 0 - нормальный сектор, 80h - дефектный сектор. Второй байт задает номер сектора (с 1). Фактор чередования (interleave factor) задает расстояние между секторами с последовательными номерами на дорожке. При факторе чередования, равном, например, 3, сектор с номером 2
будет на дорожке не сразу следовать за сектором с номером 1. Между ними будут находиться 2 сектора с другими номерами и он будет третьим. Более подробно о факторе чередования можно прочитать в книге "Архитектура ввода-вывода", изданной в этой же серии.
На AT и других ПЭВМ, не использующих фактора чередования, а использующих в качестве параметра буфер с информацией для заголовков секторов, вы должны самостоятельно проимитировать какой-либо фактор чередования, не меньший, чем 3. Наличие большого фактора чередования несколько замедляет работу с
диском, однако фактор меньший, чем 3, резко повышает вероятность сбоев при выполнении операций обмена с диском.
Пример части буфера (для одной дорожки) для диска, имеющего 17 секторов на дорожке и фактора чередования 3:
db 00h,01h,00h,07h,00h,0Dh,00h,02h,00h,08h,00h,0Eh
db 00h,03h,00h,09h,00h,0Fh,00h,04h,00h,0Ah,00h,10h
db 00h,05h,00h,0Bh,00h,11h,00h,06h,00h,0Ch
И еще по поводу форматирования с установкой флага "Дефектная дорожка":
Фн 06h - Форматирование дорожки жесткого диска с установкой флага "Дефектная дорожка"
Вход: AH = 06H
AL - фактор чередования
CH и 2 старших бита CL - номер цилиндра
DH - номер головки
DL - номер устройства
Выход: СF=1 - ошибка
AH - код завершения операции
Описание: Функция предназначена для форматирования дорожки жесткого диска на ХТ с записью в заголовок каждого сектора информации о том, что этот сектор является дефектным. На AT, XT-286, PC Convertible и PS/2 функция не реализована.

Ответ отправлен: 19.09.2002, 21:17
Отправитель: Biv


 Вопрос № 1285

Помогите найти толковое описание программирования PNP, устройств PCI, USB и т.п. на самом низком уровне (без ОС и BIOS), а также описание FAT32, NTFS, CDFS (тоже на низком уровне). Желательно русское, но можно и английское. Заранее спасибо.



Вопрос отправлен: 19.09.2002, 16:59
Отправитель: Alex (pateralex@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, Alex!
см. nondot.org

Ответ отправлен: 19.09.2002, 22:06
Отправитель: masquer


Отвечает Pablo

пџяЂпёпІпµя‚яЃя‚пІяѓяЋ п’п°яЃ, Alex!
пќп° яЌя‚пѕпј яЃп°п№я‚пµ пµяЃя‚яЊ пІяЃяЏя‡пµяЃпєпёпµ яЃпїпµя†пёя„пёпєп°я†пёпё пё я„пѕяЂпјп°я‚я‹ www.wotsit.org, п° я‚п°пєп¶пµ пµяЃя‚яЊ пЅп° яЃп°п№я‚пµ пјпµп»пєпѕяЃпѕя„я‚п°.

Ответ отправлен: 21.09.2002, 16:41
Отправитель: Pablo


 Вопрос № 1286

>>Насчет SEH - давай мыло куда слать (там немного, килов 120).
Подкинь плиз.



Вопрос отправлен: 19.09.2002, 21:28
Отправитель: Valera

[Следующий вопрос >>] [Список вопросов]

Отвечает Broken Sword

Доброе время суток, Valera!
Прикалываешься да? )
ящик давай...

Ответ отправлен: 19.09.2002, 22:34
Отправитель: Broken Sword


 Вопрос № 1287

>>Скачай драйвер студию 2.7 и не мучайся, там с ХР, >>говорят, нормально работает все
Поделись плиз ссылкой.



Вопрос отправлен: 19.09.2002, 21:30
Отправитель: Valera

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, Valera!
я качал на сайте wzor.net - но это сайт не для всех. Еще можно попробовать http://21softs.com/download/softice.htm

Ответ отправлен: 19.09.2002, 22:10
Отправитель: masquer


 Вопрос № 1288

Мы пишем игру и нам очень нужны люди умеющие рисовать и программировать. Подробная информация здесь:
http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=Projects;action=display;num=1027766572
А теперь вопрос:
существуют ли какие-либо мало документированные либо вовсе недокументированные инструкции? И где можно взять хотя бы какую нибудь информацию о них?



Вопрос отправлен: 20.09.2002, 08:07
Отправитель: hуch

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Здравствуйте, hуch!
Смотри на сайте Dr. Dobb's Journal - http://www.ddj.com/
Хотя зачем это вам - непонятно, скорости они не прибавят, а геморроя могут добавить

Ответ отправлен: 20.09.2002, 08:29
Отправитель: masquer


Отвечает Broken Sword

Доброе время суток, hуch!
Это та которая 18 мая уснула?
недокументированных официально нет, или почти нет. Например, для x8088 есть инструкция 0Fh - pop cs, а в таблице опкодов для нее пустой квадратик. Но на 286 она уже не канает.
http://www.x86.org/ - смотри тута.


Ответ отправлен: 20.09.2002, 09:09
Отправитель: Broken Sword


 Вопрос № 1290

ААААААА!!!!!!
Это снова Я Андрей то бишь.
Если у вас есть heiw6.76 or 6.81, работающие,
то вышлете мне тока 4 файла edump.$$$, edump32.$$$,
hiew.$$$, hiew32.$$$, только без $$$ , а нормально работающие!!!!
sbtr@mail.ru



Вопрос отправлен: 20.09.2002, 12:07
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Приветствую Вас, Andrey!
Открывать ТОЛЬКО 3-м раром, пароль - твое мыло. Пролежит на выходных, потом потру.
www.sdsgn.pochtamt.ru/hiew.rar

Ответ отправлен: 20.09.2002, 22:40
Отправитель: masquer


 Вопрос № 1291

Привет перцы!
Не могли бы Вы, уважаемые Эксперты, подкинуть мне описание формата дескриптора шлюза в защищённом режиме ?
Буду очень благодарен.
ЗЫ пиво пошлю по факсу
Dr00py89


Приложение:


Вопрос отправлен: 20.09.2002, 13:27
Отправитель: Dr00py89 (stepipatov@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Kiss

Добрый день, Dr00py89!
Ну ты загну, лучше пива пришли!


Ответ отправлен: 21.09.2002, 09:44
Отправитель: Kiss


Отвечает Biv

Приветствую Вас, Dr00py89!
В виду того, что описалово содержит табличку, лови по мылу!


Ответ отправлен: 20.09.2002, 17:05
Отправитель: Biv


Отвечает Broken Sword

Приветствую Вас, Dr00py89!
Всего есть 4 вида шлюзов: прерывания, ловушки, вызова и задачи.
Шлюз прерывания и шлюз ловушки похожи, как братья близнецы:
биты 0-15 - смещение (младшая часть)
биты 16-31 - селектор
биты 32-36 - резерв.
биты 37-39 - нули
биты 40-42 - тип (7 для ловушки и 6 для прерывания)
бит 43 - разрядность
бит 44 - ноль
биты 45-46 - уровень привилегий дескриптора
бит 47 - бит присутствтия сегмента
биты 48-63 - смещение (старшая часть)
Шлюз вызова отличается от первых двух полем тип (=6), и биты 32-36 содержат количество передаваемых параметров процедуре

Шлюз задачи:
биты 0-15 - резерв
биты 16-31 - селектор TSS
биты 32-39 - резерв
биты 40-42 - тип (5)
биты 43-44 - нули
биты 45-46 - уровень привилегий дескриптора
бит 47 - бит присутствия сегмента
биты 48-63 - резерв

Приложение:

Ответ отправлен: 20.09.2002, 15:36
Отправитель: Broken Sword


 Вопрос № 1292

Здравствуйте, эксперты!
Есть кусок кода:
...
static int nCharWidth;
...
case WM_CHAR:
ch = (TCHAR) wParam;
HideCaret(hwndMain);
hdc = GetDC(hwndMain);
GetCharWidth32(hdc, ch, ch, &nCharWidth);
TextOut(hdc, nCaretPosX, nCaretPosY * dwCharY,&ch, 1);
ReleaseDC(hwndMain, hdc);
return 0;
Почему не работает функция GetCharWidth32 (возвращает в nCharWidth всегда 0)?



Вопрос отправлен: 20.09.2002, 17:12
Отправитель: EraSer (eraser99@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает igorash

Приветствую Вас, EraSer!
Ты случайно не видел на главной паге рассылки по С++???


Ответ отправлен: 20.09.2002, 18:24
Отправитель: igorash


Отвечает masquer

Здравствуйте, EraSer!
Ну раз взял из МСДН, то и пиши как там, я в С не слишком, может из-за несоответствия типов TCHAR и UINT?

Ответ отправлен: 20.09.2002, 22:51
Отправитель: masquer


Отвечает ASMодей

Здравствуйте, EraSer!
А при чем здесь рассылка по ассемблеру?


Ответ отправлен: 21.09.2002, 09:54
Отправитель: ASMодей


Отвечает Bob Johnson

Здравствуйте, EraSer!
В твоей программе на вид все правильно. Не могу точно сказать про функцию GetCharWidth32, т.к. у меня Windows 98 (а она поддерживается только NT), поэтому попробуй использовать GetCharWidth или GetCharABCWidths. Последнюю я сам неоднократно использовал - она гарантировано работает (только тебе придется сложить значения - см. MSDN).


Ответ отправлен: 21.09.2002, 17:36
Отправитель: Bob Johnson


Отвечает Kiss

Добрый день, EraSer!
Чувак это че за язык? Ты не туда попал!


Ответ отправлен: 20.09.2002, 19:46
Отправитель: Kiss


 Вопрос № 1293

Здравствуйте все.
Обращаюсь и к экспертам и к подписчикам. У меня три вопроса. Один в тему, один не очень и один вообще не в тему, но может кто-нибудь поможет. Очень надо.
1. Чем можно получить исходник, который затем можно скормить Tasm'у? Пробовал w32dasm, но получилась фигня.
2. У кого-нибудь есть принтеры HP DeskJet 656C или 920C или 940C? Или может кто знает какие-нибудь подводные камни у этих принтеров? В принципе, есть возможность приобресть струйник, хотелось бы получить много умных советов по этому поводу.
3. Кто знает где (в сети) можно продать эти вещи http://web.host.kz/maxe/index.html. В смысле выгодно. Кроме eBay (там никто не знает, что я что-то продаю, а рекламы нет)
Буду рад любой информации.
Макс



Вопрос отправлен: 20.09.2002, 17:59
Отправитель: Макс (maxe@mail.kz)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, Макс!
1. Попробуй IDA Pro.
2. У меня дома 930С больше года, на работе 940С - отличные машинки, никаких ни проблем, ни нарекений нет, качество печати (особенно на спецбумаге) и скорость на высоте.

Ответ отправлен: 20.09.2002, 22:45
Отправитель: masquer


Отвечает Kiss

Здравствуйте, Макс!
Ну исходники пиши хоть в блокноте потом расширение только указывай когда тасмиш и все. А по другим вопросам помочь не могу!


Ответ отправлен: 21.09.2002, 09:42
Отправитель: Kiss


Отвечает Sinner

Приветствую Вас, Макс!
1. IDA + ручки...
2. У хьюлеттов расходники дорогие...
3. ???

Ответ отправлен: 20.09.2002, 21:40
Отправитель: Sinner


Отвечает Portnov

Здравствуйте, Макс!
1.IDA (InteractiveDisassembler) вполне удобоваримый для Tasm'а код выдает. Попрорбуйте ее.
С уважением, Portnov.

Ответ отправлен: 21.09.2002, 13:10
Отправитель: Portnov


Отвечает LIFO

Приветствую Вас, Макс!
Можно с помощью Ida


Ответ отправлен: 21.09.2002, 14:28
Отправитель: LIFO


 Вопрос № 1294

Уваж. эксперты, у меня вот какой вопрос
m=0
irp mon,<Январь,Февраль,Март,Апрель,....,Декабрь>
month&m db "&mon&$"
m=m+1
endm
То есть чтобы было
month0 db "Январь$"
month1 db "Февраль$"
.......
month11 db "Декабрь$"
tasm почему-то пишет monthm уже определена (tasm /m3 /z)
Как мне это сделать?



Вопрос отправлен: 20.09.2002, 20:07
Отправитель: Merilyn Manson

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Merilyn Manson!
У меня получилось вот так:
db_month macro m_num, m_name
month&m_num db "&m_name&$"
endm
m = 0
irp mon, <январь, февраль>
db_month %m, mon
m = (m + 1)
endm


Ответ отправлен: 21.09.2002, 17:36
Отправитель: Bob Johnson


Отвечает Broken Sword

Здравствуйте, Merilyn Manson!
нада local имя переменной
(см. как в приложении)


Приложение:

Ответ отправлен: 20.09.2002, 21:37
Отправитель: Broken Sword


 Вопрос № 1295

Здраствуй masquer
>>Скачай драйвер студию 2.7 и не мучайся, там с ХР, >>говорят, нормально работает все
>>Поделись плиз ссылкой.
>Отвечает masquer
>Доброе время суток, Valera!
>я качал на сайте wzor.net - но это сайт не для всех. Еще >можно попробовать http://21softs.com/download/softice.htm
А не поделишся опытом как залесть на wzor.net... Там спрашивают пароль а его можно узнать только в ИРКе:(( Какая технология получения логина/рассворда ??
С ув. Валера.



Вопрос отправлен: 20.09.2002, 21:54
Отправитель: Valera

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Приветствую Вас, Valera!
используешь mirc, заходишь на irc.wondernet.nu, дальше на канал #wzor.pass. Если твой провайдер не забанен, получаешь логин/пароль. Он просто меняется постоянно.

Ответ отправлен: 20.09.2002, 22:36
Отправитель: masquer


 Вопрос № 1296

Доброе время суток Dark_Lord!
я подписался на рассылку программирование под win на asm,
но первый и второй урок помоему не успел получить :-(,
если не трудно закачайте на мыло или укажите адрес где можно скачать, т.к. последующие уроки крутятся вокруг проги которой у меня нет!



Вопрос отправлен: 21.09.2002, 00:29
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает Dark_Lord

Здравствуйте, Andrey!
Зайдите в архив рассылки, находящийся на http://win.subscribe.ru/archive/comp.prog.assembler/ , моя часть рассылки начинается с 25-ого августа! Сообщите мне Ваш адрес, тогда я смогу выслать Вам примеры!
И ещё, просьба писать мне на мыло:
Dark_lord@RusFAQ.ru
или
Dark_Lord@land.ru!

Ответ отправлен: 21.09.2002, 11:24
Отправитель: Dark_Lord



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (29)
Perl (7)
Delphi (15)
Pascal (24)
Basic / VBA (12)
Java / JavaScript (10)
PHP (7)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (31)
"Железо" (37)
Поиск информации (14)
Администратору
Windows NT/2000/XP (17)
Linux / Unix (17)
Юристу
Гражданское право (10)
Семейное право (4)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное