Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Описание относится к 16 битному асму для DOS.
 
Я на VC 16.0 (MS SDK v7.1) собирал.
Есть смысл использовать текущие версии компиляторов, так как старые версии ничего не знают о современных процессорах, и не умеют оптимизировать под них код. Да и ошибки исправляются с каждой версией.
Не видев проект немогу ничего другого посоветовать.
 
Проект?!
В Studio собираешь, чтоли? Всё, что я выше писал, относится к Microsoft Windows SDK v7.1 командной строке.

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 12:18 15-03-2013 | Исправлено: ne_viens, 13:07 15-03-2013
inf158704

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да я это понял тепер насчет линковки, спасибо вам за помощ
свои глупые мисли по ходу работы собираю здесь
http://forum.shelek.ru/index.php/topic,28935.0.html
суда обратился имено по поводу асемблера спасибо за помощ всем

Всего записей: 923 | Зарегистр. 21-08-2011 | Отправлено: 15:03 15-03-2013
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
http://forum.shelek.ru/index.php/topic,28935.0.html

 
Аа, теперь понял суть проблемы.

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 15:39 15-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос:
К примеру у нас IBM совместимая машина, но у нее на борту 1МБайт памяти типа EPROM с записанным BIOS-ом. По архитектуре памяти IBM PC первые 640КБайт памяти отведено под:
1. Вектора прерываний (1024 Байт)
2. ....
3. ....
4. Память для загрузки ядра MS DOS
5. ....
 
Вопрос, если первый Мегабайт отведен под BIOS? да еще и типа EPROM, то куда будет грузиться MS DOS ???
Иными словами, отличается ли карта памяти старых машин IBM PC от новых, хотя везде написано что карта памяти одинакова начиная от 8086/8088 до Pentium 4 ???

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 01:09 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так биос то не весь 1й мб занимает, а только старшие (верхние те) 64-128 кб, а то и меньше учите матчасть...

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 10:16 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, но микросхема типа EPROM размера 1МБайт, т.е. не записываемая, куда же будет грузиться DOS или такого размера микросхем EPROM памяти в старых машинах не было ???

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 12:00 21-03-2013
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у тебя винт на 500 гиг, куда будет грузится винда есть памяти оперативной 512 мб?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:05 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В память будет грузиться, винт на 500гиг относится к пространству ввода/вывода, ... К чему вопрос ???? Я спрашиваю про распределение памяти в реальном режиме, занимает ли микросхема памяти BIOS-а все адресное пространство в реальном режиме или я не доконца что-то понял ???

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 12:12 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Во1х, микросхем биос размером 1 мб тогда, конечно, не было.
Во2х, даже если бы биос занимал 1 мб - никаких проблем не было бы, тк дос во время инициализации машины не нужен.
В3х, после инициализации биос сам себя обрезает и перемещает в старшие адреса, тч проблем опять таки нет.
И в4х, начиная с 286, биос размещается и запускается в старших адресах выше 1го мб, и может занимать сколько ему нужно, совершенно незаметно систем реального режима.
Учите матчасть, наконец!

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 12:52 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
То есть как я понял это происходит методами страничной адресации ????
 
Добавлено:
То есть меня интересует механизм ...)

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 13:01 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет, это не методы страничной адресации, хотя на более новых машинах есть и убогий биос защищенного режима. Просто под дос выделено первые 640 кб адресов, минус служебные несколько кб в самом начале, которые вы перечислили, и это не биос! Биос в том виде, в котором он используется прикладным окружением, располагается выше этих 640 кб, и даже выше служебных областей видеокарты.

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 13:31 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А в какой литературе можно про это почитать ????

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 13:48 21-03-2013
VGrad



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Вопрос, если первый Мегабайт отведен под BIOS? да еще и типа EPROM, то куда будет грузиться MS DOS ???  

Ссылка

Всего записей: 59 | Зарегистр. 25-04-2006 | Отправлено: 14:29 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я не про это ))) Про то какими методами происходит адресация к биос размером больше 1МБайта ????

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 14:36 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если проц 386 - то биос может спокойно быть любого размера, если же младше, или если нужен реальный режим - то сегментация, как и в обычных программах реального режима.
 
Добавлено:
В реальном режиме есть лимит на размер одного куска биос в 128 кб, так что больше этого биос реального режима не бывает...
В защищенном режиме, понятное дело, подход иной, да и биос там обычно не нужен, а чаще его там и нет

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 15:42 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да но каким образом откусывается кусок памяти 128кБ, како механизм лежит в основе отображения именно этого куска памяти ????? Это делает железо, контроллер портов или процессор по определенному алгоритму обращается именно с этими ячейками памяти ????

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 16:07 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redradist, а, вон оно что...
На очень старых машинах, по этим адресам располагалось физическое ПЗУ - те микросхема с прошивкой, к которой были физически подведены адресные линии, отображающие ее в этот кусок.
В чуть более новых железках, когда уже появились более жирные чипы, могущие программно мапить адреса на разные линии, а так же ограничивать возможность записи по ним, процессоры стали биос стартовать из ПЗУ, и потом записывать его в верхние адреса ОЗУ и закрывать туда запись. Это называется BIOS Shadow Copy. Естественно, что после настройки железяк и завершения процедуры инициализации нет необходимости записывать всю копию ПЗУ в ОЗУ, потому биосы уже давно конструируют свой видимый код реального режима (это то, что мы как раз и называем биосом, обращаясь к нему из приложений) из многих модулей динамически, складируя их по верхним адресам. Например, при выключенной сетевой карте нет нужды записывать кусок, отвечающий за ее работу, поэтому размер занятой БИОС памяти в верхних адресах при переключении сетевухи может различаться.
 
Добавлено:
Т.о. это железо северного моста отвечает за разделение доступа к адресам...

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 16:52 21-03-2013 | Исправлено: MERCURY127, 16:53 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так уже понятнее, а можно ссылочку на литературнее источники, чтобы углубиться в исследование этого вопроса ???? (книги там и т.д.) Буду весьма признателен ...

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 17:30 21-03-2013
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эээ... А насколько глубоко нужно углубится?
Если can you read in English - читайте RBIL и TECH Help!.
Если нет, то увы, на русском языке я это не читал... Поищите что нибудь выпуска конца 80х - начала 90х годов.
 
Добавлено:
вот еще наковырял... http://www.whitetown.com/ru/misc/ng/asm/
 
Добавлено:
Ну а если вам таки надо самые, кхм, основы чипсетоманипулирования - то читайте документацию на сайтах Интел/Амд... но к ассемблеру это уже не имеет отношения

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 17:55 21-03-2013
redradist

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все что имеет отношение к железу компьютера имеет отношение и к процесСсору ... так как самые интересные программы можно написать только представляя архитектуру и все возможности системы для которой пишешь эту программу ... дальше по уровню абстракции все проще но уже и возможности ограничены языком программирования )))
Углубиться хочу глубоко, так чтобы разбираться во всех тонкостях аппаратуры на уровне железа с возможностью написания программ под эту аппаратуру естественно )

Всего записей: 11 | Зарегистр. 27-04-2012 | Отправлено: 18:30 21-03-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru