Из Википедии, бесплатной энциклопедии
  (Перенаправлено из переводчика языка ассемблера )
Перейти к навигации Перейти к поиску

Источник-источник переводчик , источник-источник компилятор ( S2S компилятор ), transcompiler или transpiler [1] представляет собой тип переводчика , который принимает исходный код программы , написанной на языке программирования в качестве входных данных и производит эквивалентный исходный код на том же или другом языке программирования. А источник-источник новообращенных переводчиков между языками программирования , которые работают примерно на тот же уровне абстракции , в то время как традиционный компилятор переводит с более высокого уровня языка программирования , к аязык программирования нижнего уровня . Например, компилятор «исходный код» может выполнять перевод программы с Python на JavaScript , в то время как традиционный компилятор переводит с такого языка, как C, на ассемблер или Java в байт-код . [2] автоматическое распараллеливание компилятор часто принимает в программе на языке высокого уровня в качестве входных данных , а затем преобразовать код и аннотировать его с параллельным кодом аннотацией (например, OpenMP ) или языковыми конструкциями (например , Fortran «s forallзаявления). [3]

Другая цель компиляции исходного кода в исходный - перевод устаревшего кода для использования следующей версии базового языка программирования или API, нарушающего обратную совместимость. Он будет выполнять автоматический рефакторинг кода, который полезен, когда программы для рефакторинга находятся вне контроля исходного разработчика (например, преобразование программ из Python 2 в Python 3 или преобразование программ из старого API в новый API) или когда размер программы делает ее ручной рефакторинг непрактичной или трудоемкой.

Транскомпиляторы могут либо сохранить структуру транслированного кода как можно ближе к исходному коду, чтобы упростить разработку и отладку исходного исходного кода, либо могут изменить структуру исходного кода настолько, что переведенный код не будет похож на исходный код. [4] Существуют также утилиты отладки, которые отображают преобразованный исходный код обратно в исходный код; например, стандарт JavaScript Source Map [ необходима ссылка ] позволяет отображать код JavaScript, выполняемый веб-браузером, обратно в исходный источник, когда код JavaScript был, например, уменьшен или создан языком, преобразованным в JavaScript. [ необходима цитата]

Примеры включают Closure Compiler , CoffeeScript , Dart , Haxe , TypeScript и Emscripten . [5]

Переводчики языка ассемблера [ править ]

Intel CONV86 [ править ]

Intel продавала свой 16-битный процессор 8086 как источник совместимый с 8-битным процессором 8080 . [6] Для поддержки этого у Intel был основанный на ISIS-II преобразователь исходного кода 8080 в 8086 с именем CONV86 [7] [8] [9] (также называемый CONV-86 [10] и CONVERT 86 [11]). [12] ), доступная OEM- клиентам с 1978 года, возможно, самая ранняя программа такого рода. [nb 1] Он поддерживал несколько уровней трансляции и работал на частоте 2 МГц в системе разработки микропроцессоров Intel MDS-800 с 8-дюймовыми дисководами гибких дисков.. По отзывам пользователей, работало не очень надежно. [13] [14]

SCP TRANS86 [ править ]

Компания Seattle Computer Products (SCP) предложила TRANS86.COM, [12] [15] [16], написанный Тимом Патерсоном в 1980 году при разработке 86-DOS . [17] [18] [19] Утилита могла переводить исходный код ассемблера Intel 8080 и Zilog Z80 (с мнемоникой Zilog / Mostek ) в исходный код .ASM для Intel 8086 (в формате, совместимом только с кросс-ассемблером SCP ASM86 для CP / M-80 ), но поддерживал только подмножество кодов операций , регистров и режимов, и часто по-прежнему требовал значительной ручной корректировки и последующей доработки. [20][17] Кроме того, выполняя только простую транслитерацию , [11] [15] [7] [8] однопроходный трансляторгрубой силыне выполнял никаких оптимизаций регистров и переходов. [21] [22] Потребовалось около 24 КБ ОЗУ. [12] SCP версии 1 TRANS86.COM работал в системах на базе Z80. [12] [15] После запуска 86-DOS Патерсон использовал TRANS86, чтобы преобразовать себя в программу, работающую под 86-DOS. [19] Номер версии 2, вместо этого он был назван TRANS.COM. [15] [22] [21] [23] [24]Позже, в 1982 году, переводчик, по-видимому, также был доступен в Microsoft . [12] [25]

Sorcim TRANS86 [ править ]

Также под названием TRANS86, Sorcim также предлагал транслятор с 8080 на 8086 с декабря 1980 года. [26] [11] Как и программа SCP, он был разработан для переноса кода приложения CP / M-80 (в ассемблерном формате ASM, MAC, RMAC или ACT80). в MS-DOS (в формате, совместимом с ACT86). [26] [12] [27] [28] В формате ACT80 он также поддерживает несколько мнемоник Z80. Перевод происходил по инструкции с некоторой оптимизацией условных переходов. Программа работала под CP / M-80, MP / M-80 и Cromemco DOS с минимум 24 КБ ОЗУ и не имела ограничений на размер исходного файла. [12] [29]

Digital Research XLT86 [ править ]

Намного более сложным и первым, кто ввел оптимизирующие компиляторные технологии в процесс трансляции исходного кода, был XLT86 1.0 от Digital Research в сентябре 1981 года. XLT86 1.1 был доступен к апрелю 1982 года. [30] Программа была написана Гэри Килдаллом [11] [31 ] ] [32] [33] и преобразовал исходный код .ASM для процессора Intel 8080 (в формате, совместимом с ассемблерами ASM, MAC или RMAC) в исходный код .A86 для 8086 (совместимый с ASM86). Используя глобальный анализ потока данных при использовании регистра 8080, [34] [11] [35] [36] пятифазный многопроходныйтранслятор также оптимизирует вывод для размера кода и заботится о соглашениях о вызовах (вызовы CP / M-80 BDOS были сопоставлены с вызовами BDOS для CP / M-86 ), так что программы CP / M-80 и MP / M-80 может быть автоматически перенесен на платформы CP / M-86 и MP / M-86 . Сам XLT86.COM был написан на PL / I-80 для платформ CP / M-80. [37] [12] [30] [38] Программа занимала 30 КБ ОЗУ для себя плюс дополнительную память для графа программы . В системе с памятью 64 КБ максимальный поддерживаемый размер исходного файла составлял около 6 КБ, [37] [12] [39] [30]поэтому перед переводом файлы большего размера нужно было разбить на части. [12] [30] В качестве альтернативы XLT86 также был доступен для DEC VMS (для VAX 11/750 или 11/780 ). [12] [30] Хотя ввод и вывод XLT86 работали на уровне исходного кода, представление программы транслятором в памяти и применяемые технологии оптимизации кода заложили основу для двоичной перекомпиляции . [40] [41] [42]

Другое [ править ]

Компания 2500 AD Software предложила транслятор исходного кода с 8080 на 8086 как часть своего пакета XASM для машин CP / M-80 с Z80, а также для систем Zilog ZEUS и Olivetti PCOS . [43]

С 1979 года Zilog предлагал переводчик Z80 на Z8000 как часть своей системы разработки PDS 8000. [44] [45] [46] [47] [48] [14] Advanced Micro Computers (AMC) [48] [14] и 2500 AD Software также предлагали трансляторы Z80 в Z8000. [43] Последний назывался TRANS [49] [50] и был доступен для Z80 CP / M, CP / M-86, MS-DOS и PCOS. [43]

Реализации языков программирования [ править ]

Первые реализации некоторых языков программирования начинались как транскомпиляторы, и реализация по умолчанию для некоторых из этих языков все еще является транскомпиляторами. В дополнение к приведенной ниже таблице специалист по сопровождению CoffeeScript предоставляет список языков, которые компилируются в JavaScript. [51]

