Вопрос был риторический, не нуждающийся в ответе. И в переводе я не нуждаюсь. Не надо мне присылать в ЛС ужасные машинные переводы. И я знаю, что в браузер можно встроить блок перевода. Но мне это не надо.
Я свободно читаю по английски (в том числе, классику 19 века, что не могут сами англичане). И знаю ещё 2.5 иностранных языка. Подрабатывал техническими переводами (правда с немецкого, с английского переводчиков избыток). Чтобы закрыть вопрос привожу свой немашинный перевод.
Так как дискуссия по поводу мнемоник заглохла, подвожу итог обсуждению.Мнемоники Z80 значительно улучшены по сравнению с мнемониками 8080. Особое внимание было уделено созданию логичных и универсальных мнемоник, которые существенно облегчают запоминание и использование. Я изучал язык ассемблера на 8080 и поначалу сопротивлялся переходу на Z80. Но после использования Z80-мнемоник всего-лишь короткое время, мне стало очень неприятно делать что-либо в коде 8080. Теперь я прогоняю почти каждый исходник, что получаю, через транслятор исходников (XIZ.COM написанную Ирвом Хофом, это бесплатная Public Domain программа). Даже, если Вы пишите программы для антикварного 8080, всё-равно значительно легче их писать в мнемониках Z80.
Чтобы отвлечь от дальнейшей перепалки фанатов КР580 недовольных таким, вполне справедливым, выводом, предлагаю сменить тему. Например так.Несмотря на большое численное превосходство фанатов КР580, со значительным перевесом победила мнемоника Z80, признанная всеми значительно более удобной для программирования. Что делает дальнейший выпуск печатных плат компьютеров на КР580 и 8085 - нецелесообразным.
Очень сомневаюсь. Если это верно, то Вы не уступаете в мастерстве Биллу Гейтсу.Сообщение от HardWareMan
Без дисковода невозможно написать программу объёмом более 2К. Исходник для большего объёма кода просто не влезает в ОЗУ СПЕЦИАЛИСТА, а писать двумя-тремя фрагментами по 2К - это крайне муторно и реально так удавалось делать только при наличии электронного диска.
Как ни странно, я тоже занимался этим. И мой бейсик даже в Z80-кодах имел объём 5 Кб. А в кодах КР580 было бы больше. Не могли бы Вы продемонстрировать код или исходник Вашего бейсика для СПЕЦИАЛИСТА?
А сама тема интересная.
Это рекламные сказки для полных идиотов. На бумаге вообще невозможно ничего написать. Тем более бэйсик для 6502. И писал он не один, а с дружком Полом Аленом, с которым позднее основал 'Microsoft' (а после его "задвинул").Для ЭВМ 'Altair 8800' в 1975 Билл Гейтс на бумажке написал Altair-Basic, чем заработал большие деньги на которые была основана фирма 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 Кб сюда не влезает .




