*.com, хотя и загружался всегда по смещению 100h, это смещение могло быть в любом сегменте, т.е. считай в любом месте 640к-байтной памяти. Соответственно с точки зрения "многозадачности" (т.е. загрузить резидент) оба формата позволяли это сделать. Причем, *.com был даже удобнее.
Вы что то путаете, .сом файл априори не мог располагаться с любого адреса памяти, потому как условные и безусловные переходы в программе были определены жестко. В том было и отличие, что .ехе загружаясь с определенного адреса стартуя, сначала пересчитывает эти переходы относительно расположения в адресном пространстве, относительно своего расположения (адреса смещения от 100h), а уж потом начинал выполняться.
Еще раз:
DOS - 16-разрядная ОС.
Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).
Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.
com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.
exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.
Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).
Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.
com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.
exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.
Все так и есть,
для *.com все сегментные регистры при старте настроены на один сегмент (В Си - Тини модель).
Сейчас бьюсь с видео. Никак не хочет заливаться программа через внешний USB-TTL.
Как так не хочет заливаться? А как вы вообще писали и проверяли и заливали код в ваши 3 предыдущие железки, если не через внешний USB-TTL.? Замените вашу четвертую железку, она неисправна.
Ну не знаю почему не получается. Всегда цепляюсь прямо не ноги Gpio1-TX Gpio3-Rx . На USB-TTL тумблер в 3V3 жму 2 кнопки во время и прошивка залетает без проблем. В ESP32 CAM Надо перемычку ставить. И да вспомнил, что землю надо подключать рядом с выводом +5V - это важно. Потому как земля рядом с транзистором и светодиодом на плате ESP32CAM на самом деле не совсем GND и для прошивки не подходит.
Так и делаю. Но что то уже кажется что cam пришла битой. С остальными проблем пока не было. Есть одна 8266 которая так же не шьётся. Хотя старую программу выполняет.
Попробуй сначала сдуй микросхему ОЗУ (8 ножку) Китайцы в последнее время ставят их битыми, а нормальные продают отдельно по цене = самой плате. Приходится их заказывать отдельно, иначе функция распознавания лиц не работает.
Думаю алгоритмы компиляции идут от производителя контроллера. И говорить, что кодить в VS круче чем в Arduino IDE не стоит, и сравнимо с фразой одного известного персонажа форума - напишу на Чистом СИ.
Скорее всего, скоро будет нечтО Новое. Какой большой смысл, изучать Платформу/ВС код? Потом снова перизучать? В следующем году, сделают новейшую платформу, скорее всего.
Pilot — однопользовательская многозадачная операционная система, разработанная в Xerox PARC в начале 1977 года. Программный код Pilot был написан на языке программирования Mesa и составлял 24 000 строк.[1]
02 июля 2021
Второй пилот для разрааботчика: что не так с сервисом Copilot от Github
Дарья Сидорова
Практически всю историю современных технологий можно рассматривать как нескончаемую попытку автоматизировать повседневные задачи разработчиков. Эта идея стоит и за новым инструментом Copilot от веб-сервиса GitHub, принадлежащего Microsoft. Инструмент будет доступен в среде разработки с открытым исходным кодом Visual Studio Code.
GitHub описывает Copilot как «ИИ-напарника для парного программирования» (популярная практика, при которой разработчики совместно пишут один код). Однако помимо очевидных преимуществ, новинка также вызывает много вопросов и опасений.
Точно! Ну в своей цитате я поправил.
To andriano
*.com, хотя и загружался всегда по смещению 100h, это смещение могло быть в любом сегменте, т.е. считай в любом месте 640к-байтной памяти. Соответственно с точки зрения "многозадачности" (т.е. загрузить резидент) оба формата позволяли это сделать. Причем, *.com был даже удобнее.
Вы что то путаете, .сом файл априори не мог располагаться с любого адреса памяти, потому как условные и безусловные переходы в программе были определены жестко. В том было и отличие, что .ехе загружаясь с определенного адреса стартуя, сначала пересчитывает эти переходы относительно расположения в адресном пространстве, относительно своего расположения (адреса смещения от 100h), а уж потом начинал выполняться.
Еще раз:
DOS - 16-разрядная ОС.
Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).
Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.
com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.
exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.
DOS - 16-разрядная ОС.
Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).
Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.
com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.
exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.
Все так и есть,
для *.com все сегментные регистры при старте настроены на один сегмент (В Си - Тини модель).
Обведены красным.
Я так понял, шо здеся никто на есп32 никодит. Панятненько...
Я так понял, шо здеся никто на есп32 никодит. Панятненько...
Последние три железки были на ESP32. Сейчас бьюсь с видео. Никак не хочет заливаться программа через внешний USB-TTL.
Сейчас бьюсь с видео. Никак не хочет заливаться программа через внешний USB-TTL.
Как так не хочет заливаться? А как вы вообще писали и проверяли и заливали код в ваши 3 предыдущие железки, если не через внешний USB-TTL.? Замените вашу четвертую железку, она неисправна.
Остальные были с встроенным. А видео идет без.
Ну не знаю почему не получается. Всегда цепляюсь прямо не ноги Gpio1-TX Gpio3-Rx . На USB-TTL тумблер в 3V3 жму 2 кнопки во время и прошивка залетает без проблем. В ESP32 CAM Надо перемычку ставить. И да вспомнил, что землю надо подключать рядом с выводом +5V - это важно. Потому как земля рядом с транзистором и светодиодом на плате ESP32CAM на самом деле не совсем GND и для прошивки не подходит.
Так и делаю. Но что то уже кажется что cam пришла битой. С остальными проблем пока не было. Есть одна 8266 которая так же не шьётся. Хотя старую программу выполняет.
Попробуй сначала сдуй микросхему ОЗУ (8 ножку) Китайцы в последнее время ставят их битыми, а нормальные продают отдельно по цене = самой плате. Приходится их заказывать отдельно, иначе функция распознавания лиц не работает.
Последние три железки были на ESP32.
А кодишь на чём???
А что есть варианты на форуме ардуины?
Думаю алгоритмы компиляции идут от производителя контроллера. И говорить, что кодить в VS круче чем в Arduino IDE не стоит, и сравнимо с фразой одного известного персонажа форума - напишу на Чистом СИ.
дЫк как на счёт среды прграммирования Arduino IDE? Стоит мне годы жизни тратить на Платформу?
На Гитхабе, всё больше кода становится на Платформе...
Скорее всего, скоро будет нечтО Новое. Какой большой смысл, изучать Платформу/ВС код? Потом снова перизучать? В следующем году, сделают новейшую платформу, скорее всего.
Pilot — однопользовательская многозадачная операционная система, разработанная в Xerox PARC в начале 1977 года. Программный код Pilot был написан на языке программирования Mesa и составлял 24 000 строк.[1]
02 июля 2021
Второй пилот для разрааботчика: что не так с сервисом Copilot от Github
Дарья Сидорова
Практически всю историю современных технологий можно рассматривать как нескончаемую попытку автоматизировать повседневные задачи разработчиков. Эта идея стоит и за новым инструментом Copilot от веб-сервиса GitHub, принадлежащего Microsoft. Инструмент будет доступен в среде разработки с открытым исходным кодом Visual Studio Code.
GitHub описывает Copilot как «ИИ-напарника для парного программирования» (популярная практика, при которой разработчики совместно пишут один код). Однако помимо очевидных преимуществ, новинка также вызывает много вопросов и опасений.
у нас новый тролль на форуме?
Да! Толстый тролль 80 левел.
А вы с како́й целью интересуетесь?