Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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 |
Отписаться
Убрать рекламу |
В избранное | ||