А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?
Готов спорить, что на таком экзотическом языке, как Пролог на Z80 (Yamaha YIS-805) мало, кто писал :-)
А так, что-то не припомню там большого выбора. Был само собой ассемблер и какой-то MSX-C (на котором и был реализован тот самый Пролог). Разве там был большой выбор средств разработки?
Бейсик.))) Да, Пролог это сильно.) Си то точно был, и сейчас есть (HT, IAR). Под CP/M много чего было. Ну и ассемблеров (кросс) огромное количество. Только вот лучше Микрософт M80 (1981 года!) я не встречал.)
А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?
Воще Z80, был немного расширеный да ускореный 8080. А то было мэйнстримом для домашнего ПК до 8086. Так что было почти все что было на тот момент. Но реально, из-за очень слабых ресурсов (48кБ памяти и пару МГц) системное писалось на асме. Т.е. игра с графикой и музыкой влазит и успевает. А вам 328р нехватает мигать лампой ((( Графический редактор типа паинта в 8кБ влазил. Для творчества юзверей - бейсик расширеный в спектруме и его подобным. Ну как вариант - загрузить СР/М, тока потом памяти ни на что уже не останется. С магнитофона загрузить. Позже дисководы подключали.
На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все.
Z80 был не только на Спектрумах. Хотя я когда то делал примочку к Ленинград-2, которая имела полноценный дисплей 80х25, доп. клавиатуру, FDD, PRN. Ну и, соответственно, позволяла использовать весь CP/M-овский софт. А там уже куча всего было. И хотя писалось всё на ассемблере, производительность была приличной (производительность труда)). Просто задачи были другими.)
Самому на Ардуино, правда, кириллицей (за исключением тестовых примеров к указанным проектам) пользоваться не приходилось. Но на ПК я ее не избегаю (хотя и не отдаю ей безусловного предпочтения). При выборе языка интерфейса для сторонних программ, как правило, выбираю английский - не приходится подбирать обратный перевод для пунктов меню.
Но в целом, обилие кодировок кириллицы - это полная жуть, весомый вклад в которую внесли Майкрософт, придумавшие cp1251 при наличии уже имевшихся стандартов, а также принявшие, что кодировки для консольных и оконных программ должны быть различными.
На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все.
Первый ТурбоПаскаль был сделан как раз под Z80 и СP/M. Был уже сразу в классическом виде (редактор + встроенный компилятор). Поддерживал арифметику с плавающей точкой, компилил влет и давал приличный код.
Ну, CP/M то была под 8080. Другое дело что Z80 позволял разгоняться и своё ПО использовать. Да и вообще, железо удобно было с одним 5-ти вольтовым питанием. А так люди даже HDD цепляли. Конечно без подкаталогов неудобно было, но тем не менее изгалялись. CP/M вообще просто ставилась на что угодно. Пацана своего как то пытался приобщить - сделал машинку в корпусе роутера. Аt29c020 использовал в качестве диска - ну просто песня). Другое дело что никому это и нафиг сейчас не нужно - для очень больших любителей.(
Байтом называется любая минимально адресуемая ячейка памяти.
ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?
Байтом называется любая минимально адресуемая ячейка памяти.
ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?
Пример некорректный: HDD - это блочное устройство, а не устройство с прямым доступом. Другими словами, 4096 бит - это длина блока, а не размер ячейки.
Вопрос на засыпку: существует ли адресация байтов внутри сектора?
Что такое байт в HDD?
Цитата:
Если "да", то сектор не является минимально адресуемым элементом.
В рамках HDD минимально адресуемой единицей является сектор. В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.
В рамках HDD минимально адресуемой единицей является сектор.
Не минимально адресуемой единицей, а длиной блока. Что не одно и то же. Иначе не существовало бы различия между устройствами с прямой адресацией и блочными устройствами.
Цитата:
В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.
И что с того?
В Фортране, например, бесформатную запись можно записать или считать только целиком. При том, что ее размер задается в байтах (или словах), т.е. может быть произвольным. Означает ли это, что в Фортране минимально адресуемая единица имеет произвольную длину?
Байтом называется любая минимально адресуемая ячейка памяти. Яче́йка па́мяти — минимальный адресуемый элемент запоминающего устройстваЭВМ.
Минимально адресуемый элемент в данном HDD это сектор (4096 бит). Адресовать меньшую единицу нельзя никак. Стало быть согласно данным определениям мы можем называть сектор байтом. Не так ли?
Цитата:
В Фортране, например, бесформатную запись можно записать или считать только целиком.
С каких это пор Фортран или его элементы стали запоминающими устройствами? Так что данный пример совсем не в кассу.
и обратите внимание, что оперативная память и дисковые устройства относятся к устройствам с различным типом доступа.
Цитата:
По типу доступа:
С последовательным доступом (например, магнитные ленты).
С произвольным доступом (RAM; например, оперативная память).
С прямым доступом (например, жёсткие диски).
С ассоциативным доступом (специальные устройства, для повышения производительности баз данных).
при этом имеется в виду, что при прямом доступе передаваемый блок данных имеет некоторую длину, т.е. состоит из некоторого количества минимально адресуемых элементов (ячеек). Т.е. блок и элемент (ячейка) - не только различные понятия, но и отношение между ними строго определено: блок содержит в себе некоторое количество элементов (ячеек). В случае со стандартным дисковым устройством длина блока равна 512 восьми-битным байтам.
Logic, чо спорить с Великим, надо его сразу отправлять в устройство ноль
А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?
А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?
Готов спорить, что на таком экзотическом языке, как Пролог на Z80 (Yamaha YIS-805) мало, кто писал :-)
А так, что-то не припомню там большого выбора. Был само собой ассемблер и какой-то MSX-C (на котором и был реализован тот самый Пролог). Разве там был большой выбор средств разработки?
Бейсик.))) Да, Пролог это сильно.) Си то точно был, и сейчас есть (HT, IAR). Под CP/M много чего было. Ну и ассемблеров (кросс) огромное количество. Только вот лучше Микрософт M80 (1981 года!) я не встречал.)
А мне интересно на чём (каком языке) программировал для z80, для какого железа, в какой среде, каким транслятором?
Воще Z80, был немного расширеный да ускореный 8080. А то было мэйнстримом для домашнего ПК до 8086. Так что было почти все что было на тот момент. Но реально, из-за очень слабых ресурсов (48кБ памяти и пару МГц) системное писалось на асме. Т.е. игра с графикой и музыкой влазит и успевает. А вам 328р нехватает мигать лампой ((( Графический редактор типа паинта в 8кБ влазил. Для творчества юзверей - бейсик расширеный в спектруме и его подобным. Ну как вариант - загрузить СР/М, тока потом памяти ни на что уже не останется. С магнитофона загрузить. Позже дисководы подключали.
На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все.
Z80 был не только на Спектрумах. Хотя я когда то делал примочку к Ленинград-2, которая имела полноценный дисплей 80х25, доп. клавиатуру, FDD, PRN. Ну и, соответственно, позволяла использовать весь CP/M-овский софт. А там уже куча всего было. И хотя писалось всё на ассемблере, производительность была приличной (производительность труда)). Просто задачи были другими.)
Ну никак не мог не отметиться в этой теме.
Хотя бы потому, что в двух из моих проектов:
http://arduino.ru/forum/proekty/asoled-kompaktnaya-biblioteka-dlya-oled-displeya-128kh64-s-kirillitsei-utf-8
и
http://arduino.ru/forum/proekty/s-stm32f103-na-televizor-polnyi-tv-signal
кириллица представляет собой некоторую "изюминку".
Хотя мое отношение к ней описывается в первой фразе (после заголовка) темы
http://arduino.ru/forum/programmirovanie/kirillitsa-na-displee-ili-chto-ya-delayu-ne-tak
Самому на Ардуино, правда, кириллицей (за исключением тестовых примеров к указанным проектам) пользоваться не приходилось. Но на ПК я ее не избегаю (хотя и не отдаю ей безусловного предпочтения). При выборе языка интерфейса для сторонних программ, как правило, выбираю английский - не приходится подбирать обратный перевод для пунктов меню.
Но в целом, обилие кодировок кириллицы - это полная жуть, весомый вклад в которую внесли Майкрософт, придумавшие cp1251 при наличии уже имевшихся стандартов, а также принявшие, что кодировки для консольных и оконных программ должны быть различными.
На спектруме был Hisoft Pascal и Hisoft-C. Правда, Си был целочисленным, занимал 23 Кб из 48 и постоянно вешался. Паскаль тоже шибко не отличался, программировать на этом было невозможно. Были всевозможные расширители и типа компиляторы со встроенного Васика, но до того нелепые, что как сирезный инструмент не рассматривались. Кросс-ассемблер на XT - было наше все.
Первый ТурбоПаскаль был сделан как раз под Z80 и СP/M. Был уже сразу в классическом виде (редактор + встроенный компилятор). Поддерживал арифметику с плавающей точкой, компилил влет и давал приличный код.
Ну, CP/M то была под 8080. Другое дело что Z80 позволял разгоняться и своё ПО использовать. Да и вообще, железо удобно было с одним 5-ти вольтовым питанием. А так люди даже HDD цепляли. Конечно без подкаталогов неудобно было, но тем не менее изгалялись. CP/M вообще просто ставилась на что угодно. Пацана своего как то пытался приобщить - сделал машинку в корпусе роутера. Аt29c020 использовал в качестве диска - ну просто песня). Другое дело что никому это и нафиг сейчас не нужно - для очень больших любителей.(
Байтом называется любая минимально адресуемая ячейка памяти.
ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?
Байтом называется любая минимально адресуемая ячейка памяти.
ОК. Вот у меня на столе лежит старый HDD. На нем написано "10 Gigabyte". Минимально адресуемой ячейкой на нем является 4096 бит. Скажи мне, пожалуйста какая емкость этого диска в битах?
Яче́йка па́мяти — минимальный адресуемый элемент запоминающего устройства ЭВМ. (https://ru.wikipedia.org/wiki/Ячейка_памяти)
Наиболее известные запоминающие устройства, используемые в персональных компьютерах: модули оперативной памяти (ОЗУ), жёсткие диски (винчестеры), дискеты (гибкие магнитные диски), CD- или DVD-диски, а также устройства флеш-памяти. (https://ru.wikipedia.org/wiki/Компьютерная_память)
Вопрос на засыпку: существует ли адресация байтов внутри сектора?
Если "да", то сектор не является минимально адресуемым элементом.
Вопрос на засыпку: существует ли адресация байтов внутри сектора?
Что такое байт в HDD?
В рамках HDD минимально адресуемой единицей является сектор. В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.
А сколько в том диске мегабайт в гигабайте, 1000 или 1024? Без этого ответить на Ваш вопрос невозможно.
А сколько в том диске мегабайт в гигабайте, 1000 или 1024? Без этого ответить на Ваш вопрос невозможно.
Ну, пускай 1000. В данном случае мне порядок величин важен.
В рамках HDD минимально адресуемой единицей является сектор.
Не минимально адресуемой единицей, а длиной блока. Что не одно и то же. Иначе не существовало бы различия между устройствами с прямой адресацией и блочными устройствами.
В том диске о котором идет речь размер сектора 4096 бит. Меньшая единица не адресуется. Записать или считать можно только сектор целиком.
И что с того?
В Фортране, например, бесформатную запись можно записать или считать только целиком. При том, что ее размер задается в байтах (или словах), т.е. может быть произвольным. Означает ли это, что в Фортране минимально адресуемая единица имеет произвольную длину?
Еще раз согласно данному выше здесь определению:
Байтом называется любая минимально адресуемая ячейка памяти.
Яче́йка па́мяти — минимальный адресуемый элемент запоминающего устройства ЭВМ.
Минимально адресуемый элемент в данном HDD это сектор (4096 бит). Адресовать меньшую единицу нельзя никак. Стало быть согласно данным определениям мы можем называть сектор байтом. Не так ли?
С каких это пор Фортран или его элементы стали запоминающими устройствами? Так что данный пример совсем не в кассу.
asam, еще раз: минимально адресуемая и минимально читаемая/записываемая - это не одно и то же.
Если Вы так любите Википедию, почитайте: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BF%D0%BE%D0%BC%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B5%D0%B5_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE
и обратите внимание, что оперативная память и дисковые устройства относятся к устройствам с различным типом доступа.
По типу доступа:
при этом имеется в виду, что при прямом доступе передаваемый блок данных имеет некоторую длину, т.е. состоит из некоторого количества минимально адресуемых элементов (ячеек). Т.е. блок и элемент (ячейка) - не только различные понятия, но и отношение между ними строго определено: блок содержит в себе некоторое количество элементов (ячеек). В случае со стандартным дисковым устройством длина блока равна 512 восьми-битным байтам.