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

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


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

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

Выпуск № 458
от 01.01.2003, 13:50

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


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

Maverick
Статус: Профессиональный
Общий рейтинг: 139.81
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 114.74
URL: Мой сайтик...
[Подробней >>]
Traish
Статус: Опытный
Общий рейтинг: 128
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 151.95
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 121.55
URL: Страничка рассылки по Паскалю
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
LIFO
Статус: Профессиональный
Общий рейтинг: 120.27
URL: наш сайт
Телефон: 8 01710 24758
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 127.6
URL: моя рассылка по Protected Mode
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.04
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 117.28
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 113.86
[Подробней >>]
igorash
Статус: Профессиональный
Общий рейтинг: 114.97
Телефон: 8(903)251-86-01
[Подробней >>]
VicSimon
Статус: Начальный
Общий рейтинг: 103.68
[Подробней >>]
 
DiGiT[old]
Статус: Опытный
Общий рейтинг: 107.12
[Подробней >>]


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

Вопрос № 2276. Здраствуй, Maverick! 1.)Дошло ли к тебе мое переглюченное письмо, посланное в состоянии цифрового оп... (ответов: 1)
Вопрос № 2277. Здравствуйте, ув. эксперты :))) 1. Берем задачу поиска минимума... Ее можно решать, не сравнивая ... (ответов: 4)
Вопрос № 2278. Здравствуйте !!! Эксперты ! Чем больше я учу АСМ тем тру днее он становится... Разобрался в простых ... (ответов: 3)
Вопрос № 2279. Дано: NT/2K архитектура,драйвер на int 1.Как наиболее просто узнать причину вызова? Вариант с провер... (ответов: 1)
Вопрос № 2280. Доброе время суток Уважаемые эксперты! С наступающим вас всех новым годом и вас уважаемые подписчики... (ответов: 5)
Вопрос № 2281. Hi ! Много уважаемые эксперты как я могу в ДОСе проверить наличие съемных дисков (дискета, CD) в ком... (ответов: 3)
Вопрос № 2282. Люди добрые, помогите, please, кто может...никак не успеваю... Написать программу, определяющую режи... (ответов: 2)
Вопрос № 2284. Bob Johnson!Не так давно,Вы отправили одному из подписчиков лабораторные.Не затруднит ли Вас повтори... (ответов: 2)
Вопрос № 2285. Кинь мне свой мыл, вышлю тебе чижика.... (ответов: 1)
Вопрос № 2286. Hi ! У меня есть программа на ассемблере под ДОС для воспроизведения музыкальных дисков. Проблема в ... (ответов: 2)
Вопрос № 2287. Здравствуйте эксперты. В реальном режиме можно адресовать 1Мб. Тогда всего может быть использовано ... (ответов: 8)

Вопросов: 11, ответов: 32


 Вопрос № 2276

Здраствуй, Maverick!
1.)Дошло ли к тебе мое переглюченное письмо, посланное в состоянии цифрового опьянения?
2.)Если не дошло( а я его, козалося, не туда послал) то вот оно:
2.1)Классификация вирей есть на avp.ru, там я ее и сцапал.
2.2)Нет ли у тебя info про boot-вирусы?
2.3)Как вирус расшифруется для работы, елси он сам зашифрует шифровщик?
2.4)Как перемутационный вирус вычисляет адреса блоков?
2.5)В рассылке Калашникова вирь кидает себя в видеобуфер для облегчения работы с адресами. Это все так делают?
2.6)Как ни старался ни алгоритмов, ни объяснений в iнете я не нашел: либо голый сырец, либо статья как Васе замутить вирус двумя пальцами, либо вообще сопли абстракционизма. Ты обещал доков, а мне ничего не упало. ???
3.)Если письмо все-таки дошло, то, plz, прочитай и это тоже.
С Новым Годом,
DyC



Вопрос отправлен: 26.12.2002, 17:34
Отправитель: DyC

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

Отвечает Maverick

Приветствую Вас, DyC!
И тебя с новым годом и всех, всех, всех!!!
Я тебе скинул письмо, ответь, то письмо я получил.
Седня сделаю подборку доков и завтра скину.


Ответ отправлен: 26.12.2002, 17:54
Отправитель: Maverick


 Вопрос № 2277

Здравствуйте, ув. эксперты :)))

