Error404, достаточно знать аббревиатуру: Reduced Instruction Set Computer и Complex Instrucion Set Computer. И сразу все встанет на свои места. Но потом этого стало не хватать и придумали новое определение:
Сообщение от WIKI
Error404, достаточно знать аббревиатуру: Reduced Instruction Set Computer и Complex Instrucion Set Computer. И сразу все встанет на свои места. Но потом этого стало не хватать и придумали новое определение:
Сообщение от WIKI
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хотя я ориентируюсь на 6800, где всего 6 методов адресации, а не 13, как в 6502 (т.к вообще не понимаю зачем нужны некоторые извращённые адресации имеющиеся в 6502), но даже мне ясно, что это совсем не одно и то же. Точнее пример неудачный. Это же адресация в пределах ZERO-page 0000...00FF, т.е в массиве всего в 256 байт, причём половина ZERO-page во всех 6502-машинах уже занята на системные ячейки ROM-BIOS (а выше 100H лезть бесполезно, там стек). Есть команда дающая нечто похожее на адресацию через (HL), - абсолютная адресация с индексированием через X или Y. Но она медленная (т.к трехбайтовая) и к тому же только в пределах 256 байт. А на практике часто надо просматривать большие массивы, например в Allocation Table (VTOC) или FAT больших дисков. Адресация через (HL) с последующим INC HL это делает без проблем, а с убогим 6502 нечто подобное (но дико тормозное) можно сделать только используя самомодификацию кода. Лучше бы разработчики 6502 вместо извращённых методов адресации добавили бы адресацию с автоинкрементом, как это сделано в грамотных процессорах.Сообщение от HardWareMan
Впрочем, может быть именно такие "заморочки и извращения" и привлекают любителей 6502. Кроме того, для устранения таких недоработок системы команд 6502 давно написаны стандартные процедуры. Например, как команду 16-ричного сложения (DAD у КР580) заменить подрограммой 6502. При разработке 6502, для ускорения работы, уделяли внимание лишь сокращению числа тактов на команду (хотя это всё-равно не RISK). Поэтому у 6502 было много фанатов и, например, первые мобильные телефоны имели систему команд 65C02.
Господин теоретик, который никогда не писал ни под что, кроме этого вашего Z80! Я вам дал команду с Indirect Indexing Addressing:
Zero Page хранит адрес базы, а не сами данные. Индексный регистр - быстрое смещение в пределах 0...255. Но и базовый адрес легко корректируется через RMW команду с Zero Page. RMW команда с Zero Page на 6502 работает практически так же как и у i8080, если у них одинаковая тактовая частота (например 1,7МГц). Хватит уже лезть туда, где не только не знаете, но и не собираетесь даже учиться/принимать как есть, примеряя все на свой этот Z80. Запомните, есть в этом мире много процессоров кроме Z80.
- - - Добавлено - - -
И еще, оригинальный пост:
Ваша цитата:
Куда делись скобки? И не надо меня лечить за "да ты же изменил пост!!!111". Я изменил вчера в 20:45, вы ответили сегодня в 03:11. Я понимаю, что многие слоупочат, но не на 7 часов же! Вы опять взялись за старое, править цитаты людей под себя?
Последний раз редактировалось HardWareMan; 14.07.2017 в 11:30.
думаю видосик разрешит ваш спор
с 9:20 про адрессацию
Эксперты набижали(:
$0000-$00FF - Zero Page и никакие "косвенные регистры"
$0100-$01FF - занято стеком.
адресация ZeroPage позволит избежать самомодифицирующегося кода, например, LDA ($CB),Y, $CB/$CC- мл./ст. байты адреса
Шынни, именно это я ему и привел в пример, но он такой "ZP и так мала, чтобы хранить там 128 байт массива, когда остальные 128 уже заняты системой".
ZP называем "псевдорегистрами" не только за быстрый (скорее сокращенный) доступ, но и за RMW.
лапаморда.джпег
Система иногда использует нулевую страницу, например OS Atari, Apple, Oric.
уехали не в туда, речь пошла об цпм.
Это не так. Хотя методы адресации 6502 и мнемоники давно забыл, отчего и не понял какой метод адресации в этих командах. Т.к сейчас читаю книгу "L.Leventhal, 6800 Assembly Programming Language", где просто нет такого метода адресации, оттого и ошибся.Сообщение от HardWareMan
И для 6502 я программировал. Но было это давно (в конце 80-тых, начале 90-тых). И в памяти ничего не сохранилось, кроме впечатления, что на Z80 программировать на порядок проще. Я программировал в мини-ассемблере и на простом ассемблере LISA, т.к изучал ассемблер по книге Морера, где именно LISA и требуется. Макро ассемблер освоить не смог, потому что ДОК-ов было не найти (Интернета не было). Читал и красного Мымрина и "Программирование 6502 для ПРАВЕЦ-82" (на болгарском) и уроки по программированию в болгарских журналах и разобрался в исходнике ROM-BIOS Apple-II с комментариями (в Apple-II Refrence Manual). И сам спаял плату Apple-II (их выпустили в одном местном НИИ). Я даже написал двухпроходный кросс-ассемблер 6502 для Z80 на ОРИОНЕ и эмулятор 6502 на Z80. А чтобы написать эмулятор надо знать ассемблер получше, чем просто для программирования на нём.
Но Вы тоже не знаток 6502, т.к тоже ошиблись. Потому что EA для указанных команд вычисляются по разному. У Мымрина эти команды названы индексно-косвенной адресацией по X и косвенно-индексной адресацией по Y, а вот в болгарской литературе это называется понятнее - косвенная адресация с предварительной индексацией по X и косвенная адресация с последующим индексированием по Y. И сразу всё ясно, когда и к чему прибавляется индекс. В первом случае EA это (X + 2-й_байт) а во втором случае это: (Y) + 2-й_байт. Здесь скобки имеют смысл как в мнемонике Z80, т.е говорят о том, что операнд берётся из ячейки заданным даннным адресом.
И даже используя такую адресацию программа на 6502 будет тормознее, т.к модернизация адреса в ZERO-page не намного быстрее, чем модификации кода самой команды с абсолютной адресацией. Точно также это не одна команда INC HL, а сначала увеличение одной ячейки памяти, затем проверка флага CY, и если надо увеличение и старшего байта. Просто команды адресуемые в ZERO-page не трёхбайтовые, а двухбайтовые, что немного быстрее.
Литература:
У.Морер. Язык Ассемблера для персонального компьютера Apple-II. — М.: Мир, 1987.
М.П.Мымрин. Конструкция, применение, программирование ПЭВМ "Агат". - М.: Машиностроение, 1990
PS. Прекратите выкладывать видео. С браузером 2-3-х летней давности это не посмотреть, так что я это не вижу. Это текстовый форум, а не видео конференция. Администрации сайта следует срочно запретить выкладывать видео.
PPS. HardWareMan, у Вас время опережает московское на 2 часа.
Последний раз редактировалось barsik; 14.07.2017 в 20:32.
barsik, зачем Вы заблуждаете молодежь?(:
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)