Jump to content

Бинарный формат Microsoft

В вычислительной технике двоичный формат Microsoft ( MBF ) — это формат чисел с плавающей запятой , который использовался в BASIC языках Microsoft , включая MBASIC , GW-BASIC и QuickBASIC до версии 4.00. [1] [2] [3] [4] [5] [6] [7]

Существует две основные версии формата. Исходная версия была разработана для систем с ограниченным объемом памяти и хранила числа в 32 битах (4 байта), с 23-битной мантиссой , 1-битным знаком и 8-битной экспонентой . Расширенный (12 КБ) BASIC включал тип двойной точности с 64 битами.

В период, когда он был перенесен с платформы Intel 8080 на процессор MOS 6502 , компьютеры начали поставляться с большим объемом памяти в качестве стандартной функции. Эта версия предлагалась с исходным 32-битным форматом или с дополнительным расширенным 40-битным (5-байтовым) форматом. 40-битный формат использовался большинством домашних компьютеров 1970-х и 1980-х годов. Эти две версии иногда называют «6-значными» и «9-значными» соответственно. [8]

На ПК с x86 процессором в QuickBASIC до версии 4 вновь вводился формат двойной точности с использованием 55-битной мантиссы в 64-битном (8-байтовом) формате. От MBF отказались при переходе на QuickBASIC 4, который использовал стандартный формат IEEE 754 , представленный несколькими годами ранее.

Билл Гейтс и Пол Аллен работали над Altair BASIC в 1975 году. Они разрабатывали программное обеспечение в Гарвардском университете на DEC PDP-10 под управлением своего Altair эмулятора . [9] Единственное, чего им не хватало, — это кода для обработки чисел с плавающей запятой, необходимого для поддержки вычислений с очень большими и очень маленькими числами. [9] что было бы особенно полезно для науки и техники. [10] [11] Одним из предложенных вариантов использования Альтаира было использование его в качестве научного калькулятора. [12]

Альтаир 8800 Передняя панель

На ужине в Currier House , студенческом общежитии в Гарварде, Гейтс и Аллен жаловались своим собеседникам, что им приходится писать этот код. [9] и один из них, Монте Давидофф , рассказал им, что раньше он писал программы с плавающей запятой, и убедил Гейтса и Аллена, что он способен написать код Altair BASIC с плавающей запятой. [9] В то время, когда IBM представила свои собственные программы, не существовало стандарта для чисел с плавающей запятой, поэтому Давидоффу пришлось придумать свой собственный. Он решил, что 32 бита обеспечат достаточную дальность и точность. [13] Когда Аллену пришлось демонстрировать его MITS , это был первый раз, когда он работал на настоящем Альтаире. [14] Но это сработало, и когда он ввел «ПЕЧАТЬ 2+2», программа сложения Давидоффа дала правильный ответ. [9]

Копия исходного кода Altair BASIC вновь появилась в 1999 году. В конце 1970-х годов бывший наставник и декан Гейтса Гарри Льюис нашел его за мебелью в офисе в Эйдене и положил в картотеку. На долгое время более или менее забыв о его существовании, Льюису в конце концов пришла в голову идея разместить объявление в холле. Вместо этого было решено сохранить исходный список и изготовить несколько копий для демонстрации и сохранения после того, как библиотекарь и реставратор Дженис Меррилл-Олдхэм указала на его важность. [15] [16] В комментарии источника Давидофф упоминается как автор математического пакета Altair BASIC. [15] [16]

Система Radio Shack Tandy TRS-80 Model I

Altair BASIC стал популярным, и вскоре большинство первых домашних компьютеров использовали ту или иную версию Microsoft BASIC. [17] [18] Порт BASIC для ЦП 6502 , например, используемый в Commodore PET , занимал больше места из-за более низкой плотности кода 6502. Из-за этого он, скорее всего, не поместился бы в одну микросхему ПЗУ вместе со специфическим для машины входом. и выходной код. Поскольку требовался дополнительный чип, было доступно дополнительное пространство, которое частично использовалось для расширения формата с плавающей запятой с 32 до 40 бит. [8] Этот расширенный формат не только предоставлялся Commodore BASIC 1 и 2, но также поддерживался Applesoft BASIC I и II, начиная с версии 1.1 (1977 г.), KIM-1 BASIC, начиная с версии 1.1a (1977 г.), и MicroTAN BASIC, начиная с версии 2b ( 1980). [8] Вскоре после этого порты Z80 , такие как Level II BASIC для TRS-80 (1978), представили 64-битный формат двойной точности как отдельный тип данных от 32-битного формата одинарной точности. [19] [20] [21] Microsoft использовала те же форматы с плавающей запятой в своей реализации Fortran. [22] и для их макроассемблера MASM , [23] хотя их таблица Multiplan [24] [25] а их реализация на языке COBOL использовала двоично-десятичную (BCD) плавающую запятую. [26] Несмотря на это, на какое-то время MBF стал де-факто форматом с плавающей запятой на домашних компьютерах до такой степени, что люди до сих пор время от времени сталкиваются с устаревшими файлами и форматами файлов, использующими его. [27] [28] [29] [30] [31] [32]

