User Tag List

Показано с 1 по 10 из 154

Тема: Мнемоники i8080 vs Z80

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос был риторический, не нуждающийся в ответе. И в переводе я не нуждаюсь. Не надо мне присылать в ЛС ужасные машинные переводы. И я знаю, что в браузер можно встроить блок перевода. Но мне это не надо.

    Я свободно читаю по английски (в том числе, классику 19 века, что не могут сами англичане). И знаю ещё 2.5 иностранных языка. Подрабатывал техническими переводами (правда с немецкого, с английского переводчиков избыток). Чтобы закрыть вопрос привожу свой немашинный перевод.

    Мнемоники Z80 значительно улучшены по сравнению с мнемониками 8080. Особое внимание было уделено созданию логичных и универсальных мнемоник, которые существенно облегчают запоминание и использование. Я изучал язык ассемблера на 8080 и поначалу сопротивлялся переходу на Z80. Но после использования Z80-мнемоник всего-лишь короткое время, мне стало очень неприятно делать что-либо в коде 8080. Теперь я прогоняю почти каждый исходник, что получаю, через транслятор исходников (XIZ.COM написанную Ирвом Хофом, это бесплатная Public Domain программа). Даже, если Вы пишите программы для антикварного 8080, всё-равно значительно легче их писать в мнемониках Z80.
    Так как дискуссия по поводу мнемоник заглохла, подвожу итог обсуждению.

    Несмотря на большое численное превосходство фанатов КР580, со значительным перевесом победила мнемоника Z80, признанная всеми значительно более удобной для программирования. Что делает дальнейший выпуск печатных плат компьютеров на КР580 и 8085 - нецелесообразным.
    Чтобы отвлечь от дальнейшей перепалки фанатов КР580 недовольных таким, вполне справедливым, выводом, предлагаю сменить тему. Например так.

    Цитата Сообщение от HardWareMan
    Для 'Altair 8800' был написан бейсик самим Биллом на бумажке (исторический факт). Это вполне реально, я тоже так делал для Специалиста в школе, а потом проверил в кружке в реале.
    Очень сомневаюсь. Если это верно, то Вы не уступаете в мастерстве Биллу Гейтсу.

    Без дисковода невозможно написать программу объёмом более 2К. Исходник для большего объёма кода просто не влезает в ОЗУ СПЕЦИАЛИСТА, а писать двумя-тремя фрагментами по 2К - это крайне муторно и реально так удавалось делать только при наличии электронного диска.

    Как ни странно, я тоже занимался этим. И мой бейсик даже в Z80-кодах имел объём 5 Кб. А в кодах КР580 было бы больше. Не могли бы Вы продемонстрировать код или исходник Вашего бейсика для СПЕЦИАЛИСТА?

    А сама тема интересная.

    Для ЭВМ 'Altair 8800' в 1975 Билл Гейтс на бумажке написал Altair-Basic, чем заработал большие деньги на которые была основана фирма Microsoft
    Это рекламные сказки для полных идиотов. На бумаге вообще невозможно ничего написать. Тем более бэйсик для 6502. И писал он не один, а с дружком Полом Аленом, с которым позднее основал 'Microsoft' (а после его "задвинул").

    Билл сам в интервью проговорился, что писал этот бейсик вовсе на на бумаге, а на 'майн-фрейме". Не знаю, что это значит, но это точно не записная книжка, и даже не калькулятор (кто бы купил 14 летнему ребёнку калькулятор, который стоил 250 USD). Предполагаю, что это был какой-то большой компьютер (предположительно IBM-370), для которого они написали эмулятор 8080.

    Написать бейсик сложно. Я это из спортивного интереса проверил в 1995. Хотел проверить сказку о том, что можно с нуля написать бейсик за месяц. А заодно и понять, глупее я, чем Билл или нет.


    Я использовал мощный ассемблер Microsoft M80 на ОРИОНЕ с HD-флопом (обмен вдвое быстрее DD). Писал в мнемонике Z80. Тем самым на порядок превосходил Билла, как по железу и ПО, так по мощности ассемблера. Не говоря уже о том, что я имел больше опыта в программировании, чем подросток Билл 20 лет назад (только-что узнавший о существовании микропроцессоров). Причём я писал целочисленный и сильно усечённый бейсик. Бейсик по стандарту TINY BASIC (имея описание операторов), а не полноценный бейсик, что сделал Билл.

    Также мне не надо было встраивать в бейсик п/п-ммы для работы с массовой памятью, как сделано в AppleSoft BASIC для ROM (который сам работает с дисководом, отчего не нуждается в ДОС, т.е содержит в себе кусок ДОС). Я просто использовал CP/M (и взял готовый кусок кода SAVE/LOAD). Т.е у меня были все преимущества.

    В итоге, я написал недели за 3 свой TINY BASIC, истратив, предположительно, (по 4 часа в день) ~80 часов реального времени, а скорее всего, даже больше.

    Учитывая все мои преимущества, я сделал вывод, что малокомпетентный подросток просто не мог написать работающий бейсик в приводимых условиях. ЭТО НЕРЕАЛЬНО. А тем более на бумаге, не проверив на реальном железе, что ВДВОЙНЕ НЕРЕАЛЬНО.

    Или речь шла о многих месяцах, или условия были совсем иные. И кто бы дал молодому Биллу столько часов крайне дорогого в 1975 машинного времени? Скорее всего имелся бейсик написанный для другой машины и задача состояла лишь в конверсии исходника.

    И как из исходника удалось получить коды, чтобы показать их в работе в фирме MITS, куда Билл и Пол приехали, чтобы продать бейсик. Они что конвертировали в маш.коды вручную, и ни разу не ошиблись? Билл в интервью сказал: "По счастью бейсик заработал". Это значит, что перед покупкой в фирме MITS бейсик для Altair-8800 проверили в реале. И что было носителем? Допустим перфокарты, т.к Altair их поддерживал. Но что это было? Коды 8080 или ещё не странслированный и не проверенный текстовый исходник? На мой взгляд, на ассемблере вообше невозможно написать большую программу так, чтобы она сразу же заработала. Это просто ФАНТАСТИКА.

    Описание Альтаир-8800 было в январском номере 1975 журнала 'Popular Electronics'. Когда Билл продал фирме MITS свой бейсик неизвестно. Но считать надо по реальным датам, а не верить рекламным сказкам. Если же эта басня реальна, то Билл Гейтс самый гениальный программист XX-века.

    Привожу фрагмент, где видно какие операторы в моём TINY BASIC, чтобы сравнить с Altair-Basic. Если в Altair-Basic-е больше операторов, то легенда о Билле - точно фуфло.
    Код:
    ; TINY BASIC (Привет Биллу Гейтсу!)
    
    	JP      START
    ERROR1:	RST     18H
    	defb    13,10,'WHAT?',0
    	JR      CCP
    
    @EOL     EQU     0              ; ТИПЫ ТОКЕНОВ
    @DELIMIT EQU     1
    @VARIABL EQU     2
    @NUMBER  EQU     3
    @COMMAND EQU     4
    @STRING  EQU     5
    @QUOTE   EQU     6
    
    TOKNLST:defb    80H,'STOP'
    	defb    81H,'PRINT TAB('
    	defb    82H,'INPUT'
    	defb    83H,'IF'
    	defb    84H,'THEN'
    	defb    85H,'ELSE'
    	defb    86H,'NEXT'
    	defb    87H,'GOTO'
    	defb    88H,'GOSUB'
    	defb    89H,'RETURN'
    	defb    8AH,'REM'
    	defb    8BH,'CALL'
    	defb    8CH,'POKE'
    	defb    8DH,'LET'
    	defb    8EH,'CURSOR'
    	defb    8FH,'PRINT'
    	defb    90H,'DATA'
    	defb    91H,'READ'
    	defb    92H,'CLS'
    	defb    93H,'ASK('
    	defb    94H,'COUT'
    	defb    95H,'SHOW'
    	defb    96H,'LIST'
    	defb    97H,'RUN'
    	defb    98H,'BYE'
    	defb    99H,'NEW'
    	defb    9AH,'END'
    	defb    9BH,'ARRAY'
    	defb    9CH,'PEEK('
    	defb    9DH,'BYTE'
    	defb    9EH,'WORD'
    	defb    9FH,'RESTORE'
    	defb    0A0H,'LOAD'
    	defb    0A1H,'SAVE'
    	defb    0A2H,'BLOAD'
    	defb    0A3H,'BSAVE'
    	defb    0A4H,'BEEP'
    	defb    0A5H,'DUMP'
    	defb    0A6H,'VARPTR('
    	defb    0FFH
    
    ;       *****************************************
    ;       *                                       *
    ;       *       ПРЕОБРАЗУЕТ В СТРОКЕ КОМАНДЫ    *
    ;       *       В ASCII-СИМВОЛАХ В ТОКЕНЫ       *
    ;       *                                       *
    ;       *****************************************
    
    CNVTOKEN:
    	LD      HL,STRBUF
    	LD      DE,TMPBUF
    	PUSH    DE
    CNVTK0: LD      (UKAZAT),HL
    CNVVVV: CALL    POISK
    	JR      C,CNVTK0
    	PUSH    DE
    	CALL    GTTOKEN
    	POP     DE
    	CP      @NUMBER
    	JR      Z,CNVTK2        ; ЧИСЛО
    	CP      @QUOTE
    	JR      Z,CNVTK3        ; КАВЫЧКА
    	CP      @EOL
    	JR      Z,CNVTK5        ; NULL
    	CP      @VARIABLE
    	JR      Z,CNVTK6        ; БУКВА
    	CP      @DELIMIT
    	JR      Z,CNVTK6        ; РАЗДЕЛИТЕЛЬ
    	JP      ERROR
    
    . . . . . . . . . . 
    
    весь исходник 45 Кб сюда не влезает
    .
    Последний раз редактировалось barsik; 30.11.2016 в 02:54.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. I8080 TO Z80 SOURCE TRANSLATOR
    от Sergey в разделе Программирование
    Ответов: 33
    Последнее: 25.05.2025, 15:08
  2. Ответов: 72
    Последнее: 08.12.2019, 00:36
  3. Совместимость Z80 и i8080 (580ВМ80)
    от Dmitry Dubrovenko в разделе Для начинающих
    Ответов: 50
    Последнее: 08.05.2016, 09:54
  4. Код эмуляции i8080 на С
    от medvdv в разделе Эмуляторы отечественных компьютеров
    Ответов: 15
    Последнее: 27.03.2015, 03:43
  5. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •