Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
для LDA/LDB/STA аргумент (младший ниббл) всегда 0? никак нельзя SEL объеднить с ними, чтобы 2 команды не делать для копирования между регистрами? и можно ли в SKIP комбинации флагов юзать?
|
10 Dec 2015 13:26 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Аргумент любой, поскольку он ни на что не влияет... В принципе можно, но поскольку всего 4 такта на EXECUTE, я побоялся конфликта на шине. Я писал об этом тут ранее, никто меня в обратном не разубедил... ------Так что пока оставил LDA/LDB/STA как есть...
_________________ iLavr
|
10 Dec 2015 15:55 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
И как оно будет работать, скажем если выбрать C, Z и NOT?
|
10 Dec 2015 17:10 |
|
|
petrenko
Doomed
Joined: 10 Mar 2012 16:21 Posts: 598 Location: РФ
|
~ Примерно так же, как и в PDP и в VAX ( {op.c.}== 0AB hex ) => якщо (C==0)&(Z==0) ,то =>SKIP~aka~(PC++++) ,инакше (PC+) , где можливо след.{op.c.}==JMP
|
11 Dec 2015 01:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Работать будет в полном соответствии со схемой электрической принципиальной (большой).Там что, плохо видно этот узел, который делает SKIP ?
_________________ iLavr
|
11 Dec 2015 03:54 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
ок - нашёл (верхня часть U13 и т.д.): - если без NOT то хотя бы один из выбранных флагов должен быть 1, чтобы оно скипнулось - если с NOT то хотя бы один из выбранных флагов должен быть 0, чтобы оно скипнулось так? тогда мне не понятно как работает SKIP 1111 - по идее он должен скипнуть, если хотя бы один 0 есть среди флагов C/Z/S, т.е. если все они будут установлены (C=1 Z=1 S=1), то оно нифига не скипнет?... P.S. что такое PF, которое никуда из U13 не идёт?
|
11 Dec 2015 08:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А так бывает? Ааааа! Ну так это я заложил для истинных нищебродов флаг " четности числа" Р - Parity Flag... Если у человека не найдется микросхемы XOR в его нищебродском хозяйстве, тогда ему придется довольствоваться лишь тремя SKIP-ами: SKIP C, SKIP Z и SKIP S. Вот для таких нищебродов в утешение я и припас возможность реализовать SKIP Р!
_________________ iLavr
|
11 Dec 2015 11:23 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
Эээ - ну по идее да - нуль не может быть отрицательным P.S. А кстати зачем может понадобиться безусловный SKIP?...
|
11 Dec 2015 11:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну как есть безусловный JMP... a безусловный SKIP здесь достался в нагрузку от простоты схемотехники. Но пригодиться может, я думаю... Пробовал это всё на работе на 2-х машинах - пнях коре-дуо 2 ГГц. Работает афигительно классно! Был удивлен работой эмулятора LCD 3310 - он даже случайное заполнение экрана при старте эмулирует! Я на своем старом ноуте этого и не замечал... Схема проца работоспособна до 1 МГц - дальше не тыкал, просто LCD начинает заполняться слишком шустро. Так можно и "Теннис" попробовать перенести под этот проц. Ассемблерчик что-ли под него написать...
_________________ iLavr
|
11 Dec 2015 11:43 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
Я для своего RASM могу табличку опкодов накидать по быстрому...
|
11 Dec 2015 11:59 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да - я помню, но в силу специфики проца есть некоторая непрятность ассемблера. Компилятор должен понимать множественные ORG и уметь "прижать" кусок кода к ORG снизу. Это из-за RST N и RET A...
_________________ iLavr
|
11 Dec 2015 12:10 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
Накидал P.S. В силу специфики проца применяя RASM придётся вручную писать 256-байтовые сегменты, сохраняя их в разных A-файлах с разными ORG-ами... P.P.S. Эх, однобайтный аргумент в RASM не предназначен для применения к нему меток - придётся исходники ковырять...
|
11 Dec 2015 12:19 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Кто бы мне вот это вопрос прояснил наконец бы... А то я как ни сяду писать ассемблеры, он меня колбасит хуже всего...
_________________ iLavr
|
11 Dec 2015 12:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22567 Location: Silicon Valley
|
Ну как хочешь так и делай - стандартов то нет У меня в RASM например вообще арифметика подобного плана не поддерживается...
|
11 Dec 2015 12:53 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
В приципе-то да... но ты представляешь, какое математическое выражение можно наколбасить в 60 знакомест? И оно должно понимать как метки, так и всякие эквивалентности! Просто я хочу для себя как-то внести ясность... я писал письмо автору " Pretty 8080_Assembler", но он тоже ответил уклончиво...
_________________ iLavr
|
11 Dec 2015 13:00 |
|
|