Перенос кодовой базы [ править ]

Когда разработчики хотят переключиться на другой язык, сохранив большую часть существующей кодовой базы, может быть лучше использовать транскомпилятор, чем переписывать все программное обеспечение вручную. В зависимости от качества транскомпилятора код может потребовать или не потребовать ручного вмешательства для правильной работы. Это отличается от «транскомпилированных языков», где спецификации требуют, чтобы выходной исходный код всегда работал без изменений. Все транскомпиляторы, используемые для переноса кодовой базы, ожидают ручной корректировки выходного исходного кода, если необходимо достичь максимального качества кода с точки зрения читабельности и соглашения о платформе.

Конвейеры транскомпилятора [ править ]

Конвейер транскомпиляции - это результат рекурсивной транскомпиляции . Объединяя вместе несколько уровней технологии с шагом транскомпиляции между каждым уровнем, технология может многократно трансформироваться, эффективно создавая независимую от распределенного языка спецификацию .

XSLT - это инструмент преобразования общего назначения, который можно использовать между множеством различных технологий для создания такого производного конвейера кода .

Рекурсивная транскомпиляция [ править ]

Рекурсивная транспиляция (или рекурсивная транскомпиляция ) - это процесс применения концепции рекурсивной транспиляции для создания конвейера преобразований (часто начинающихся с одного источника истины ), которые многократно превращают одну технологию в другую. [ неудачная проверка ]

Повторяя этот процесс, можно превратить A → B → C → D → E → F, а затем обратно в A (v2). Некоторая информация будет сохранена через этот конвейер от A → A (v2), и эта информация (на абстрактном уровне) демонстрирует, с чем согласен каждый из компонентов A – F. [ необходима цитата ]

В каждой из различных версий, создаваемых конвейером транскомпилятора, эта информация сохраняется. [ необходима цитата ] Он может принимать множество разных форм и размеров, но к тому времени, когда он возвращается в A (v2), будучи транскомпилированным 6 раз в конвейере выше, информация возвращается в исходное состояние.

Эта информация, которая сохраняется при преобразовании через каждый формат, от A – F – A (v2), является (по определению) производным содержанием или производным кодом .

Рекурсивная транспиляция использует тот факт, что транспиляторы могут либо сохранять переведенный код как можно ближе к исходному коду, чтобы упростить разработку и отладку исходного исходного кода, либо они могут настолько сильно изменить структуру исходного кода, что переведенный код не похож на исходный код. Существуют также утилиты отладки, которые отображают перенесенный исходный код обратно в исходный код; например, исходные карты JavaScript позволяют отображать код JavaScript, выполняемый веб-браузером, обратно в исходный источник на языке, преобразованном в JavaScript. [ необходима цитата ]

См. Также [ править ]

  • Бинарный рекомпилятор
  • C в HDL
  • Генерация кода (компилятор)  - процесс, с помощью которого генератор кода компилятора преобразует некоторое промежуточное представление исходного кода в форму, которая может быть легко выполнена машиной.
  • DMS Software Reengineering Toolkit  - фреймворк компилятора от исходного кода к исходному, использующий явные правила перезаписи на основе шаблонов
  • f2c  - компилятор из исходного кода в исходный код от Fortran 77 до C
  • Honeywell Liberator (запускает программы IBM 1401 на Honeywell H200 )
  • Промежуточное представительство
  • Привязка к языку  - программная библиотека, которая позволяет использовать другую библиотеку, написанную на другом языке программирования.
  • Спецификация, не зависящая от языка  - стандарт компьютерного программирования, предназначенный для взаимодействия между языками программирования.
  • Языковая совместимость
  • Оптимизатор объектного кода , также известный как двоичная оптимизация
  • Препроцессор  - программа, которая обрабатывает ввод для другой программы.
  • Трансформация программы
  • Рекурсивная транскомпиляция
  • ROSE (compiler framework)  - фреймворк компилятора от исходного кода к исходному
  • Переводчик (вычисления)  - компьютерная программа, которая переводит код с одного языка программирования на другой.
  • XSLT  - язык для преобразования XML-документов

Заметки [ править ]

  1. ^ Одна коммерческая программаизвестно, были машины переведены под ISIS-II от 8080 CP / M-80 исходного кода 8086 CP / M-86 с использованием Intel 's CONV86 был MicroPro ' s WordStar 3,0 в сентябре 1981 года.