1. Берем задачу поиска минимума... Ее можно решать, не сравнивая текущий минимум с числом, а анализируя результаты логических операций над этими числами... Вопрос : а не изобрел ли я велосипед ? Может, эта задача уже так была решена ? Хотелось бы взглянуть на другие решения, если таковые есть...
2. К пункту 1 - Все это задумывалось ради того, чтобы не делать сравнения командой cmp... А даст ли замена одного cmp несколькими логическими операциями реальный прирост скорости выполнения ? Сколько байт занимает код cmp,and,or,xor,test...?
3. Команда sub ax,bx ... Если в ax бит 15 - 0, а в bx - 1, то что будет в результате ? Бит 15 - 1 и флаг OF=1 ?
4. Что такое дамп (dump) и с чем его едят ?
5. На тему книги Зубкова : Ее в электрушке нет потому, что всем в лом ее сканить или ДМК так круто копирайт хранит... ?

Спасибо заранее :)))



Вопрос отправлен: 26.12.2002, 21:13
Отправитель: Sslash (assem@ukr.net)

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

Отвечает Portnov

Здравствуйте, Sslash!
1) А черт те знает... Я вот был удивлен, когда случайно наткнулся на такую штуку:
Задача (изначально - по Паскалю): ввести с консоли два натуральных числа, и вывести сообщене, какое из них больше. При этом пользоваться ветвлением нельзя.
Интересно? А вот решение: max(a,b)=(a+b+abs(a-b))/2, min(a,b)=a+b-max(a,b), где abs - функция взятия модуля. Думаю, может вам помочь...
2) Нет, не даст. На процах 386+ - точно.
3) Не только бит 15, но и все остальные в AX будут =1, OF=0, но CF=1.
4) Дамп - это просто некоторое представление данных, обычно имеется ввиду шестнадцатеричное. Отладчиком пользовались? В окне данных он показывает дамп памяти.
5) х.з.
С уважением, Portnov.

Ответ отправлен: 27.12.2002, 14:00
Отправитель: Portnov


Отвечает Maverick

Здравствуйте, Sslash!
Ду маю на другие вопросы тебе ответят...
Вот так можно заменить cmp al,0
or al,al
jnz error
Это более оптимизировано.


Ответ отправлен: 27.12.2002, 07:08
Отправитель: Maverick


Отвечает Traish

Здравствуйте, Sslash!
2. В некоторых случаях.
3. Будут установлены флаги OF и CF. AX = 1111111111111111b.
4. Слепок участка памяти. Например,
...
eb 26 90 c2 e2 e5 e4 e8 f2 e5 20 e4 e2 e5 20 f8
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
...

Ответ отправлен: 27.12.2002, 16:22
Отправитель: Traish


Отвечает Bob Johnson

Добрый день, Sslash!
А чем тебе не нравится cmp? Сама по себе эта команда ничего плохого не делает и выполняется быстро. Вся проблема обычно в том, что после нее ставят условный переход, который уже портит все процессору.
Я думаю, что если ты заменишь jump на несколько команд типа and, or, add то будет только лучше, но ты ведь всегда можешь это проверить и сам. Напиши две реализации поиска минимума и сравни их.
Но вообще-то твою задачу давно уже решили разработчики. Они придумали команды CMOV (Conditional Move) - т.е. загрузка регистра будет выполнена только в случае выполнения заданного условия. Это бысто (т.к. не нарушает поток команд конвейера) и просто (т.к. не надо никаких sbb and и or), но работает только начиная с пня второго. Примерно тебе надо делать так:
cmp ax, bx
cmovl ax, bx
и все...


Ответ отправлен: 29.12.2002, 00:26
Отправитель: Bob Johnson


 Вопрос № 2278

Здравствуйте !!! Эксперты !
Чем больше я учу АСМ тем тру днее он становится... Разобрался в простых вещах появились новые и так далее...
вобщем всех вопросов не задать сразу, буду каждый день, или как получиться задавать вопросы, может многим будет интересно тоже ответы узнать...
Итак, я щас увлёкся устройствами разных осей, и пытаюсь сделать что-то своё..... Хотелось бы узнать чисто о прерываниях биоса и как юзать порты ввода вывода ( О ДОСЕ пока забудем ). Где взять список прерываний ? И ещё, как пользоваться командами xor, or & and ? пока я только знаю, что xor ax,ax обнулит регистр АХ..... И вообще, может кто нибудь тоже мучается с операционкой ? Давайте вместе мучаться... (А АСМ я учу только 2 месяца....)