VAX-11/780 Миникомпьютер

Параллельно с этим в 1976 году Intel начала разработку сопроцессора с плавающей запятой . [33] [34] Уильям Мортон Кахан , как консультант Intel, предложил Intel использовать плавающую запятую VAX компании Digital Equipment Corporation (DEC). Первый VAX, VAX-11/780, вышел только в конце 1977 года, и его плавающая точка получила высокую оценку. Форматы с плавающей запятой VAX отличались от MBF только тем, что имели знак в старшем бите. [35] [36] Однако, стремясь вывести свой чип на максимально широкий рынок, Кахану было предложено составить спецификации. [33] Когда слухи о новом чипе Intel дошли до конкурентов, они начали работу по стандартизации под названием IEEE 754 , чтобы не дать Intel слишком сильно завоевать позиции. Поскольку 8-битный показатель степени был недостаточно широк для некоторых операций, необходимых для чисел двойной точности, например, для хранения произведения двух 32-битных чисел, [1] В предложении Intel и встречном предложении DEC использовалось 11 бит, подобно проверенному временем 60-битному формату с плавающей запятой CDC 6600 1965 года. [34] [37] [38] Предложение Кахана также предусматривало бесконечности, которые полезны при работе с условиями деления на ноль; нечисловые значения, которые полезны при работе с недопустимыми операциями; денормальные числа , которые помогают смягчить проблемы, вызванные недостаточным заполнением; [37] [39] [40] и более сбалансированное смещение экспоненты , которое может помочь избежать переполнения и потери значения при получении обратного числа. [41] [42]

К моменту QuickBASIC 4.00 выхода [ когда? ] Стандарт IEEE 754 получил широкое распространение — например, он был включен в сопроцессор Intel 387 и каждый x86 процессор , начиная с 486 . В версиях QuickBASIC 4.0 и 4.5 по умолчанию используются переменные с плавающей запятой IEEE 754, но (по крайней мере, в версии 4.5) есть опция командной строки. /MBF для IDE и компилятора, который переключается с чисел с плавающей запятой IEEE на MBF для поддержки ранее написанных программ, использующих детали форматов данных MBF. Visual Basic также использует формат IEEE 754 вместо MBF.

Технические детали

[ редактировать ]

Числа MBF состоят из 8-битной экспоненты по основанию 2 , знакового бита (положительная мантисса: s = 0; отрицательная мантисса: s = 1) и 23-, [43] [8] 31- [8] или 55-битный [43] мантиссы мантисса . Слева от явной мантиссы всегда подразумевается 1 бит, а точка системы счисления расположена перед этим предполагаемым битом . Экспонента кодируется со смещением 128 . [ нужна ссылка ] , так что показатели −127…−1 [ нужна ссылка ] представлены x = 1…127 (01h…7Fh) [ нужна ссылка ] , показатели степени 0…127 [ нужна ссылка ] представлены x = 128…255 (80h…FFh) [ нужна ссылка ] , в частном случае x = 0 (00h), обозначающем, что целое число равно нулю.

Формат двойной точности MBF обеспечивает меньший масштаб, чем формат IEEE 754 , и хотя сам формат обеспечивает почти одну дополнительную десятичную цифру точности, на практике сохраненные значения менее точны, поскольку в вычислениях IEEE используются 80-битные промежуточные результаты, а MBF не позволяет 'т. [1] [3] [43] [44] В отличие от IEEE с плавающей запятой, MBF не поддерживает ненормальные числа , бесконечности и NaN . [45]

Формат одинарной точности MBF (32 бита, «6-значный BASIC»): [43] [8]

Экспонента Знак Значение
8 бит,
бит 31–24
1 бит,
бит 23
23 бита,
бит 22–0
хххххххх с мммммммммммммммммммм

Формат повышенной точности MBF (40 бит, «9-значный BASIC»): [8]

