Kudryavtsev_Intel_8086_Guide_by_Arslav_v1_1
.docxКудрявцев Intel 8086 Guide:
Задача: записать программу, данные и продемонстрировать ее работоспособность.
0) Да будет battle! Сидим около часа с умным видом, делая вид, что мы читаем методичку... Если подойти к нему раньше, то скорее всего он пошлет вас нахуй, ибо, по его мнению, вам часа не хватит чтобы понять, как работать с его драгоценным стендом.
1) Ввод данных. Вот, наконец, он позволил вам до тронуться до ВЕЛИЧАЙШЕГО из стендов (после 8080 и пылесоса конечно-же), врубил питание, и вы услышали его 16-битный крик о помощи, дождались "CPU-1810"(хз, я уже не помню), нажали клавишу ENTER и увидели READY.
Теперь вам нужно вбить данные - два 16-битных числа 1040h по адресу 0800h и F0D0h по адресу 0802h. Для особенных, h в конце числа это - HEX(не путать с hex'ом из доты) - hexadecimal - обозначение шестнадцатеричной системы счисления.
И так, последовательно нажимаем кнопки:
DIR->ADR->DS->ENTER
Если сделали все правильно, вы увидите надпись "Adr". Вводим 0800 и нажимаем ENTER.
Далее по байтам записываем 4 наших числа… Почему 4 если было 2? В одном нашем числе 16 бит т.е. 2 байта. 2 числа по 2 байта 4…
«Вы что математику не учили? Может вас в первый класс оправить?»
(с) Кудрявцев А.В.
Начинаем ввод данных:
10->ENTER
40->ENTER
F0->ENTER
D0->ENTER, на экране в этот момент должен быть адрес 0804.
2) Запишем наконец-то программу.
DIR->PC->2400
К счастью, в отличии от пылесоса, программа уже готова и остается ее только переписать из методички.
Вводим BB, нажимаем ENTER, на экране адрес 2401
…
И так до тех пор, пока не введем последнюю команду CC по адресу 2412
3) Вот этот пункт вы и будете показывать ему. Тут возможны три варианта, каждый из них вы должны выучить наизусть. Alarm! Если вы делаете с напарниками, то показывать будете все по очереди! Ни в коем случае не подсказывайте друг-другу, иначе даст пизды всем!
Наиболее популярный вариант это - «непосредственное исполнение»:
DIR->RUN->2400->ENTER->RUN
В данном случае вас должно сразу перебросить по адресу 2412.
Если вместо этого вы увидели At *какие-то цифры буквы* или ERROR или еще бог знает, что, то вы ошиблись при вводе проги!
«Эх, грустно.»
(с) Кудрявцев А.В.
RESET и вводите по новой.
Второй вариант — это «пошаговое исполнение»:
DIR->RUN->2400->STEP->STEP->…. до тех пор, пока не увидите 2412
И третий, наиболее редкий вариант – это «исполнение в режиме циклов»
DIR->RUN->2400->CYCLE
Хз, что тут происходит, но должны будут загореться диоды на магистрали и на дисплее должна быть надпись «-CYCLE-»
4) Проверка работоспособности, т.е. просмотр содержимого адресов:
Также, как и в первом пункте нажимаем:
DIR->ADR->DS->ENTER->0800->ENTER
На экране:
0800 – F0, ENTER
0801 – D0, ENTER
0802 – 10, ENTER
0803 – 40, ENTER
Т.е. весь смысл проги в обмене значений переменных, нда… В нормальных языках like C/C++, C#, JAVA, ну бля, даже в PHP, вся эта поебота, примерно будет выглядеть как swap(a,b);
Чет я развыебовался… Короче, обычно он просит показать скачала содержимое адресов – так-то пункт 4 учим наизусть, потом просит запустить прогу в одном из режимов – учим пункт 3.
5) А как же защита?
Учим:
Внутреннее устройство процессора Intel 8086, назначение каждого элемента
Временные диаграммы процессора
Сигналы процессора
Минимальный режим работы
Максимальный режим работы
Организация ЭВМ типа IBM PC/AT
Регистры общего назначение
…
И только сам ИИСУС, БУДДА, АЛАХ и КУДРЯВЦЕВ знают, что еще нужно…
А
пока я решил сходить по известному
направлению… Ставьте
лайки, подписывайтесь на мой канал,
удачного разъеба этого старого пидора
Guide by Arslav © 2017