Вопрос отправлен: 26.12.2002, 23:12
Отправитель: spaces (s-p-a-c-e-s@narod.ru)

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

Отвечает Maverick

Приветствую Вас, spaces!
А как ты можешь пытаться что-то сделать, если спрашиваешь элементарные вещи???
Ищи доку Ральфа Брауна, в инете пресс...
"Как пользоваться командами..." В каком смысле? В любой книге написано. Напиши мне, что конкретно тебе не понятно.
Порты: in,out и т.д. Нужно смотреть их описание и спомощью этих команд "разговаривать" с ними(портами).
В инете много проектов по созданию осей, вот и присоединяйся к ним.
P.S. АСМ не надо учить, его надо понимать.

Ответ отправлен: 27.12.2002, 07:08
Отправитель: Maverick


Отвечает Sensey

Доброе время суток, spaces!
Ищи Interrupl list Ральфа брауна - раз ...дцать отвечали.
Скачай TechHelp
На мыло выслал справку по командам.
ЗЫ Непрошенный, но может полезный совет: Погоджи заниматься ОС, возьми что полегче, например работу с графикой + мышь, простенький руссификатор, резиденты...


Ответ отправлен: 27.12.2002, 13:31
Отправитель: Sensey


Отвечает LIFO

Здравствуйте, spaces!
Не знаешь принципа действий логических команд , а уже операционки изучаешь.
Рано еще.
Ищи в инете Interrupt List.
И купи себе хороший учебник.

Ответ отправлен: 28.12.2002, 12:22
Отправитель: LIFO


 Вопрос № 2279

Дано: NT/2K архитектура,драйвер на int 1.Как наиболее просто узнать причину вызова? Вариант с проверкой на что кажет CS:EIP[0CDh/1] не подходит-заведомо не отвечает всем условиям,как то:
- в случае прерывания смотреть EFLAGS/TF в стеке,
- в случае DR'ов дыбать состояние,
- переключение,не помню уже. [кто знает?]
Что,все варианты так скопом и проверять?



Вопрос отправлен: 27.12.2002, 14:03
Отправитель: TheDeath (mic@online.sinor.ru)

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

Отвечает Broken Sword

Приветствую Вас, TheDeath!
Значит так. Делается это с помощью регистров DR6 и DR7. Смотри все возможные случаи:
1. Исполнение инструкции по адресу в DRn: Bn=1 и (GEn или LEn = 1) в DR6 и R/Wn=0 в DR7
2. Чтение/запись данных по адресу DRn: аналогично, только R/Wn=1 в DR 7
3. Чтение/запись в порты по адресу DRn: аналогично, только R/Wn=2 в DR7
ну и т.д.
4. В режиме пошаговой отладки (флаг BS=1 в DR6)
5. При переключ. задач (если в TSS новой задачи в EFLAGS стоит флаг T), то флаг BT=1 в DR6, могу кинуть эту доку
Учти, что читать регистры DR ты можешь только в реальном либо в нулевом режиме


Ответ отправлен: 27.12.2002, 23:35
Отправитель: Broken Sword


 Вопрос № 2280

Доброе время суток Уважаемые эксперты!
С наступающим вас всех новым годом и вас уважаемые подписчики!
Извините меня, пожалуйста, за такой вопрос, не знаю, у кого больше спросить.
Проблема у меня такая, когда я в браузере эксплорера набираю какой-нибудь адрес, то происходит следующее, сначала вставляется какой-то левый адрес, а потом уже идёт мой. Вот как это выглядит на примере с яндексом: "http://www.sexyque.com/cgi-bin/proliv/proliv.cgi?www.yandex.ru". Запускаю нортонантивирус, ничего, базу обновляю каждую неделю. Меня это стало уже сильно беспокоить. Пожалуйста, не оставьте этот вопрос без внимания, посоветуйте мне, как этого гада изловить.
Заранее благодарю. Рифат.



Вопрос отправлен: 27.12.2002, 14:40
Отправитель: Рифат (abriofh@mail.ru)

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

Отвечает vitya

Приветствую Вас, Рифат!
Знаком - с:)
В реестре найди такоы ключ, как default prefix
насколько я помню - это
\hkey_current_machinesoftwaremicrosoftinternet... и где-то там.
замени sexyque.com... и тд на простой http://


Ответ отправлен: 27.12.2002, 14:54
Отправитель: vitya


Отвечает Broken Sword

Здравствуйте, Рифат!
а нехрен было по порносервакам лазить! )
это никакой не вирус, просто ты когда то запустил с сайта непристойного содержания :) некоторую прогу, которая абсолютно безобидна, висит резидентом и перехватывает все твои обращения к уважаемому интернету. Вообщем, она либо в автозагрузке, либо в реестре где-то, а на будущее - не запускай с подобных серваков никаких прог и вообще нечего там лазить

Ответ отправлен: 27.12.2002, 19:49
Отправитель: Broken Sword


Отвечает Ayl

Доброе время суток, Рифат!
Когда ходишь на порнушные сайты, будь готов ко всяким неожиданностям :-) Типа, установки начальной страницы, автозагрузку левых приложений, подмену префикса и т.п.
Тебе нужно очистить ветку в реестре. Скопируй текст из приложения в файл, скажем, ie.reg и запусти его. Он скорректирует данные в реестре. И после очередного посещения сайта просто запускай этот файл.


Приложение:

Ответ отправлен: 30.12.2002, 12:50
Отправитель: Ayl


Отвечает St

Привет, Рифат!
Это происходит только когда набирается адрес без http://, да?
Тогда это нужно править реестр - ищите в regedit по F3 слова www.sexyque.com, и вы найдете то место, где хранятся подстановочные данные для случаев, когда набирается адрес без http://, ftp:// и тд. Так вот там http:// и заменен на
что-то вроде http://www.sexyque.com/cgi-bin/proliv/proliv.cgi, нужно исправить на исходное значение.
St

Ответ отправлен: 27.12.2002, 21:03
Отправитель: St


Отвечает Maverick

Приветствую Вас, Рифат!
Была у меня такая лажа, но я так и не разобрался что к чему, т.к. под виндой, я ноль. Переставил експлоер...
Если разберешся с причиной, то мыльни мне.


Ответ отправлен: 28.12.2002, 07:51
Отправитель: Maverick


 Вопрос № 2281

Hi !
Много уважаемые эксперты как я могу в ДОСе проверить наличие съемных дисков (дискета, CD) в комп? Меня интересует, какая функция может мне помочь проверить наличия диска до того как ДОС выдаст сообщение типа «устройство не готово, сброс, повтор …?».
Best regards
Alex.



Вопрос отправлен: 27.12.2002, 16:46
Отправитель: Alex (alexneta@aport2000.ru)

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

Отвечает Maverick

Доброе время суток, Alex!
По кодам ошибки от int 13h
В крайнем случае перехватывай int 24h, если все таки будет выводится. Хотя может есть и другие способы...

Ответ отправлен: 27.12.2002, 17:24
Отправитель: Maverick


Отвечает LIFO

Приветствую Вас, Alex
Наличие можешь определить через 1ch int 21h
Параметры накопителей - ah=8 int 13h
тип накопителя - ah=15 int 13h
регистр статуса, кот. хранит инфу об оборудовании при старте
0040:0010

Ответ отправлен: 28.12.2002, 12:08
Отправитель: LIFO


Отвечает Bob Johnson

Приветствую Вас, Alex!
Тут недавно как раз обсуждался этот вопрос - перехвати вектора прерываний int 23 и int 24. Одно вызывается в случае ошибки (типа что делать), другое - как обработчик.


Ответ отправлен: 29.12.2002, 00:26
Отправитель: Bob Johnson


 Вопрос № 2282

Люди добрые, помогите, please, кто может...никак не успеваю...
Написать программу, определяющую режим её выполнения: реальный или режим виртуального процессора. Выдать результат в виде строки (Dos-mode или VM-mode соответственно).



Вопрос отправлен: 27.12.2002, 19:03
Отправитель: Jakleen

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

Отвечает Broken Sword

Доброе время суток, Jakleen!
с новым годом

Приложение:

Ответ отправлен: 27.12.2002, 23:18
Отправитель: Broken Sword


Отвечает LIFO

Приветствую Вас, Jakleen!
Проверь первый бит в регистре CR0 - и все!

Ответ отправлен: 28.12.2002, 12:11
Отправитель: LIFO


 Вопрос № 2284

Bob Johnson!Не так давно,Вы отправили одному из подписчиков лабораторные.Не затруднит ли Вас повторить данное действие для очередного страждущего по адресу:portulak@online.ru



Вопрос отправлен: 28.12.2002, 04:43
Отправитель: portulak (portulak@online.ru)

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

Отвечает Bob Johnson

Добрый день, portulak!
Нет, а что, интерес к ним еще не упал? Если кому-то еще надо, то пишите...
Напоминаю, второе место в моей рассылке (т.е. среди того, что я отсылаю) занимает программа, исполняющая отрывок из "чижика" на ... дисководе 3"5'.


Ответ отправлен: 29.12.2002, 19:11
Отправитель: Bob Johnson


Отвечает Maverick

Приветствую Вас, portulak!
Внимание, вы уже, помоему, сотый получатель лаб Bob'а, наша организация дарит вам новогодний подарок, бесплатную подписку на рассылки RusFAQ!!!
Bob!!! А почему у меня чижик до сих пор в дисководе не чирикает??? :)
Если исходник есть, скинь плиз, хотя бы код.


Ответ отправлен: 28.12.2002, 07:50
Отправитель: Maverick


 Вопрос № 2285

Кинь мне свой мыл, вышлю тебе чижика.



Вопрос отправлен: 28.12.2002, 12:22
Отправитель: LIFO

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

Отвечает Maverick

Добрый день, LIFO!
Maverick@nightmail.ru
Спасибо.

Ответ отправлен: 28.12.2002, 14:33
Отправитель: Maverick


 Вопрос № 2286

Hi !
У меня есть программа на ассемблере под ДОС для воспроизведения музыкальных дисков. Проблема в том, что у меня нет драйверов под чистый ДОС для моей звуковой карты(VIBRA 128). Может, кто-нибудь подскажет, где можно найти драйвер под ДОС для звуковых карт? Варианты на сайте производителя и написать самому просьба не предлагать.
Best regards
alexneta.



Вопрос отправлен: 28.12.2002, 13:12
Отправитель: alexneta (alexneta@aport2000.ru)

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

Отвечает Bob Johnson

Приветствую Вас, alexneta!
Т.е. карта у тебя от Creative? Тогда драйвера на сайте производителя просто обязаны быть (www.soundblaster.com), только они могут не работать. Смотри внимательнее при установке - там должно быть что-то типа "DOS drivers". Это есть только в пакете драйверов под 9х (под ХР нет).


Ответ отправлен: 29.12.2002, 19:11
Отправитель: Bob Johnson


Отвечает igorash

Здравствуйте, alexneta!
А первые две ссылки на яндексе вели куда надо ;) Зайди на http://sky.net.ua и посмотри там.... там комплект дров для винды 9х и утилит для ДОСа, кстати дрова тебе скорее всего не нужны, вполне возможно, что хватит строчки в autoexec.bat вида SET BLASTER=A220 I5 D1 T4
А- порт ввода-вывода, I- прерывание, D- канал DMA, Т- не помню ;) но и без него должно пахать ;)
Да и вообще можно ведь воткнуть в разъем на сд-роме колонки и без всяких звуковух все слушать

Ответ отправлен: 28.12.2002, 13:38
Отправитель: igorash


 Вопрос № 2287

Здравствуйте эксперты.
В реальном режиме можно адресовать 1Мб.
Тогда всего может быть использовано 10FFEF адресов, т.к.
a <- max(сегмент) = FFFF0,
b <- max(смешение) = FFFF,
a + b = 10FFEF.
Так это или я нет...?



Вопрос отправлен: 28.12.2002, 13:41
Отправитель: kuper

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

Отвечает Ayl

Добрый день, kuper!
Так, так... То, что ты описал - это так называемая HMA - High Memory Area. Работает на процессорах, начиная с 286 (про 186 не уверен, я вообще про этот процессор почти ничего не знаю). Все дело в том, что хотя ты и можешь на 8086 задать сегмент и смещение так, как описал, но у самого процессора физически (!) 20-разрядная адресная шина и выставить 21-разрядный адрес он при всем желании не сможет! Поэтому произойдет "сворачивание" в первый сегмент (адрес 0:FFEFh). А на 286 процессоре уже 24-разрядная шина адреса. Соответственно, он теоритически способен корректно обработать данную запись. Но для этого должна быть разрешена 21-я адресная линия (т.н. линия A20).
Данный эффект был обнаружен при тестировании при записи некоей последовательности в некоторые порты. На ее основе был создан первый драйвер himem.sys. Теперь этот драйвер поставляется для каждого типа процессоров.
DOS, начиная с версии 5.0, умеет работать с этой областью, позволяя переносить туда часть ядра и загружать драйвера и резидентные программы. Винда также может использовать эту память в реальном режиме. Для защищенного режима она не имеет смысла, так как там совсем другая идеология формирования адреса.

Ответ отправлен: 30.12.2002, 13:11
Отправитель: Ayl


Отвечает Bob Johnson

Приветствую Вас, kuper!
Так точно.
За такой прикол отвечает заморочка с адресной шиной А20. В оригинальном 8086 было только 20 адресных шин (т.е. А0 - А19), т.е. если в нем возникал адрес больше FFFFF, то он его просто обрезал (т.е. как бы вычитал 100000). А вот когда появился 286 - там уже было больше адресных шин и для полной совместимости с 86 была возможность принудительно занулять А20. Сообщение об этом еще можно было встретить при загрузке. И в BIOS - типа А20 option.


Ответ отправлен: 29.12.2002, 19:11
Отправитель: Bob Johnson


Отвечает VicSimon

Приветствую Вас, kuper!
Да, правильно. Пространство адресов 100000-10FFEF называется Upper Memory Blocks (UMB), в эту область можно грузить часть MS-DOS (в версии, начиная с 5.0). Для этого используют HIMEM.SYS.


Ответ отправлен: 30.12.2002, 08:25
Отправитель: VicSimon


Отвечает igorash

Доброе время суток, kuper!
Угадал! ;)) 0FFFF0+0FFFF=10FFFE
Итого имеем кусочек в почти 64 кб выше 1 Мб под названием UMB.

Ответ отправлен: 28.12.2002, 14:19
Отправитель: igorash


Отвечает Sensey

Приветствую Вас, kuper!
Зависит от установки Gate20 в БИОСе. То есть делить ли линейный адрес по модулю 20


Ответ отправлен: 28.12.2002, 14:20
Отправитель: Sensey


Отвечает Broken Sword

Здравствуйте, kuper!
так да не совсем.
в реальном режиме может быть использовано 4 Гб виртуальных адресов (формата "сегмент:смещение"), т.е. от 0000:0000 до FFFF:FFFF
что составляет 1 Мб линейных адресов (формата "смещение"), т.е. от 00000 до 10FFEF, причем с тем условием, что линейные адреса старше 0FFFF доступны только при включенной линии А20. Т.ч. то что ты сказал - верно, и составляет линейное адр. пр-во процессора интел в реальном режиме (совпадает с физическим)

Ответ отправлен: 28.12.2002, 17:16
Отправитель: Broken Sword


Отвечает DiGiT[old]

Доброе время суток, kuper!
Не так... FFFFF адресов 20бит. Так как сегмент сдвигается на 4 бита влево и потом прибавляется смещение вот и получается
А все что больше 20бит не сможет адресоваться 20разрядной шиной.

Ответ отправлен: 29.12.2002, 04:27
Отправитель: DiGiT[old]


Отвечает Traish

Добрый день, kuper!
Не совсем так. Кроме основной памяти компьютер, как правило, имеет еще так называемую расширенную память. Она располагается за пределами первого Мб и начинается с 100000h. Объем этой памяти может доходить до 4 Гб. Первые 64 Кб (100000h - 10FFEFh) называются HMA (high memory area, если не ошибаюсь) и их можно использовать из реального режима, несмотря на то, что лежат за границей 1 Мб, но только если разрешить использование адресной линии A20.


Ответ отправлен: 29.12.2002, 14:52
Отправитель: Traish



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (39)
C / C++ (28)
Perl (5)
Delphi (21)
Pascal (22)
Basic / VBA (11)
Java / JavaScript (7)
PHP (4)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (33)
Windows NT/2000/XP (26)
"Железо" (30)
Поиск информации (14)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (14)
Юристу
Гражданское право (6)
Семейное право (3)
Трудовое право (3)
КоАП (2)

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




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

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


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

В избранное