Экспонента Знак Значение
8 бит,
бит 39–32
1 бит,
бит 31
31 бит,
бит 30–0
хххххххх с мммммммммммммммммммммммммммм

Формат двойной точности MBF (64 бита): [43] [1]

Экспонента Знак Значение
8 бит,
бит 63–56
1 бит,
бит 55
55 бит,
бит 54–0
хххххххх с мммммммммммммммммммммммммммммммммммммммммммммммммммм
32-битный формат: 84h, 20h, 00h, 00h.
40-битный формат: 84h, 20h, 00h, 00h, 00h.
  • «2»:
32-битный формат: 82h, 00h, 00h, 00h.
40-битный формат: 82h, 00h, 00h, 00h, 00h.
32-битный формат: 81h, 00h, 00h, 00h.
40-битный формат: 81h, 00h, 00h, 00h, 00h.
32-битный формат: 00h, 00h, 00h, 00h (или 00h, xxh, xxh, xxh)
40-битный формат: 00h, 00h, 00h, 00h, 00h (или 00h, xxh, xxh, xxh, xxh)
32-битный формат: 80h, 00h, 00h, 00h.
40-битный формат: 80h, 00h, 00h, 00h, 00h.
32-битный формат: 7Fh, 00h, 00h, 00h.
40-битный формат: 7Fh, 00h, 00h, 00h, 00h.
32-битный формат: 80h, 80h, 00h, 00h.
40-битный формат: 80h, 80h, 00h, 00h, 00h.
32-битный формат: 80h, 35h, 04h, F3h.
40-битный формат: 80h, 35h, 04h, F3h, 34h.
32-битный формат: 81h, 35h, 04h, F3h.
40-битный формат: 81h, 35h, 04h, F3h, 34h.
32-битный формат: 80h, 31h, 72h, 18h.
40-битный формат: 80h, 31h, 72h, 17h, F8h.
32-битный формат: 81h, 38h, AAh, 3Bh.
40-битный формат: 81h, 38h, AAh, 3Bh, 29h.
32-битный формат: 81h, 49h, 0Fh, DBh.
40-битный формат: 81h, 49h, 0Fh, DAh, A2h.
32-битный формат: 83h, 49h, 0Fh, DBh.
40-битный формат: 83h, 49h, 0Fh, DAh, A2h.

См. также