Ссылки [ править ]

  1. ^ ARC-Softwaresystems (июнь 1988 г.). "Aus BASIC mach C: B → C Transpiler" [Превратите BASIC в C: B → C Transpiler]. Amiga-Magazin  [ de ] - das Computermagazin für Amiga-Fans (Реклама) (на немецком языке). Vol. 1988 г. 6. Эсслинген, Германия: Markt & Technik Verlag Aktiengesellschaft . п. 101. ISSN  0933-8713 . Архивировано 01 февраля 2020 года . Проверено 18 января 2020 . […] Achtung C - und Basic -Programmierer! […] Jetzt gibt es den B → C TRANSPILER das einzigartige Umwandlungs-Software-System от ARC […] Der B → C TRANSPILER übersetzt lauffähigeAMIGA - Базовая программа в компилированном C-коде. […] Durch Spezialbefehle kann C-Code в Basicproqramme direct integriert werden. […] Basic-Befehle werden erweitert transpiliert. ( HAM-Modus , IFF , usw. werden unterstützt). […] Mit diesem Konzept neuester Generation verbindet der B → C TRANSPILER auf einzigartige Weise die Vorteile eines Interpreters mit denen eines Компиляторы […] [1]
  2. ^ а б «Транспайлер» . devopedia.org . Архивировано 5 ноября 2019 года . Проверено 22 июня 2019 .
  3. ^ «Типы компиляторов» . compilers.net. 1997–2005 гг. Архивировано 19 июля 2019 года . Проверено 28 октября 2010 .
  4. Фаулер, Мартин (12 февраля 2013 г.). «Прозрачная компиляция» . Архивировано 01 января 2020 года . Проверено 13 февраля 2013 .
  5. ^ Эпические игры ; Mozilla . «Эпическая цитадель HTML5» .
  6. ^ Скэнлон, Лео Дж. (1988). 8086/8088/80286 ассемблер . Брэди Букс. п. 12 . ISBN 978-0-13-246919-7. […] 8086 программно совместим с 8080 на уровне языка ассемблера. […]
  7. ^ а б Инструкция по эксплуатации конвертера языка ассемблера MCS-86 для пользователей ISIS-II . A30 / 379 / 10K TL. Санта-Клара, Калифорния, США: Intel Corporation . Март 1979 г. [1978]. Номер заказа 9800642A . Проверено 18 января 2020 . [2] (NB. Более новую версию этого руководства можно найти здесь .)
  8. ^ а б Инструкция по эксплуатации конвертера языка ассемблера MCS-86 для пользователей ISIS-II . A175 / 280 / 7.5 FL. Санта-Клара, Калифорния, США: Intel Corporation . Февраль 1980 [1978]. Номер заказа 9800642-02 . Проверено 18 января 2020 . [3] [4] (NB. Более старую версию этого руководства можно найти здесь .)
  9. ^ Нельсон, Росс П. (январь 1989 г.) [1988]. Книга 80386: Руководство программиста на языке ассемблера для 80386 . Серия программ Microsoft (1-е изд.). Microsoft Press . п. 2. ISBN 978-1-55615-138-5. […] Программа-переводчик Intel могла преобразовывать программы на ассемблере 8080 в программы на ассемблере 8086 […]
  10. ^ Руководство пользователя семейства 8086 . Корпорация Intel . Октябрь 1979 [1978]. С. 2-74, 2-92, В-176. Заказ № 9800722-03 . Проверено 18 января 2020 . […] Другие программы дополняют инструменты разработки программного обеспечения, доступные для 8086 и 8088 . [...] ИЗМ-86 может сделать большую часть работы преобразования требуется перевести 8080 / 8085 исходные ассемблер модулей в ASM-86 исходных модули. […] Для облегчения преобразования программ на ассемблере 8080A / 8085A для работы на плате iSBC 86 / 12A CONV-86 доступен под операционной системой ISIS-II . [5] [6]
  11. ^ a b c d e Фрейбергер, Пол (1981-10-19). «Переводчики программ делают это буквально - а иногда и в контексте» . InfoWorld - Новости для пользователей микрокомпьютеров . Специальный раздел: Совместимость компьютеров. 3 (22). Popular Computing, Inc. стр. 19. ISSN 0199-6649 . Архивировано 01 февраля 2020 года . Проверено 15 января 2020 . […] «Если у вас нет схемы перевода, которая учитывает специфические особенности целевого микропроцессора, автоматический переводчик не сможет работать», - объясняет Дэниел Дэвис, программист из Digital Research . «В итоге вы получите прямую транслитерацию ». […] Несмотря на все эти ограничения, в последнее время был достигнут прогресс в разработке переводчиков. В частности, Digital Research представила свой преобразователь кода ассемблера от восьми до 16 бит. Основываясь на исследовании, проведенном президентом Digital Research Гэри Килдаллом , XLT86, кажется, предлагает преимущества по сравнению с ранее доступной технологией программного транслятора. Как Sorcim «s Trans и IntelПакет Kildall's Convert 86 переводит код языка ассемблера с микропроцессора 8080 на 8086 . Однако Килдалл применил глобальный анализ потока.методика, учитывающая некоторые из основных недостатков других переводчиков. Процедура анализирует использование регистров и флагов в разделах кода 8080, чтобы исключить несущественный код. По словам программиста Digital Research Дэвиса, алгоритм, который использует Килдалл, позволяет переводчику учитывать контекст при переводе программы. До сих пор одной из основных проблем любой программы-переводчика была неспособность программного обеспечения делать гораздо больше, чем транслитерация. Если новый переводчик Digital Research действительно продвинет технологию до точки, позволяющей учитывать контекст, то на рынке микрокомпьютеров может появиться больше переводчиков программного обеспечения.
  12. ^ Б с д е е г ч я J K Тейлор, Roger; Леммонс, Фил (июнь 1982 г.). «Переход вверх - Часть 1: Переводчики - Использование программ перевода для переноса программ CP / M-86 в CP / M и MS-DOS» (PDF) . БАЙТ . Vol. 7 нет. 6. BYTE Publications Inc., стр. 321–322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344. ISSN 0360-5280 . CODEN BYTEDJ . Архивировано (PDF) из оригинала на 2020-01-16 . Проверено 15 января 2020 . […] Цифровые исследования    XLT86 принимает стандартный исходный код 8080 в формате, совместимом с ассемблерами ASM, MAC или RMAC, и преобразует исходный код 8080 в исходный код 8086 в формате, совместимом с ASM86, работающим под CP / M-80 или CP / M-86. . Поскольку XLT86 написан на PL / I-80 , транслятор может работать как автономно под CP / M-80, так и для кросс-разработки под VAX / VMS . Он производит оптимизированный код 8086 в пятиэтапном многопроходном процессе, выполняя глобальный анализ потока данных.для определения оптимального использования регистров. Хотя определения макросов не поддерживаются, директивы условной сборки […] если вы хотите раскрыть макрос, вы можете использовать проход через MAC или RMAC для создания файла PRN, который можно редактировать […] для создания расширенного исходного файла для ввода приемлемо для XLT86. XLT86 не распознает инструкции Z80 . XLT86 передает циклы повтора в исходный код 8086. XLT86 полностью анализирует исходную программу, определяя структуру блока и использование регистров / флагов. Работая на основе этой информации, он оптимизированным образом переводит код в код ассемблера 8086. Алгоритм принятия решения для каждого типа инструкции приведен в […] руководстве […] Сопоставление регистров обычно следует […] со слабой взаимосвязью между 8086 AXи 8080 PSW ; точная взаимосвязь определяется использованием регистра во время перевода . Для управления процессом перевода доступны многие параметры времени выполнения , как в командной строке, так и встроенные в исходный текст 8080. […] XLT86 - это сложная программа, которая выполняет разумную работу по оптимизации преобразования исходного кода 8080 в исходный код 8086. BDOSвызовы от CP / M-80 преобразуются в вызовы BDOS, совместимые с CP / M-86. XLT86 имеет специальные функции для обработки перевода условных инструкций JMP и CALL в исходном коде 8080. В инструкциях 8080 инструкции JMP и CALL могут достигать любого адреса в пределах области размером 64 КБ. Условные инструкции JMP 8086 могут достигать только 128 байтов по обе стороны от IP-адреса.[…] регистр. XLT86 исследует цель условного JMP. Если цель не может быть достигнута, XLT86 изменяет смысл условного JMP и пропускает длинный JMP к целевому адресу. Поскольку в 8086 нет условных команд CALL или RET, смысл условия изменяется, и выполняется короткий условный JMP, чтобы пропустить безусловный CALL или RET. […] Сегментные регистры позволяют разделить области кода и данных. […] XLT86 проверяет выражение и определяет соответствующий сегмент для конкретной инструкции. […] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] » (13 страниц)»
  13. ^ Гузис, Чарльз «Чак» П. (2013-02-24). "Re: Что, если бы IBM не выбрала процессор Intel!" . Винтажный компьютерный форум . Жанр: Другое. Архивировано 16 января 2020 года . Проверено 15 января 2020 . […] Первоначальный ассемблер 8086 работал на системе разработки MDS-80, оснащенной 8080 . Одним из первых продуктов был преобразователь уровня исходного кода с 8080 на 8086. Напомню, что скорость перевода была феноменально медленной. […] Наш продавец предложил провести тест на преобразование и проверку в местном офисе продаж […] Мы […] начали работу над ISIS-IIТам была серия MDS 200 - у них даже был жесткий диск, который был невероятно дорогим вариантом для MDS […], который все еще ломался, когда мы уезжали на ночь. На следующее утро это все еще не было сделано […] Примерно через две недели, после того как программисты Intel посмотрели на переводчик, Эд вернулся с переведенной программой. Он был примерно на 50% больше по размеру, чем исходная версия 8085 , что как бы противоречило заявлению Intel о переводчике. […]
  14. ^ a b c Гузис, Чарльз «Чак» П. (31 декабря 2016 г.) [30 декабря 2016 г.]. «Re: код DOS в CP / M? Еще раз…» . Винтажный компьютерный форум . Жанр: CP / M и MP / M. Архивировано 16 января 2020 года . Проверено 15 января 2020 . [...] Intel была ISIS организовали переводчик с 8080 -До- 8086 код. Я помню, как провел очень неприятный день в местном офисе продаж Intel с образцом кода 8080 - базовым BCD.пакет с плавающей запятой для 8080 и часами ждать, пока переводчик закончит свою работу, и разочарованный возвращаться домой. Примерно через неделю мне позвонили, что они наконец-то выяснили ошибки, и я могу забрать свою переведенную программу. Упомянутая программа была более чем вдвое больше оригинала с точки зрения байтов объекта. Я немного скептически отнесся к утверждениям Intel о том, что код 8086 намного компактнее, чем его аналог 8080. И эта проклятая штука все равно не работала, когда ее проверили. [...] Были и другие переводчики 80-к-86 для CP / M . Я помню, что у Сорцима был такой. У AMC был переход от Z80 к Z8000.переводчик. […] Транслятор [Intel] имел несколько уровней трансляции […] там был «буквальный», сохраняющий детализацию работы […] это был ISIS-II , работающий на MDS-800, с частотой 2 МГц с 8 "дискеты. […]
  15. ^ a b c d "Неофициальный список изменений Microsoft Macro Assembler (MASM)" . bytepointer.com . 2018-08-21 [2016-09-08]. Архивировано 17 июля 2019 года . Проверено 18 января 2020 . […] Тим Патерсон […] сказал следующее о своем ассемблере 8086, который он написал в SCP : «Ассемблер 8086, который я написал изначально, был на языке ассемблера Z80 и работал под управлением CP / M. Я считаю, что он распространялся вместе с SCP. Плата ЦП 8086 как ASM86. Я также написал переводчик, который преобразовывал исходный код Z80 в неэффективный, но работоспособный исходный код 8086 (Intel продвигала эту идею, опубликовав таблицу перевода ). Он назывался TRANS86 и также был написан на сборке Z80 для CP / M. Когда DOS заработала, я применил транслятор к ASM86 (и к нему самому), чтобы создать версии 8086, работающие под DOS. У меня нет истории изменений передо мной […], но я считаю, что версии> = 2 отметили переведенную (DOS) версию. Если какая-либо история показывает номера версий <2, это была версия CP / M. "[…]
  16. Патерсон, Тим (июнь 1983 г.). «Взгляд изнутри на MS-DOS - Дизайнерские решения, лежащие в основе популярной операционной системы. - История создания и проектные решения, лежащие в основе MS-DOS. Как это работает и куда идет» . БАЙТ . 16-битные конструкции. Vol. 8 нет. 6. McGraw-Hill, Inc., стр. 230–252. ISSN 0360-5280 . CODEN BYTEDJ . Архивировано 17 марта 2017 года . Проверено 23 января 2020 . […] Критерии разработки MS-DOS […] Основным требованием к разработке MS-DOS была совместимость перевода CP / M-80 , что означает, что если 8080   или программа Z80 для CP / M были переведены для 8086 в соответствии с опубликованными правилами Intel , эта программа будет правильно работать под MS-DOS. Требование совместимости перевода с CP / M-80 способствовало быстрой разработке программного обеспечения 8086, в чем, естественно, был заинтересован Seattle Computer . Частичный успех был достигнут: те разработчики программного обеспечения, которые решили переводить свои программы CP / M-80, обнаружили, что они действительно работали под MS-DOS, часто с первой попытки. К сожалению, многие разработчики программного обеспечения Seattle Computer, с которыми раньше разговаривали, предпочитали просто игнорировать MS-DOS. До анонса персонального компьютера IBM эти разработчики считали, чтоCP / M-86 будет операционной системой компьютеров 8086/8088. […] [21] [22]
  17. ^ a b Сиэтлские компьютерные продукты (август 1980 г.). «86-ДОС - ОПЕРАЦИОННАЯ СИСТЕМА 8086 - 95 $» . БАЙТ (Реклама). Vol. 5 шт. 8. BYTE Publications Inc. стр. 173. ISSN 0360-5280 . CODEN BYTEDJ . Архивировано 05 апреля 2017 года . Проверено 18 августа 2013 . […] 1. Прочитать файл исходного кода Z80, записанный в формате CP / M , и преобразовать в формат 86-DOS . 2. Программа-переводчик переводит исходный код Z80 в 8086  исходный код. 3. Резидентный ассемблер собирает переведенный исходный код 8086 в объектный код 8086 . 4. Мелкая ручная коррекция и оптимизация. (На исправление недавнего перевода программы Z80 размером 19 КБ у нас ушло около четырех часов. Даже без оптимизации он работал в два раза быстрее, чем оригинал! […]) [23]
  18. ^ Патерсон, Тим (1994-10-03). «Истоки DOS: создатель DOS излагает свое видение взаимосвязи между CP / M и MS-DOS» (PDF) . Отчет микропроцессора . Ресурсы MicroDesign (MDR). 8 (13). ISSN 0899-9341 . Архивировано из оригинального (PDF) 31 мая 2012 года. […] Чтобы заставить крупных разработчиков программного обеспечения переносить свои продукты с 8080 / Z80 на 8086 , я решил, что мы должны сделать это как можно проще. Я уже написал переводчик исходного кода Z80-to-8086 (размещенный на 8080 и CP / M   ). Я планировал, что запуск программы 8080 CP / M через транслятор будет единственной работой, необходимой разработчикам программного обеспечения для переноса программы на 8086. Другими словами, интерфейс, используемый приложениями для запроса служб операционной системы, будет точно таким же. как CP / M после применения правил перевода . […]
  19. ^ a b Патерсон, Тим (30 сентября 2007 г.). «Дизайн DOS» . DosMan Drivel . Архивировано из оригинала на 2013-01-20 . Проверено 4 июля 2011 . […] Совместимость с переводом CP / M […] Для того, чтобы DOS добилась успеха, для нее нужно было бы написать полезные приложения (например, текстовый редактор). Я был обеспокоен тем, что SCPможет иметь проблемы с убеждением авторов прикладного программного обеспечения приложить усилия для создания DOS-версии своих программ. Мало кто купил 16-битный компьютер SCP, поэтому установленная база была небольшой. Без приложений не было бы много пользователей, а без пользователей не было бы много приложений. […] Я надеялся, что, максимально упростив перенос существующих 8-битных приложений на наш 16-битный компьютер, мы получим больше программистов, которые сделают решительный шаг. И мне казалось, что совместимость перевода CP / M - это то, что максимально упростит эту работу. Intel были определены правила для перевода8-битные программы в 16-битные программы; Совместимость трансляции CP / M означает, что когда запрос программы к CP / M проходит через трансляцию, он становится эквивалентным запросом к DOS. […] Поэтому я сделал совместимость перевода CP / M фундаментальной целью дизайна. Это потребовало от меня создания очень специфического прикладного программного интерфейса, который реализовал бы совместимость перевода. Я не считал это основным API - на самом деле был другой API, более подходящий для 16-битного мира и обладающий большими возможностями. Оба API использовали конструкции, определенные CP / M (например, « Блок управления файлами»"); API совместимости должен был, и я не видел причин определять что-то другое для основного API. […] Я сам воспользовался преимуществами совместимости переводов. Инструменты разработки, которые я написал, такие как ассемблер, были Изначально 8-битные программы, которые работали под CP / M ( CDOS ). Я пропустил их через переводчик и придумал 16-битные программы, которые работали под DOS. Эти переведенные инструменты были включены в DOS, когда поставлялись SCP. Но я этого не сделал. не думаю, что кто-либо еще когда-либо воспользовался этим процессом.
  20. ^ "Переводчик с Z80 на 8086". Кросс-ассемблер Z80 / 8086, выпуск 1 (PDF) . Редакция А (предварительная ред.). Сиэтл, Вашингтон, США: Сиэтлские компьютерные продукты . С. 20–21 . Проверено 18 января 2020 . [...] The Seattle Computer Products Z80 для 8086 Переводчик пробегов на Z80 под CP / M . Он принимает в качестве входных данных исходный файл Z80, написанный с использованием Zilog / Mostek. мнемоники и преобразует ее в исходный файл 8086 в формате, приемлемом для нашего кросс-ассемблера 8086. Чтобы перевести файл, просто введите TRANS86 <filename>. <ext>. Независимо от исходного расширения выходной файл будет называться <имя файла> .A86 и появится на том же диске, что и входной файл. Файл с именем TRNTEST.Z80 включен для демонстрации переводчика. Не переведен весь ассемблер Z80. […] [24]
  21. ^ a b 86-DOS - Дисковая операционная система для 8086. Руководство пользователя (PDF) . Версия 0.3 (Предварительная ред.). Сиэтл, Вашингтон, США: Сиэтлские компьютерные продукты . 1980. Архивировано (PDF) из оригинала 14.07.2019 . Проверено 1 февраля 2020 .
  22. ^ a b Патерсон, Тим (2013-12-19) [1982-07-01]. «Microsoft DOS V1.1 и V2.0: переводчик с Z80 на 8086 версии 2.21 /msdos/v11source/TRANS.ASM» . Музей истории компьютеров , Microsoft . Архивировано 12 ноября 2019 года . Проверено 25 марта 2014 .(NB. Хотя издатели утверждают, что это будут MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и TeleVideo PC DOS 2.11 .)
  23. ^ SCP 86-DOS - однопользовательская дисковая операционная система для 8086 (предварительная редакция). Сиэтл, Вашингтон, США: Сиэтлские компьютерные продукты . 1980 . Проверено 18 января 2020 . […] Переводчик исходного кода может перевести большую часть исходного кода Z80 в 8086исходный код, приемлемый для ассемблера после небольшой ручной корректировки. Это обеспечивает относительно быстрый и простой способ передачи программ между процессорами. […] TRANS файл […] Транслятор исходного кода Z80-to-8086, вызываемый этой командой, по существу идентичен нашей версии, которая работает на Z80, которая описана в конце руководства по Ассемблеру. Единственные отличия: 1. Переводчик называется TRANS, а не TRANS86, и он работает на 8086 под 86-DOS , а не на Z80 под CP / M . 2. Расширение выходного файла - «ASM», а не «A86». […] [25]
  24. ^ Переводчик с Z80 на 8086 (PDF) . Сиэтл Компьютерные продукты . С. ТРАНС-1 – ТРАНС-2 . Проверено 19 января 2020 . (23 страницы)
  25. Хьюз, Дэвид Б. (ноябрь 1982 г.). «CP / M-86 и MS-DOS: сравнительный анализ» . Журнал ПК . Операционные системы. Vol. 1 шт. 7. Software Communications, Inc., стр. 181–182, 187–190 [189]. Архивировано 10 февраля 2020 года . Проверено 10 февраля 2020 . […] Впечатляющий и полезный набор утилит для разработки программного обеспечения является стандартной функцией MS-DOS . Программа, которая переводит код 8080 или Z80 в 8086исходный код, компоновщик и среда выполнения библиотеки в сочетании с мощным ассемблером дают программисту все необходимое для полного использования 16-разрядного процессора ПК. Программа трансляции MS-DOS позволяет пользователю переводить код, разработанный под CP / M-80 или SB-80 […] 8-битной операционной системой […], в MS-DOS 1.2 или 2.0 . Некоторые модификации помимо простого перевода могут потребоваться для запуска программ в 16-битных системах, поэтому я предлагаю, чтобы этот инструмент использовался в первую очередь технически подготовленным пользователем. […]
  26. ^ a b Гаретц, Марк (1980-12-22). «По Гарецу…» . InfoWorld - Новости для пользователей микрокомпьютеров . 2 (23). Popular Computing, Inc. стр. 12. ISSN 0199-6649 . Архивировано 01 февраля 2020 года . Проверено 18 января 2020 . […] На прошлой неделе проходила полугодовая Калифорнийская встреча по обмену компьютерами . Это мероприятие организовал Джон Крейг […] Сорцим […] представлял […] новые продукты на выставке […] Другим их продуктом был TRANS-86. TRANS-86 возьмет любой CP / M совместимый 8080 / Файл исходного кода 8085 / Z-80 и преобразовать его в код 8086 . Затем вы можете собрать новый файл с помощью ACT-86. […]
  27. ^ Блюменфельд, Дэн (1982-12-04). «Переводчик с Z80 на 8086» . Группа новостейfa.info-cpm . Архивировано 16 января 2020 года . Проверено 15 января 2020 . [26]
  28. ^ "CompuPro" . ПК: Независимое руководство по компьютерам IBM (реклама). Vol. 1 шт. 1. Software Communications, Inc., февраль – март 1982 г., стр. 70–71. Премьера / Выпуск чартера . Проверено 23 января 2020 . […] ЗАЧЕМ? ГИБКОСТЬ. Процессор CompuPro 85/88 работает под управлением CP / M 80, 86, MP / M II и MP / M 86. Мы предлагаем WORDSTAR dBASE II SUPERCALC на множество языков, переводчики с 8080 на 8088 и многое другое! СОВМЕСТИМОСТЬ. Наши системы могут использовать утилиты CP / M 2.2 для написания программ для IBM PC. Вы просто создаете исходный код 8088 (либо напишите его своим любимым редактором CP / M 80, либо переведете с помощью SorcimTRANS 86), выполните кросс-сборку исходного кода (с ACT86 от Sorcim), свяжите свой шестнадцатеричный файл (с помощью команды LOAD CP / M 80), переведите его на IBM PC (с помощью программы G&G CPM-IBM) и запустите на ваш IBM PC! Для этой процедуры НЕ ТРЕБУЕТСЯ MS-DOS! […] ЗАЧЕМ? ГИБКОСТЬ. Процессор CompuPro 85/88 работает под управлением CP / M 80 и 86 или MS-DOS. Мы предлагаем WORDSTAR, dBASE II, TRANS86, XLT86, ACT86, SUPERCALC, CBASIC, MBASIC, MFORTRAN и другие! […] [27] [28]
  29. Уоррен-младший, Джим С. (июль 1982 г.). "Sorcim 'Somethin ' " (PDF) . Silicon Gulch Gazette . Здесь распространяются слухи. Вудсайд, Калифорния, США: Computer Faire . 7 (30): 1, 2, 4, 6, 11, 14, 15 [11] . Проверено 15 января 2020 . […] Sorcim только что завершил покупку ISA . […] У них также есть переводчик с 8080 на 8086 - Trans-86 - работающий уже больше года […]
  30. ^ a b c d e Барри, Тим (1982-04-05). «XLT-86, служебная программа CP / M от Digital Research» . InfoWorld - еженедельник для пользователей микрокомпьютеров . Обзор программного обеспечения. 4 (13). Popular Computing, Inc., стр. 40–41, 53. ISSN 0199-6649 . Архивировано 01 февраля 2020 года . Проверено 25 января 2020 . […] XLT-86 1.1 […] XLT-86 - это программа-аналитический переводчик, написанная на PL / I-80 . Он считывает всю исходную программу 8080, собирает ее в машинный код, анализирует использование регистров, памяти и флагов и выдает оптимизированный Программа на языке ассемблера 8086 . […] Существует также версия XLT-86 для тех из вас, у кого есть доступ к VAX 11/750 или 11/780 . Эта версия может переводить гораздо большие программы. Также стоит 8000 долларов. […] Хотя переводчик добавляет некоторые метки и приравнивает исходную программу как часть перевода, все оригинальные комментарии и метки программы передаются в переведенную программу без изменений. […] Перевод программы состоит из пяти этапов. Сначала программа сканируется и собирается для получения значений и местоположений символов. Во-вторых, структура программы анализируется и разбивается на базовые блоки . В-третьих, базовые блоки анализируются для определения потока программы и использования ресурсов. В-четвертых,Данные о структуре блоков и распределении регистров собираются в список для пользователя. В-пятых, информация о потоке и исходная программа используются для создания исходной программы 8086 . […]
  31. ^ Килдалл, Гэри Арлен (1982-04-19). Суэйн, Майкл ; Фрейбергер, Пауль ; Марков, Джон Грегори (ред.). «Основатель Digital Research обсуждает свой взгляд на бизнес» . InfoWorld - еженедельник для пользователей микрокомпьютеров . Спец. Раздел: CP / M. 4 (15). Popular Computing, Inc. стр. 23–24. ISSN 0199-6649 . Архивировано 01 февраля 2020 года . Проверено 17 января 2020 . […] Килдалл: […] Полтора года назад я, вероятно, тратил 75% своего времени на бизнес и 25% на программирование. XLT-86 был продуктом, над которым я работал в то время, и мне потребовалось девять месяцев, чтобы сделать это. Это был бы трехмесячный проект, если бы я мог сосредоточиться на нем. […]
  32. ^ Kildall, Гэри Арлен (июнь-июль 1982). Баннелл, Дэвид Хью ; Эдлин, Джим (ред.). «Гэри Килдалл - Человек, создавший CP / M: Создатель CP / M - Глубокое эксклюзивное интервью для ПК с пионером программного обеспечения Гэри Килдаллом» . Журнал ПК . Операционные системы. Vol. 1 шт. 3. Software Communications, Inc., стр. 32–38, 40 [35] . Проверено 17 января 2020 . […] ПК: Какие сложности возникают при переводе программы из формы 8080 в форму 8086 ? Kildall: Прямые переводы на уровне исходной программы вы можете делать практически механически. Например, инструкция 8080 «Добавить сразу 5» превращается в команду «Добавить AL 5» на 8086 - очень простой перевод самих кодов операций. Сложность механического переводапроисходит из таких ситуаций: инструкция 8080 DAD H берет регистр HL и добавляет к нему DE. Для 8086 эквивалентной инструкцией будет что-то вроде ADD DX BX, что нормально, особых проблем нет. Вы просто говорите, что регистр DX совпадает с HL, а BX - с DE. Проблема в том, что инструкция 8086 имеет побочный эффект установки флага нуля, а инструкция 8080 - нет. В механическом переводе вы в конечном итоге делаете что-то вроде сохранения флагов, восстановления флагов, выполнения некоторых сдвигов и вращений и так далее. Они добавляют около пяти или шести дополнительных инструкций, чтобы получить тот же семантический эффект. В коде 8080 есть много последовательностей, которые создают очень странные последовательности в коде 8086; они просто не очень хорошо отображаются из-за регистров флагов и тому подобного.То, как мы дорабатываем программное обеспечение, называется XLT-86. Его не было полгода или около того. ПК: Под «лучшим» кодом вы подразумеваете меньший размер? Килдалл: На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и выполнили прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]я отсутствовал шесть месяцев или около того. ПК: Под «лучшим» кодом вы подразумеваете меньший размер? Килдалл: На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и выполнили прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]я отсутствовал шесть месяцев или около того. ПК: Под «лучшим» кодом вы подразумеваете меньший размер? Килдалл: На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и выполнили прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и выполнили прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]На двадцать процентов меньше, чем если бы вы просто взяли каждый операционный код и выполнили прямой перевод с сохранением регистров для сохранения семантики. ПК: Каков размер переведенной программы по сравнению с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]Как размер переведенной программы соотносится с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]Как размер переведенной программы соотносится с версией 8080? Килдалл: Если вы возьмете программу 8080, переместите ее на территорию 86 и выполните перевод XLT-86, вы обнаружите, что она примерно на 10-20 процентов больше. На 16-битных машинах все труднее решать; вы получаете коды операций, которые в среднем немного больше. Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]Интересным явлением является то, что одна из причин, по которой вы не получаете огромного увеличения скорости в 16-битном мире, заключается в том, что вы запускаете больше кодов операций по шине данных. […]
  33. ^ Хайтт, Роберт; Юбэнкс, Гордон ; Роландер, Томас «Том» Алан ; Законы, Дэвид; Michel, Howard E .; Халла, Брайан; Уортон, Джон Харрисон ; Берг, Брайан; Су, Вейлиан; Килдалл, Скотт ; Кампе, Билл (25 апреля 2014 г.). Законы, Дэвид (ред.). "Наследие Гэри Килдалла: Посвящение CP / M IEEE" (PDF) (транскрипция видео). Пасифик Гроув, Калифорния, США: Музей истории компьютеров . Номер ссылки CHM: X7170.2014. Архивировано (PDF) из оригинала 27 декабря 2014 года . Проверено 19 января 2020 . […] Роландер : Я уже упоминал, что Гэри любил подходить к проблеме как архитектор. […] И он рисовал самые красивые изображения своих структур данных. […] И когда он закончил это […] и убедился, что эти структуры данных теперь верны, он войдет в просто невероятный маниакальный режим кодирования. Он просто ходил по 20 часов в день […] его просто не было в эти периоды времени. Пару раз, когда он запускал что-то в первый раз, например, посреди ночи. И все вы, кто писал программное обеспечение, видели, что, например, когда оно впервые появляется на экране, вы должны кому-то сказать. Моя жена Лори скажет вам, что у меня было несколько таких звонков посреди ночи, LOGOОдним из примеров был XLT 86, где он запустил его в первый раз, и ему нужно было, чтобы кто-нибудь его увидел. Так что не имело значения, сколько сейчас времени, он звонил мне, я должен был прийти и посмотреть, как это работает. […] [29] [30] (33 страницы)
  34. ^ «XLT86 снижает трудозатраты на преобразование при переводе программ на языке ассемблера» (PDF) . Новости цифровых исследований - для пользователей цифровых исследований во всем мире . Обновление продукта. Пасифик Гроув, Калифорния, США: Digital Research, Inc. 1 (1): 2, 7. Ноябрь 1981 г. Четвертый квартал . Проверено 18 января 2020 . […] Компания Digital Research теперь предлагает переводчик кода сборки с 8 на 16 бит . Он называется XLT86 и призван облегчить трудоемкий процесс преобразования программных продуктов CP / M с 8080 на 8086. -на базе микрокомпьютеров. XLT86 может использоваться для перевода любых программ на ассемблере, совместимых с форматами ассемблера Digital Research ASM, MAC или RMAC. Транслятор программы XLT86 сначала считывает программу на языке ассемблера 8080, а затем создает выходной файл, содержащий инструкции на языке ассемблера 8086, приемлемые для ассемблера Digital Research ASM-86. В отличие от других преобразователей кода 8086, которые преобразуют одну инструкцию 8080 в целых десять инструкций 8086, XLT86 выполняет обширный анализ потока данных.для определения использования регистров в исходной программе. Информация, собранная в ходе этого анализа, используется во время трансляции программы, чтобы исключить ненужные операции сохранения и восстановления флагов. «Полученная в результате программа 8086 проще и компактнее, чем эквивалентные программы, созданные другими переводчиками», - говорит Курт Геске из маркетинговой группы Digital Research. «Более того, XLT86 позволяет OEM-производителям, конечным пользователям и поставщикам программного обеспечения сохранить свои инвестиции в программы на языке ассемблера на базе 8080 при переходе на 16-разрядные компьютеры на базе 8086 за счет сокращения усилий по преобразованию». Программы, переведенные с помощью XLT86, работают как на CP / M-86, так и на MP / M-86 […] XLT86 доступен немедленно. Он работает в любой 8-битной системе CP / M или MP / M , или подОперационная система VMS для использования на мини-компьютерах Digital Equipment Corporation серии VAX . Версия CP / M стоит 150 долларов . Версия VAX продается за 8000 долларов. […]
  35. ^ Килдалл, Гэри Арлен (1973-10-01). «Единый подход к глобальной оптимизации программ» (PDF) . Материалы 1-го ежегодного симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования (POPL) . POPL '73. Бостон, Массачусетс, США: 194–206. DOI : 10.1145 / 512927.512945 . ЛВП : 10945/42162 . S2CID 10219496 . Архивировано (PDF) из оригинала 29.06.2017 . Проверено 20 ноября 2006 .   ( [31] )
  36. ^ Kildall, Гэри Арлен (май 1972). Оптимизация глобального выражения при компиляции (кандидатская диссертация). Сиэтл, Вашингтон, США: Вашингтонский университет , группа компьютерных наук. Тезис № 20506, Технический отчет № 72-06-02.
  37. ^ a b XLT86 - Переводчик языка ассемблера с 8080 на 8086 - Руководство пользователя (PDF) (первое издание). Pacific Grove, Калифорния, США: Digital Research, Inc. сентября 1981. архивации (PDF) с оригинала на 2016-11-18 . Проверено 18 ноября 2016 . [32]
  38. ^ "XLT86 для CP / M-80" . Цифровые исследования . Архивировано 16 января 2020 года . Проверено 18 января 2020 .(NB. Этот ZIP-архив содержит исполняемый файл CP / M-80 XLT86.COM [22 КБ], а также два оверлейных файла XLT00.OVL [8 КБ] и XLT01.OVL [9 КБ].)
  39. ^ Гольдфарб, Бен (1982-12-09). «Re: 8080 - перевод 8086» . Группа новостейfa.info-cpm . Архивировано 01 февраля 2020 года . Проверено 18 января 2020 . […] Программа XLT86 занимает примерно 30 Кбайт основной памяти. В остальной памяти, вплоть до основания CP / M , хранится граф программы , представляющий транслируемую программу 8086 […] Система CP / M 64K позволяет переводить 8080 программ размером примерно до 6K. […] [33] [34]
  40. ^ Wharton, Джон Харрисон (1994-08-01). «Гэри Килдалл, пионер отрасли, умер в 52 года: создал первые языки для микрокомпьютеров, дисковые операционные системы» . Отчет микропроцессора . MicroDesign Resources Inc. (MDR). 8 (10). Архивировано 18 ноября 2016 года . Проверено 18 ноября 2016 . […] По иронии судьбы, многие методы, впервые разработанные Гэри, открываются заново сейчас, десять лет спустя. Apple и DEC рекламируют двоичную перекомпиляцию как «новую» технологию для переноса существующего программного обеспечения на PowerPC илиАльфа- архитектура. На самом деле, DRI ввел 8080 -До- 8086 двоичную рекомпилятор в начале 1980 - х годов. […]
  41. ^ «Премия СПА доктору Гэри А. Килдаллу: Победитель Премии за заслуги перед СПА в 1995 году» . Ассоциация издателей программного обеспечения (SPA). 1995-03-13. Архивировано 21 декабря 2019 года . Проверено 21 декабря 2019 г. - через www.digitalresearch.biz. […] Килдалл основал Digital Research, Inc. (DRI) в 1976 году, которая сейчас является частью Novell . […] В 1980-х годах DRI представила двоичный рекомпилятор . […]
  42. ^ Суэйн, Майкл (1997-04-01). «Гэри Килдалл и коллегиальное предпринимательство» . Журнал доктора Добба . Архивировано из оригинала на 2007-01-24 . Проверено 20 ноября 2006 . В марте 1995 года Ассоциация издателей программного обеспечения посмертно наградила Гэри за его вклад в компьютерную индустрию. Они перечислили некоторые из его достижений: […] В 1980-х через DRI он представил двоичный рекомпилятор . […]
  43. ^ a b c Программное обеспечение 2500 AD (1984-12-11). «Супер-сборщики плюс самый большой в мире выбор кросс-сборщиков» . Журнал ПК (Реклама). Vol. 3 шт. 24. Энглвуд, Колорадо, США: PC Communications Corp., стр. 166–167. ISSN 0745-2500 . Архивировано 01 февраля 2020 года . Проверено 24 января 2020 . […] Ассемблер 8086/88 с транслятором 99,50 долл. Доступно для MSDOS, PCDOS или CP / M-86 […] Этот пакет также включает […] транслятор исходного кода с 8080 на 8086 (нет ограничений на размер программы для перевода) [… ] Пакет кросс-разработки Z-8000 $ 199,50 […] Этот мощный пакет включает транслятор исходного кода языка ассемблера Z-80/8080 в Z-8000 […] Переводчики предоставляют исходный код Z-8000 от Intel 8080 или Zilog Z-80 исходный код. Исходный код Z-8000, используемый этими пакетами, имеет уникальный синтаксис 2500AD с использованием мнемоники Zilog, разработанный для упрощения перехода от написания кода Z-80 к Z-8000 […] 8086 и Z-8000 XASM включает трансляторы исходного кода [… ](Примечание. 8086/88 XASM доступен для Z-80 CP / M, Zilog System 8000 UNIX , Olivetti M-20 PCOS ; Z-8000 XASM для Z-80 CP / M, MS-DOS, CP / M-86, Olivetti М-20 СПКЯ.)
  44. ^ "Zilog представляет модульную систему разработки" . Computerworld - еженедельник для компьютерного сообщества . XIII (34). Купертино, Калифорния, США: Computerworld, Inc., 20 августа 1979 г. п. 46. ISSN 0010-4841 . Архивировано 01 февраля 2020 года . Проверено 24 января 2020 . […] Zilog, Inc. представила серию модульных и расширяемых систем разработки продуктов (PDS) для Z8 -, Z80 - и Z8000. конструкции микрокомпьютеров. Все четыре версии системы PDS 8000 - модели 10, 15, 25 и 30 - имеют […] Стандартной функцией каждой системы является пакет разработки программного обеспечения Z8000, который включает процедуру управления файлами ZDOSII , PLZ / ASM высокого уровня. структурированные ассемблеры, транслятор Z80 / Z8000 и макропроцессор Z8000 L и MACP. […] Модели 10 и 25 имеют те же технические характеристики, что и модели 15 и 30 соответственно. но 10 и 25 не включают модуль разработки Z8000. Стоимость PDS Model 10 составляет 10 485 долларов; Модель 15 по цене 11 995 долларов; Model 25 - 20 000 долларов; и Model 35 за 21 500 долларов. Все четыре системы доступны через 30 дней после получения заказа. […]
  45. ^ Орлански, Джесси, изд. (1979). Слушания 27–29 ноября 1979 г. - 1-я конференция Interservice / Industry Training Equipment Conference . Центр. п. 413. Технический отчет NAVTRAEQUIPCEN. Архивировано 01 февраля 2020 года . Проверено 24 января 2020 . […] Таблица 1. Характеристики 16-битного микропроцессора […] Zilog 8000 […] Программное обеспечение […] Zilog планирует поддерживать Z8000 с трансляторами для PLZ, BASIC , COBOL и FORTRAN . Это позволит преобразовать код Z80 в код Z8000, поскольку набор Z8000 является надмножеством Z80. […]
  46. ^ Система разработки PDS 8000 - Комплексный подход к проектированию систем (Краткое описание продукта). Зилог . Январь 1980 . Проверено 24 января 2020 . […] ПЕРЕВОДЧИК Z8000: Обеспечивает быстрое преобразование существующей программы на языке ассемблера Z80 в код Z8000 и формат программы PLZ / ASM. […] [35] [36]
  47. ^ Томас, Ребекка А .; Йетс, Жан Л. (1981-05-11). «Книги, платы и программное обеспечение для новых 16-битных процессоров» . InfoWorld - Газета для сообщества микрокомпьютеров . 3 (9). Popular Computing, Inc. стр. 42–43. ISSN 0199-6649 . Архивировано 01 февраля 2020 года . Проверено 24 января 2020 . […] Digital Research также объявила о планах по выпуску версии CP / M для Z8000 . Прикладное программное обеспечение будет перенесено на Z8000, когда станет доступно больше программного обеспечения для разработки. Коммерчески доступный переводчик от Z80 на Z8000 нужен. […]
  48. ^ a b Гузис, Чарльз «Чак» П. (21 января 2009 г.) [17 января 2009 г.]. "Re: CP / M или аналогичная ОС для 64К Z8002?" . Винтажный компьютерный форум . Жанр: CP / M и MP / M. Архивировано 16 января 2020 года . Проверено 15 января 2020 . [...] как Zilog и AMC предложил Z80 -До- Z8000 программы перевода. Как и Intel 8080 -До- 8086 переводчик, это привело к немедленному наворотов , если вы не были готовы к ручной оптимизации результатов. Очень ранний код MS-DOS был автоматически переведен и настроен для кода 8080 CP / M. Я знаю, что многое из SuperCalc для ПК был, например. Ранние (например, 3.3) версии Wordstar для DOS, вероятно, тоже были. […] Существовали переводчики исходного кода из Z80 в Z8000, но это был непростой процесс («строгий» и «расслабленный» режимы; иногда из одной Z80 в несколько инструкций Z8000). 8086 намного ближе к 8080, чем Z8000 к Z80. […]
  49. ^ "2500 AD Software 8080 / Z-80 в переводчик исходного кода Z8000 v2.06b" . 2500 AD Software, Inc. 1982. архивации с оригинала на 2020-02-01 . Проверено 24 января 2020 . [37]
  50. ^ "802Z8000.ZIP 2500 AD Программное обеспечение 8080 / Z-80 в переводчик исходного кода Z8000 v2.06e" . 2500 AD Software, Inc. архивации с оригинала на 2020-02-01 . Проверено 24 января 2020 . [38]
  51. ^ «Список языков, компилируемых в JS» . Архивировано 23 января 2020 года . Проверено 11 марта 2018 .
  52. ^ "JSweet" . Архивировано 14 декабря 2019 года . Проверено 14 декабря 2019 .
  53. ^ "Swiftify" .
  54. ^ "J2ObjC" . Архивировано 22 октября 2019 года . Проверено 22 октября 2019 .
  55. ^ "Майя" . Проверено 13 мая 2020 .
  56. ^ "C-> Перейти переводчик" . Архивировано 07 декабря 2018 года . Проверено 11 января 2018 .
  57. ^ «Примечания к выпуску Go 1.5» . Архивировано 01 февраля 2020 года . Проверено 11 января 2018 .
  58. ^ Кокс, Расс . «Капитальный ремонт компилятора Go 1.3+» . Архивировано 9 января 2020 года . Проверено 11 января 2018 .
  59. ^ а б https://github.com/immunant/c2rust/blob/master/README.md
  60. ^ "Js_of_ocaml" . Архивировано из оригинала на 2018-12-08 . Проверено 8 октября 2014 .
  61. ^ J2Eif Research Page - кафедра программной инженерии . Se.inf.ethz.ch. DOI : 10.1007 / 978-3-642-21952-8_4 . Архивировано 01 января 2020 года . Проверено 8 июля 2014 .
  62. ^ "C2Eif Research Page - кафедра программной инженерии" . Se.inf.ethz.ch. Архивировано 01 января 2020 года . Проверено 8 июля 2014 .
  63. ^ «Swiftify Objective-C в Swift Converter» . Проверено 14 ноября 2017 .
  64. ^ «Конвертер времени выполнения» . Архивировано 10 июля 2019 года . Проверено 14 ноября 2017 .

Дальнейшее чтение [ править ]

  • «Программирование модулей Sycor, упрощенное с помощью TAL II» . Computerworld - еженедельник для компьютерного сообщества . IX (34). Анн-Арбор, Мичиган, США: Computerworld, Inc., 20 августа 1975 г. п. 14. ISSN  0010-4841 . Архивировано 01 февраля 2020 года . Проверено 18 января 2020 .
  • Зерилли, Фрэнк Дж .; Derouen, Craig (1986-12-11) [1985-08-15, 1984-12-20, 1984-11-20]. «Транслятор ASM с 8080 на 8086 с исходным кодом ASM» . SIMTEL . XLT86.COM 1.10. Архивировано 01 февраля 2020 года . Проверено 18 января 2020 . 1984-11-11, версия 1.05 (NB. Исполняемый файл DOS XLT86.COM [12 KB] переводит исходный код языка ассемблера Intel 8080 в исходный код языка ассемблера Intel 8086. Несмотря на свое название, эта реализация на ассемблере 8086 не связана с более ранними версиями Digital Research. и намного более сложный XLT86 .)
  • Альбо, Хулиан (24 апреля 2009 г.). "Pasmo, ensamblador cruzado Z80 Portable / Portable Z80 cross assemblyr" (на испанском и английском языках). Архивировано 20 февраля 2020 года . Проверено 20 февраля 2020 . […] Pasmo - это кросс-ассемблер Z80 […], который […] может генерировать объектный код в следующих форматах: необработанный двоичный код, Intel HEX , PRL для CP / M Plus RSX , Plus3Dos ( диск Spectrum +3 ), TAP, TZX и CDT ( образы лент эмуляторов Spectrum и Amstrad CPC ), AmsDos (диск Amstrad CPC) и MSX (для использования с BLOAD с диска в Basic). Начиная с версии 0.5.0 […] также может генерировать код 8086 из исходников Z80, в двоичном формате для файлов Ms-dos COM или в формате CP / M 86 CMD . […] [39] [40]
  • Ciarcia, Стив (май 1984). «Козырная карта - Часть 1: Аппаратное обеспечение - Ускорьте свой IBM PC с помощью 16-битной мощности сопроцессора» (PDF) . BYTE - Журнал малых систем . Подвал Ciarcia's Circuit. Vol. 9 нет. 5. McGraw-Hill, Inc., стр. 40–52, 54–55. ISSN  0360-5280 . Проверено 29 января 2020 . […] Вместо этого он выполняет программы, написанные на языках высокого уровня, таких как BASIC и C (компилятор Pascal и переводчик с 8088 на Z8000 находятся в разработке. […]и Ciarcia, Стив (июнь 1984 г.). «Козырная карта - Часть 2: Программное обеспечение - компиляторы TBASIC и C и сборка» (PDF) . BYTE - Журнал малых систем . Подвал Ciarcia's Circuit. Vol. 9 нет. 6. McGraw-Hill, Inc., стр. 115–122. ISSN 0360-5280 . Проверено 29 января 2020 . […] Я ожидаю, что скоро будут доступны переводчики объектного кода для преобразований Z80 в Z8000 и 8088 в Z8000 […]  , также доступен как Ciarcia, Steve (1990). «Козырная карта - Часть 1: Аппаратное обеспечение - Ускорьте свой IBM PC с помощью 16-битной сопроцессорной мощности и Часть 2: Программное обеспечение - компиляторы TBASIC и C и сборка» . В Гонно, Даниэль; Бернарди, Фред; Осберн, Ричард (ред.). Подвал Ciarcia's Circuit . 7 . Издательство McGraw-Hill . С. 138–152, 153–160. ISBN 0-07-010969-9. Архивировано 01 февраля 2020 года . Проверено 29 января 2020 . [41]
  • Команда разработчиков отдела микроконтроллеров (2000). «Перевод кода сборки с HC05 на ST7» (PDF) (Примечание по применению). STMicroelectronics . AN1106 / 0200 . Проверено 18 января 2020 .(9 страниц) (NB. Этот программный переводчик был разработан ST и переводит исходный код сборки Motorola 6805 / HC05 в формате программного обеспечения 2500AD в исходный код ST7 . Исполняемый файл MIGR2ST7.EXE для Windows доступен с «MCU ON CD».)

Внешние ссылки [ править ]

  • Чаудри, Габриэле "Габи" (2009-07-11). "Das Intel zu Zilog - Übersetzungsprojekt" . I2Z-Translator (на немецком языке). Архивировано 11 сентября 2016 года . Проверено 18 января 2020 .
  • «Перевод с ассемблера PortAsm на ассемблер» . MicroAPL Ltd. 2017 [1996]. Архивировано 30 июля 2019 года . Проверено 18 января 2020 .
  • «Наша методология - процесс преобразования исходного кода в исходный» . Micro-Processor Services, Inc. (MPS). Архивировано 12 мая 2019 года . Проверено 1 февраля 2020 .