[ редактировать ]
  1. ^ Jump up to: Перейти обратно: а б с д «IEEE против двоичного формата Microsoft; проблемы округления (завершено)» . Поддержка Майкрософт . Майкрософт . 21 ноября 2006 г. Идентификатор статьи KB35826, Q35826. Архивировано из оригинала 28 августа 2020 г. Проверено 24 февраля 2010 г.
  2. ^ «(Полное) руководство по пониманию ошибок IEEE с плавающей запятой» . База знаний . Майкрософт . 16 августа 2005 г. Идентификатор статьи KB42980, Q42980. Архивировано из оригинала 28 августа 2020 г. Проверено 2 июня 2016 г.
  3. ^ Jump up to: Перейти обратно: а б «Преобразование чисел с плавающей запятой C++ до IEEE-754 в/из C#» . stackoverflow.com . 21 апреля 2010 г. Архивировано из оригинала 28 августа 2020 г. Проверено 2 июня 2016 г. (Примечание. Вторая ссылка может быть ошибочно утверждать, что QB 4.0 может использовать MBF внутри себя, но он использует только IEEE. Он имеет всего лишь несколько функций преобразования для преобразования чисел с плавающей запятой IEEE в строки, содержащие данные MBF, например MKDMBF$ в дополнение к MKD$ , который просто копирует байты значения IEEE в строку.)
  4. ^ «В документации MASM 6.1 отмечается, что 5.1 была последней версией MASM, поддерживающей MBF» (PDF) . люди.sju.edu . Проверено 2 июня 2016 г.
  5. ^ Руководство пользователя GW-BASIC, Приложение D.3 Вызовы функций USR.
  6. ^ BASIC Второе издание (май 1982 г.), IBM: Приложение C-15 (Примечание. Это руководство по BASICA).
  7. ^ «Маршруты ПЗУ (целочисленная математика)» . Trs-80.com . Проверено 2 июня 2016 г.
  8. ^ Jump up to: Перейти обратно: а б с д и ж г час я дж к л м н тот п д р Стейл, Майкл (20 октября 2008 г.). «Создайте свою собственную версию Microsoft BASIC для 6502» . pagetable.com. Архивировано из оригинала 30 мая 2016 г. Проверено 30 мая 2016 г.
  9. ^ Jump up to: Перейти обратно: а б с д и Исааксон, Уолтер (20 сентября 2013 г.). «Рассвет революции» . Гарвардская газета . news.harvard.edu. Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  10. ^ Ралл, Луи Б. (1987). «Введение в язык научных вычислений Pascal-SC» . Компьютеры и математика с приложениями . 14 (1). Центр математических исследований, Университет Висконсин-Мэдисон , Мэдисон, Висконсин: Pergamon Journals Ltd : 53–69. дои : 10.1016/0898-1221(87)90181-7 . (17 страниц)
  11. ^ Люнг, К. Мин (3 февраля 2005 г.) [2000]. «Числа с плавающей запятой в цифровых компьютерах» (PDF) . cis.poly.edu . Кафедра компьютерных и информатики Политехнического университета. Архивировано (PDF) из оригинала 14 декабря 2018 г. Проверено 2 июня 2016 г.
  12. ^ Бекрафт, Майкл Б. (26 августа 2014 г.). Билл Гейтс: Биография . Абк-Клио. ISBN  978-1-44083014-3 . Проверено 30 мая 2016 г.
  13. ^ «Математический пакет» . altairbasic.org . 2014. Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г. (Примечание. Altair BASIC 3.2 (4K Edition).)
  14. ^ Орловский, Эндрю (11 мая 2001 г.). «Легенда Microsoft Altair BASIC рассказывает о Linux, CPRM и об этой очень пугающей фотографии — очень редкое интервью с Монте Давидоффом» . Регистр . Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  15. ^ Jump up to: Перейти обратно: а б Орловский, Эндрю (13 мая 2001 г.). «В поисках утраченного Altair BASIC Source Code — Пришли, увидели… разобрали» . Регистр . Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  16. ^ Jump up to: Перейти обратно: а б Гриффитс, Ян (8 мая 2000 г.). «В поисках Святого Источника — поездка Яна в Гарвард» . Архивировано из оригинала 02 января 2002 г. Проверено 30 мая 2016 г.
  17. ^ «Великие люди, лично ответственные за развитие искусства первых компьютеров» . Oldcomputers.net . 18 июля 2020 г. Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  18. ^ «Базовая версия 7.0 для Windows» . comp.lang.basic.powerbasic.narkive.com . Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  19. ^ Руководство по аппаратному обеспечению Radio Shack: Справочное руководство BASIC уровня II (1-е изд.). Форт-Уэрт, Техас: Radio Shack . 1978. Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г. [1]
  20. ^ Справочное руководство по BASIC уровня II (PDF) . РадиоШак . 1979 год . Проверено 2 июня 2016 г. {{cite book}}: |website= игнорируется ( помогите )
  21. ^ Справочное руководство BASIC-80 (MBASIC) (PDF) . Проверено 30 мая 2016 г.
  22. ^ Руководство пользователя Microsoft FORTRAN-80 версии 3.4 (PDF) . Ноябрь 1980. С. 45, 55 . Проверено 30 мая 2016 г. {{cite book}}: |website= игнорируется ( помогите )
  23. ^ Петцольд, Майкл, изд. (апрель 1993 г.). «Сборник заметок MS-DOS и AT» (на немецком языке). Группа обработки данных в MPI по гидродинамике, Геттинген, Институт Макса Планка. Архивировано из оригинала 20 февраля 2005 г. Проверено 7 октября 2015 г.
  24. ^ «Руководство по эксплуатации Tandy 200 Multiplan» (PDF) . classiccmp.org . Проверено 2 июня 2016 г.
  25. ^ Microsoft C Pcode Спецификации , стр. 13. (Примечание. Multiplan был скомпилирован не в машинный код, а в своего рода байт-код , который запускался интерпретатором, чтобы сделать Multiplan переносимым на самое разнообразное оборудование того времени. Этот байт-код отличает машинный формат с плавающей запятой для вычислений и внешний (стандартный) формат, который представляет собой двоично-десятичный формат (BCD). УПАКОВКА и Инструкции UNPACK преобразуются между ними.)
  26. ^ Microsoft COBOL-80 (PDF) . 1978. С. 26, 32 . Проверено 30 мая 2016 г. {{cite book}}: |website= игнорируется ( помогите )
  27. ^ Ли, Патрик Ю. «Макет файла почтового пакета QWK» (TXT) . textfiles.com . Проверено 2 июня 2016 г.
  28. ^ «Формат CSI Millennium (CSIM) с расширениями CSI Y2K» . csidata.com . Бока-Ратон, Флорида: Commodity Systems, Inc., 17 ноября 1998 г. Архивировано из оригинала (TXT) 5 марта 2016 г. Проверено 2 июня 2016 г. […] В этом документе описывается заброшенный формат данных CompuTrac, который до недавнего времени активно использовался графическим программным обеспечением MetaStock от Equis. […]
  29. ^ Биллард, Расс (04 мая 2016 г.) [13 июля 2001 г.]. «Преобразование двоичного формата Microsoft в формат IEEE с помощью VB 6» . Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  30. ^ ДжерМистер (2 июля 2003 г.). «Помогите! Кто-нибудь знает, как преобразовать старое значение M/S MBF из Qbasic в VB6» . Тек-советы . Форум Visual Basic (классический). Архивировано из оригинала 28 августа 2020 г. Проверено 30 мая 2016 г.
  31. ^ ГЛ88. «Чтение двоичного формата (QBasic) с помощью C#» . Социальный.msdn.microsoft.com . Проверено 30 мая 2016 г. {{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  32. ^ «Rmetrics — Чтение формата данных MetaStock в R» . R.789695.n4.nabble.com. 30 сентября 2013 г. Проверено 30 мая 2016 г.
  33. ^ Jump up to: Перейти обратно: а б «Intel и числа с плавающей запятой — обновление одного из самых успешных стандартов в отрасли — технологическое видение стандарта с плавающей запятой» (PDF) . Интел . 2016. Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 30 мая 2016 г. (11 страниц)
  34. ^ Jump up to: Перейти обратно: а б «Интервью со стариком, занимающимся плавающей запятой» . cs.berkeley.edu. 20 февраля 1998 г. Проверено 30 мая 2016 г.
  35. ^ «Числа с плавающей запятой VAX» . nssdc.gsfc.nasa.gov . Архивировано из оригинала 28 августа 2020 г. Проверено 2 июня 2016 г. (Примечание. В VAX-11/780 еще не реализован формат «G». Хотя это не очевидно из таблиц, поскольку структуры разбиты на двухбайтовые слова, порядок байтов фактически такой же, как и в современные процессоры В диапазоне экспоненты недостаточно места для NaN, бесконечности, бесконечности или денормализованных чисел.)
  36. ^ «VAX11 780» (PDF) . Ece.cmu.edu . Проверено 2 июня 2016 г.
  37. ^ Jump up to: Перейти обратно: а б «IEEE 754: Интервью с Уильямом Каханом» (PDF) . dr-chuck.com . Проверено 2 июня 2016 г.
  38. ^ Торнтон, Джеймс Э. (1970). Написано в Лаборатории перспективного проектирования Control Data Corporation. Проектирование компьютера: The Control Data 6600 (PDF) (1-е изд.). Гленвью, Иллинойс: Скотт, Форесман и компания . LCCN   74-96462 . Архивировано (PDF) из оригинала 28 августа 2020 г. Проверено 2 июня 2016 г. (1+13+181+2+2 страницы)
  39. ^ Кахан, Уильям Мортон . «Зачем нам нужен стандарт арифметики с плавающей запятой?» (PDF) . cs.berkeley.edu . Проверено 2 июня 2016 г.
  40. ^ Кахан, Уильям Мортон ; Дарси, Джозеф Д. «Как числа с плавающей запятой в Java вредят всем и повсюду» (PDF) . cs.berkeley.edu . Проверено 2 июня 2016 г.
  41. ^ Тернер, Питер Р. (21 декабря 2013 г.). Численный анализ и параллельная обработка: лекции, прочитанные в Ланкастере… . Спрингер. ISBN  978-3-66239812-8 . Проверено 30 мая 2016 г.
  42. ^ «Имена стандартизированных форматов с плавающей запятой» (PDF) . cs.berkeley.edu . Проверено 2 июня 2016 г.
  43. ^ Jump up to: Перейти обратно: а б с д и ж Сотрудники Borland (02 июля 1998 г.) [10 марта 1994 г.]. «Преобразование между форматами Microsoft Binary и IEEE» . База данных технической информации (TI1431C.txt). Embarcadero USA / Inprise (первоначально: Borland ). ID 1400. Архивировано из оригинала 20 февраля 2019 г. Проверено 30 мая 2016 г. […] _fmsbintoieee(float *src4, float *dest4) […] Двоичный формат MS […] порядок байтов => m3 | м2 | м1 | экспонента […] m1 — старший байт => sbbb|bbbb […] m3 — младший байт […] m = байт мантиссы […] s = знаковый бит […] b = бит […] MBF — смещение 128 а IEEE — смещение 127. […] MBF ставит десятичную точку перед предполагаемым битом , а IEEE помещает десятичную точку после предполагаемого бита. […] ieee_exp = msbin[3] - 2; /* на самом деле, msbin[3]-1-128+127 */ […] _dmsbintoieee(double *src8, double *dest8) […] Двоичный формат MS […] порядок байтов => m7 | м6 | м5 | м4 | м3 | м2 | м1 | экспонента […] m1 — старший байт => smmm|mmmm […] m7 — младший байт […] MBF — это смещение 128, а IEEE — это смещение 1023. […] MBF ставит десятичную точку перед предполагаемым битом, а IEEE ставит десятичную точку после предполагаемого бита. […] ieee_exp = msbin[7] - 128 - 1 + 1023; […]
  44. ^ «Группы Google» . Группы.google.com . Проверено 2 июня 2016 г.
  45. ^ Бакнелл, Джулиан М. (3 ноября 2018 г.) [23 октября 2007 г.]. «Понимание MBF одинарной точности» . boyet.com. Архивировано из оригинала 20 февраля 2019 г. Проверено 30 мая 2016 г. […] IEEE 754 Одиночный формат […] Показатель степени смещен на 127. Предполагаемый 1 бит перед точкой системы счисления (поэтому предполагаемая мантисса равна 1.ffff… где f — биты дробной части ) […] Двоичный формат Microsoft (одинарная точность) […] Экспонента смещена на 128. Предполагаемый 1 бит после точки системы счисления (поэтому предполагаемая мантисса равна 0,1ffff… где f — дробные биты) […] мантисса IEEE в два раза больше MBF мантисса. […] чтобы преобразовать из MBF в одиночный IEEE […] вычтите 2 из экспоненты (один для изменения смещения, один для коэффициента мантиссы), а затем переставьте биты знака и экспоненты. Дробь не меняется. Чтобы преобразовать одиночный IEEE в MBF, […] добавьте 2 к экспоненте (один для изменения смещения, один для коэффициента мантиссы), а затем переставьте биты знака и экспоненты. Дробь не меняется. […]
  46. ^ Jump up to: Перейти обратно: а б с д и ж г час Стейл, Майкл, изд. (20 октября 2008 г.). "msbasic/float.s" . ТУМАН64 . Архивировано из оригинала 28 августа 2020 г. Получено 28 августа 2020 г. - через github.com. [2] (Примечание. Прокомментированные списки дизассемблирования 6502, объединенные из нескольких версий Microsoft BASIC для 6502 в период с 1977 по 1982 год, чтобы воссоздать точные побайтовые копии исходных ПЗУ для 10 различных машин от разных поставщиков.)
  47. ^ Jump up to: Перейти обратно: а б с Стейл, Майкл, изд. (20 октября 2008 г.). "msbasic/trig.s" . ТУМАН64 . Архивировано из оригинала 28 августа 2020 г. Получено 28 августа 2020 г. - через github.com. [3] (Примечание. Прокомментированные списки дизассемблирования 6502, объединенные из нескольких версий Microsoft BASIC для 6502 в период с 1977 по 1982 год, чтобы воссоздать точные побайтовые копии исходных ПЗУ для 10 разных машин от разных поставщиков.)

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
  • Microsoft предоставляет динамическую библиотеку для 16-разрядного Visual Basic, содержащую функции для преобразования данных MBF в IEEE 754.
    • Эта библиотека объединяет функции преобразования MBF в 16-битный CRT Visual C(++).
    • Эти функции преобразования округляют число двойной точности IEEE, например ¾ ⋅ 2. −128 до нуля, а не до 2 −128 .
    • не поддерживают денормализаторы : номер одинарной точности IEEE или MBF 2. Они вообще −128 будет преобразовано в ноль, даже если оно представимо в любом формате.
    • Эта библиотека предназначена только для использования с Visual Basic; Ожидается, что программы C(++) будут вызывать функции CRT напрямую.
  • https://github.com/option8/Altair-BASIC
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3631fd797dcbd686571afa6a511224d2__1719044160
URL1:https://arc.ask3.ru/arc/aa/36/d2/3631fd797dcbd686571afa6a511224d2.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Binary Format - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)