RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Январь 2021
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Календарь Календарь

Последние темы
» МКБ-8601: Технический проект процессора-эмулятора.
автор Viktor2312 Вчера в 23:32

» Микро-БЭСМ (МКБ-8601).
автор Viktor2312 Вчера в 23:04

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Вчера в 21:54

» Разное
автор Viktor2312 Вчера в 12:57

» Полезные книги
автор barsik Пт Янв 22 2021, 21:52

» Модулярная арифметика.
автор Viktor2312 Ср Янв 20 2021, 19:38

» Флейм только по теме "Радио-86РК".
автор ведущий_специалист Вт Янв 19 2021, 17:14

» Разработка игр для радио86 РК
автор ведущий_специалист Пн Янв 18 2021, 17:45

» Тема, пока без названия.
автор Viktor2312 Пн Янв 18 2021, 12:58

» "Радио-86РК". Статьи, заметки, очерки, разное...
автор Viktor2312 Пн Янв 18 2021, 11:53

» ДР Vita Удачи!
автор Viktor2312 Вс Янв 17 2021, 13:25

» Изучаем язык программирования С. Вариант-3.
автор Viktor2312 Вс Янв 17 2021, 01:42

» Улучшение видео возможностей РК86
автор ведущий_специалист Сб Янв 16 2021, 21:28

» ЭВМ "М-10".
автор Viktor2312 Пт Янв 15 2021, 17:44

» Документация (IBM 360).
автор Viktor2312 Ср Янв 13 2021, 22:28

» ЦПУ 8085
автор barsik Ср Янв 13 2021, 21:01

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор san010101 Вт Янв 12 2021, 11:54

» Стандартная библиотека языка Си.
автор Viktor2312 Пн Янв 11 2021, 13:26

» Для начинающих.
автор barsik Пт Янв 08 2021, 00:40

» Настройки ПДП КР580ВГ75
автор ведущий_специалист Ср Янв 06 2021, 16:10

» Микропроцессор КР580ВМ80А (i8080)
автор barsik Вт Янв 05 2021, 23:05

» МИКРО - 80. Статьи, заметки, очерки, разное...
автор barsik Пн Янв 04 2021, 17:28

» Новости форума
автор Viktor2312 Ср Дек 30 2020, 17:21

» Другой микропроцессор в ИРИШЕ
автор barsik Вт Дек 29 2020, 15:02

» Компиляторы Си для программирования РК86
автор barsik Пн Дек 28 2020, 22:11

Самые активные пользователи за месяц
Viktor2312
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 
barsik
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 
ведущий_специалист
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 
Atari1974
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 
san010101
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 
Artur
Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_l10Изучение Си, в применении к К210. Отличия, особенности и т. д... Voting10Изучение Си, в применении к К210. Отличия, особенности и т. д... Vote_r10 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Изучение Си, в применении к К210. Отличия, особенности и т. д...

Страница 1 из 2 1, 2  Следующий

Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty Изучение Си, в применении к К210. Отличия, особенности и т. д...

Сообщение  Viktor2312 в Пн Ноя 30 2020, 05:39

1
Очередной мой типа конспект, но касательно в применении к К210. Буду тут изучать, конспектировать, думать, спрашивать и задавать глупые вопросы, детские, так как мой Си на уровне яслей детского сада, ну да да, понимаю, через чур оптимистичный уровень знания, но лучше, чем полный ноль без палочки...

Я в принципе как буду сталкиваться с чем-то новым или с тем что забыл, а забыл я всё, буду тут изучать осваивать и т. д. Сейчас вот сталкнулся с struct, соответственно нужно освежить, или изучить, синтаксис, применение и т. д.

___________________________________________________
Структуры.

Теория: struct

Структура - это совокупность переменных, объединённых одним именем, предоставляющая общепринятый способ совместного хранения информации. Объявление структуры приводит к образованию шаблона, используемого для создания объектов структуры. Переменные, образующие структуру, называются членами структуры. (Члены структуры также часто называются элементами или полями.)

Структура в языке Си – это тип данных, создаваемый программистом, предназначенный для объединения данных различных типов в единое целое.

Стандартный вид объявления структуры следующий:

struct ярлык {
тип имя переменной;
тип имя переменной;
тип имя переменной;
} структурные переменные;

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

Обычно все члены о|o структуры связаны друг с другом. Например, информация об имени и адресе, находящаяся в списке рассылки, обычно представляется в виде структуры. Следующий фрагмент кода объявляет шаблон структуры, определяющий имя и адрес. Ключевое слово struct сообщает компилятору об объявлении структуры.

struct addr {
char name[30];
char street [40];
char city[20];
char state[3];
unsigned long int zip;
};

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

На данный момент на самом деле не создано никакой переменной. Определена только форма данных. Для объявления настоящей переменной, соответствующей данной структуре, следует написать:

struct addr addr_info;

В данной строке происходит объявление переменной addr_info типа addr. При объявлении структуры определяется переменная смешанного типа. До тех пор, пока не будет объявлена переменная данного типа, она не будет существовать.

Когда объявлена структурная переменная, компилятор автоматически выделяет необходимый участок памяти для размещения всех её членов. Рис. показывает размещение addr_info в памяти.

Изучение Си, в применении к К210. Отличия, особенности и т. д... K210_051

При объявлении структуры можно одновременно объявить одну или несколько переменных.

Например:

struct addr {
char name[30];
char street[40];
char city[20];
char state[3];
unsigned long int zip;
} addr_info; binfo, cinfo;

объявляет структуру addr и объявляет переменные addr_info, binfo, cinfo данного типа.

Важно понять, что каждая вновь создаваемая структурная переменная содержит свои собственные копии переменных, образующих структуру. Например, поле zip переменной binfo отделено от поля zip переменной cinfo. Фактически, единственная связь между binfo и cinfo заключается в том, что они обе являются экземплярами одного типа структуры. Больше между ними нет связи.

Если необходима только одна структурная переменная, то нет необходимости в ярлыке структуры. Это означает, что

struct {
char name[30];
char street[40];
char city[20];
char state[3];
unsigned long int zip;
} addr_info;

объявляет одну переменную addr_info с типом, определенным предшествующей ей структурой.

___________________________________________________
Присваивание структур.

Информация, содержащаяся в одной структуре, может быть присвоена другой структуре того же типа с помощью одиночного оператора присваивания, то есть не нужно присваивать значение каждого члена по отдельности. Следующая программа демонстрирует присваивание структур:

#include <stdio.h>
int main(void)
{
struct {
int a;
int b;
} x, y;
x.a = 10;
x.b = 20;
у = x; /* присвоение одной структуры другой */
printf ("Contents of у: %d %d.", y.a, y.b);
return 0;
}

После присваивания у.а и y.b будут содержать значения 10 и 20 соответственно.
___________________________________________________
Доступ к членам структуры.

Доступ к отдельным членам структуры осуществляется с помощью оператора. (обычно называется «точкой») Например, следующий фрагмент кода присваивает члену zip структурной переменой addr_info значение 12345:

addr_info.zip = 12345;

За именем структурной переменной следует точка, а за ней имя члена, к которому происходит обращение. Ко всем членам структуры доступ осуществляется точно таким же способом. Стандартный вид доступа следующий:

имя_структуры.имя_члена

Следовательно, для вывода поля zip на экран надо написать:

printf("%ld", addr_info.zip);

Данная строка выводит на экран содержимое поля zip структурной переменной addr_nfo. Таким же образом массив символов addr_info.name может использоваться в gets():

gets (addr_infо.name);

Данная команда передает указатель на символ, указывающий на начало name.

Для доступа к отдельным элементам addr_info.name можно использовать индекс name. Например, можно вывести содержимое addr_info.name посимвольно с помощью следующего кода:

register int t;
for(t=0; addr_info.name [t]; ++t) putchar (addr_info.name [t]);

Отличие структурной переменной от обычной переменной удобно проиллюстрировать на примере с коробками. Считаем, что обычная переменная это просто коробка, в которую можно положить объект определенного типа, например, целое число.

Структурная переменная, это тоже коробка, внутри которой есть отдельные секции для хранения различных данных. Количество этих секций и типы данных, которые мы можем там хранить, задаются шаблоном структуры.
___________________________________________________





.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Пн Ноя 30 2020, 21:22

2
Давайте почитаем первоисточник. Может он разложит, хоть что-то по полочкам...

Структуры.

Структура — это одна или несколько переменных (возможно, различных типов), которые для удобства работы с ними сгруппированы под одним именем. (В некоторых языках, в частности в Паскале, структуры называются записями.) Структуры помогают в организации сложных данных (особенно в больших программах), поскольку позволяют группу связанных между собой переменных трактовать не как множество отдельных элементов, а как единое целое.

Традиционный пример структуры — строка платежной ведомости. (блин вот бесит, эта зацикленность пендосов, англосаксов, на бабле. Ну да ладно, читаем дальше...) Она содержит такие сведения о служащем, как его полное имя, адрес, номер карточки социального страхования, зарплата и т. д. Некоторые из этих характеристик сами могут быть структурами: например, полное имя состоит из нескольких компонент (фамилии, имени и отчества); аналогично адрес, и даже зарплата. Другой пример (более типичный для Си) — из области графики: точка есть пара координат, прямоугольник есть пара точек и т. д.

Главные изменения, внесённые стандартом ANSI в отношении структур, — это введение для них операции присваивания. Структуры могут копироваться, над ними могут выполняться операции присваивания, их можно передавать функциям в качестве аргументов, а функции могут возвращать их в качестве результатов. В большинстве компиляторов уже давно реализованы эти возможности, но теперь они точно оговорены стандартом. Для автоматических структур и массивов теперь также допускается инициализация.

Основные сведения о структурах.

Сконструируем несколько графических структур. В качестве основного объекта выступает точка с координатами х и у целого типа.

Изучение Си, в применении к К210. Отличия, особенности и т. д... K210_053

Указанные две компоненты можно поместить в структуру, объявленную, например, следующим образом:

struct point {
int x;
int у;
};

Объявление структуры начинается с ключевого слова struct и содержит список объявлений, заключенный в фигурные скобки. За словом struct может следовать имя, называемое тегом (ага, ярлык, тег, чё хочу, то и пишу, никакой определённости, каждый пишет на свой лад, ну да ладно, имя структуры, будем считать) структуры, (point в нашем случае). Тег даёт название структуре данного вида и далее может служить кратким обозначением той части объявления, которая заключена в фигурные скобки.

Короче чуть чуть понятнее стало, всё что в фигурных скобках можно обозначать через это имя структуры, ну всё равно общая картина пока не складывается, частные случаи чуть чуть понятны, но... Читаем дальше...

Перечисленные в структуре переменные называются элементами (members). Имена элементов и тегов без каких-либо коллизий могут совпадать с именами обычных переменных (т. е. не элементов), так как они всегда различимы по контексту. Более того, одни и те же имена элементов могут встречаться в разных структурах, хотя, если следовать хорошему стилю программирования, лучше одинаковые имена давать только близким по смыслу объектам.

Объявление структуры определяет тип. За правой фигурной скобкой, закрывающей список элементов, могут следовать переменные точно так же, как они могут быть указаны после названия любого базового типа. Таким образом, выражение

struct {…} х, у, z;

с точки зрения синтаксиса аналогично выражению

int x, у, z;

в том смысле, что и то и другое объявляет x, y и z переменными указанного типа; и то и другое приведёт к выделению памяти соответствующего размера.

И вот тут многое становится понятным, bounce

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

struct point pt;

определяет структурную переменную pt типа struct point. Структурную переменную при её определении можно инициализировать, формируя список инициализаторов ее элементов в виде константных выражений:

struct point maxpt = { 320, 200 };

Инициализировать автоматические структуры можно также присваиванием или обращением к функции, возвращающей структуру соответствующего типа.

Блиин, то ли у меня память закончилась, то ли "Эльфийского Эля" ещё хочется ! но всё, моё понимание дальнейшего тут опять встало...

Дальше без учителя, показывающего на пальцах и примерах, бесполезно, хотя, может если Эль выветрится и сосредоточится... Но, не сегодня... Суть в общем понятна, но детали ускользают...

А..а... биомусор... ни мозгов. ни чего...

Не, а дальше интересно. Например:

Доступ к отдельному элементу структуры осуществляется посредством конструкции вида:

имя-структуры.элемент

Оператор доступа к элементу структуры . (точка) соединяет имя структуры и имя элемента. Чтобы напечатать,
например, координаты точки pt, годится следующее обращение к printf:

printf("%d,%d", pt.x, pt.y);

Но, это толко кажется, дальше жопный пример, "нихрена ничего не понятно, но очень интересно". Понятно, что со временем я разберусь и пойму, но бесит отсутствие нормального описания, чтобы вот раз, и понял и теорию и практику, в общих чертах что-то понятно, но общей картины нет, как же мне нравится ассемблер, точнее мнемокоды КР580ВМ80А, всё чётко, ясно и понятно, без преувеличений...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Вт Дек 01 2020, 00:51

3
Viktor2312 пишет:Буду тут... думать, спрашивать... так как мой Си на уровне яслей
Ещё раз скажу, что без одновременной практики, читать учебники и просто описания ЯВУ - почти бесполезно (общее представление получите, а умение программировать - нет).

Т.е, как минимум, нужен работающий компилятор, выдающий код и возможность его запустить. Есть ли такая возможность это иметь простым способом в том инструменте для микроконтроллера, что Вы изучаете? Т.е есть ли у Вас под рукой компилятор и работающий аппарат на этом микроконтроллере, куда можно залить странслированную программу и проверить работу странслированной учебной программки? Или хотя бы эмулятор такой целевой системы в котором тоже можно прогнать программу и проверить работает ли она как хотелось.

А тут нет ничего лучше для трансляции, кроме как компилятор BDS C запускаемый в окне MSDOS или под TSR CP/M-эмулятором (типа 22NICE) или просто в среде чисто CP/M-эмулятора (типа Z80MU) работающего в MSDOS. А проверять работу странслированной Си-программы удобнее всего в эмуляторе любой 8-ми разрядки (и проще всего тут РК86). Выгода в том, что работаем на PC в любимом текстовом редакторе, закончив редактирование - хлоп по кнопке мыши запускающей BAT-файл и (если ошибок нет) через 0.5 секунды исходник странслирован и запущен эмулятор и работу странслированной программы можно проверять.

Если эмулятор удобный (типа моего, в котором не нужны утомительные доп.манипуляции, чтобы загрузить в него программу, а это происходит автоматически), то остаётся только запустить программу в эмуляторе. Для хороших эмуляторов также можно упростить жизнь, если запускать эмулятор BAT-файлом указав в командной строке имя запускаемой при старте программы (приличные эмуляторы так умеют делать, а вот про популярные для эмуляции РК86 эмуляторы EMU и EMU80, пока ещё не знаю, есть ли в них такое).

Запуск программы в реальной 8-ми разрядке (а лучше в её эмуляторе) - намного удобнее, чем в отладчике компилятора с IDE (если там вообще есть отладчик), т.к позволяет сделать программы с визуальным выводом, т.е сразу видно работает программа как надо или нет. А в отладчике проверка делается, например, просмотром переменных, что менее наглядно и удобно.

Таким образом, если бы Вы начали изучать Си разумно, как я предлагал, то сейчас бы не пили ваш "эль" канистрами с риском быстро стать законченным алконавтом, а уже наштамповали бы десяток (пусть для начала и не самых изумительных) игр для РК86. Но нет смысла убеждать Вас, раз Вы решили решить задачу освоения Си неэффективным и трудоёмким способом.

Не знаю чего Вы нашли сложного в структурах Си (вот в ООП С++ Вы бы зациклились, т.к там всё основано на них). Чётко видно, что без одновременного использования изучаемого материала в своих простейших программках, в которых Вы проверяете работу изученных операторов у Вас и возникает сумбур в голове, хотя на самом деле в Си всё просто и кристально ясно (если конечно изучать правильно, а не так как пытаесь Вы).
Viktor2312 пишет:struct {…} х, у, z;
Вот это какая-то левота. Не помню таких конструкций. Вопрос о том, разве конструкция с троеточием есть в Си? Думаю это глупое сокращение путающее человека, т.е следовало было словами пояснить, что точками тут просто для экономии бумаги обозначено обычное задание полей структуры.

Чтобы освоить структуры, напишите РК-ксоникс используя там структуры, чтобы задавать параметры каждого жорика - там будут 3 поля структуры: координата X, координата Y, и вектор дижения V.  
Viktor2312 пишет:то ли у меня память закончилась, то ли "Эльфийского Эля" ещё хочется ! но всё, моё понимание дальнейшего тут опять встало...
Ничего же сложного не было. С "элем" поосторожнее, да и скорее это у Вас как раз от изобилия принятого на грудь "эля" восприятие закупорилось и входное сопротивление мозга резко возросло. Кстати, "эль" это гадость, уж лучше пиво.
Viktor2312 пишет:Дальше без учителя, показывающего на пальцах и примерах, бесполезно, хотя, может если Эль выветрится и сосредоточиться...
Если что-то непонятно - пробовать надо, блин! Т.е написать программу, странслировать, прогнать, посмотреть, сделать выводы, усвоить и запомнить. А если непонятно, что делает компилятор для конверсии оператора в маш.код - смотрим ассемблерный текст выданный компилятором. Из чего и понимаем, как работает Си. А с вашим методом изучения Вы ничего этого не можете (и возможно ваш крутой компилятор Си для микроконтроллера конвертирует прямо в код маш.языка микроконтроллера минуя фазу генерации ассемблерного текста).
Viktor2312 пишет:Суть в общем понятна, но детали ускользают...
Вот потому и ускользают, что метод изучения чисто книжный, не подкреплённый практикой.
Viktor2312 пишет:printf("%d,%d", pt.x, pt.y);

... жопный пример, "нихрена ничего не понятно, но очень интересно".
А тут-то чего? Может Вы ещё по вашему учебнику до процедуры printf не дошли? Или ключи для задания форматного вывода в printf, листая Керигана_&_Ритчи пропустили? Если что-то стало неясно освежите знания о работе непонятной стандартной процедуры и функции по Керниганычу. В его конце есть указатель страниц в которых обсуждена работа всех операторов и методов Си. Узнаёте нужную страницу по слову printf, читаете. Затем находите, где перечислены ключи задающие в нём формат вывода и снова читаете и всё изученное ранее вспоминается.
Viktor2312 пишет:...бесит отсутствие нормального описания, чтобы вот раз, и понял и теорию и практику
Как Вы сможете понять практику не практикуя написание программ на Си, трансляцию и прогон пролученного кода в реале или в эмуляторе?
Viktor2312 пишет:как же мне нравится ассемблер, точнее мнемокоды КР580 ВМ80А, всё чётко, ясно и понятно, без преувеличений...
Ассемблер Z80, если Вы не идиот, Вам понравится ещё больше, т.к с ним думать о мнемониках вообще не требуется, т.к сами мнемоники Z80 однозначно информируют Вас о том, что они делают. Потому-то они и лучшие. По этой причине изучая ассемблер в мнемониках КР580 люди начинают программировать примерно через 3 дня, а в мнемониках Z80 - уже через 30 минут.
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 01:43

4
Ещё раз скажу, что без одновременной практики, читать учебники и просто описания ЯВУ - почти бесполезно (общее представление получите, а умение программировать - нет).

Ну, так мы на практике это будем делать, всё в процессе...

Т.е, как минимум, нужен работающий компилятор, выдающий код и возможность его запустить. Есть ли такая возможность это иметь простым способом в том инструменте для микроконтроллера, что Вы изучаете? Т.е есть ли у Вас под рукой компилятор и работающий аппарат на этом микроконтроллере, куда можно залить странслированную программу и проверить работу странслированной учебной программки? Или хотя бы эмулятор такой целевой системы в котором тоже можно прогнать программу и проверить работает ли она как хотелось.

Да как вроде есть в ПО. Железяку надеюсь кто нибудь кинет в меня, за энное количество бабла. Я просто не пользовался всякими али бобами или как они называются, поэтому пока те знаю как поиметь, но судя по всему это проще чем в Чип/дип заказать К155ЛА3, ну или так же... По сложности.

А тут нет ничего лучше для трансляции, кроме как компилятор BDS C запускаемый в окне MSDOS или под TSR CP/M-эмулятором (типа 22NICE) или просто в среде чисто CP/M-эмулятора (типа Z80MU) работающего в MSDOS. А проверять работу странслированной Си-программы удобнее всего в эмуляторе любой 8-ми разрядки (и проще всего тут РК86). Выгода в том, что работаем на PC в любимом текстовом редакторе, закончив редактирование - хлоп по кнопке мыши запускающей BAT-файл и (если ошибок нет) через 0.5 секунды исходник странслирован и запущен эмулятор и работу странслированной программы можно проверять.

Бред. Уж простите, но - какой-то бред...

Если эмулятор удобный (типа моего, в котором не нужны утомительные доп.манипуляции, чтобы загрузить в него программу, а это происходит автоматически), то остаётся только запустить программу в эмуляторе. Для хороших эмуляторов также можно упростить жизнь, если запускать эмулятор BAT-файлом указав в командной строке имя запускаемой при старте программы (приличные эмуляторы так умеют делать, а вот про популярные для эмуляции РК86 эмуляторы EMU и EMU80, пока ещё не знаю, есть ли в них такое).

Запуск программы в реальной 8-ми разрядке (а лучше в её эмуляторе) - намного удобнее, чем в отладчике компилятора с IDE (если там вообще есть отладчик), т.к позволяет сделать программы с визуальным выводом, т.е сразу видно работает программа как надо или нет. А в отладчике проверка делается, например, просмотром переменных, что менее наглядно и удобно. Т.о, если бы Вы начали изучать Си разумно, как я предлагал, то сейчас бы не пили ваш "эль" канистрами с риском быстро стать законченным алконавтом, а уже наштамповали бы десяток (пусть для начала и не самых удачных) игр для РК86. Но нет смысла убеждать Вас, раз Вы решили решить задачу освоения Си неэффективным и трудоёмким способом.

Не стал читать, так как уверен ничего полезного там не написано...

Не знаю чего Вы нашли сложного в структурах Си (вот в ООП С++ Вы бы зациклились, т.к там всё основано на них). Чётко видно, что без одновременного использования изучаемого материала в своих простейших программках, в которых Вы проверяете работу изученных операторов у Вас и возникает сумбур в голове, хотя на самом деле в Си всё просто и кристально ясно (если конечно изучать правильно, а не так как пытаесь Вы).

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

Вот это какая-то левота. Не помню таких конструкций. Вопрос о том, разве конструкция с троеточием есть в Си? Думаю это глупое сокращение путающее человека, т.е следовало было словами пояснить, что точками тут просто для экономии бумаги обозначено обычное задание полей структуры.

Расскажите об этом R & K, но мне стало более понятно, влагодаря этому...

Чтобы освоить структуры, напишите РК-ксоникс...

Вас очень далеко послать, или как ? Смените ОС, а лучше и комп, будьте современнее, а то ... Ну реально - это жесть. Мой личный бармен и то - уже ржёт... Барсик ну изучите, что-то современное, просто ради интереса, я то нихера ничего не изучил - ну дурак, учусь, вы же сможете, я уверен!

Ничего же сложного не было. С "Элем" поосторожнее, да и скорее это у Вас как раз от изобилия принятого на грудь "Эля" восприятие закупорилось и входное сопротивление мозга резко возросло.

Однозначно. Гарантированно точно, тут я с вами согласен на 100%, жизнь сложная штука... ))))

Если что-то непонятно - пробовать надо, блин! Т.е написать программу, странслировать, прогнать, посмотреть, сделать выводы, усвоить и запомнить. А если непонятно, что делает компилятор для конверсии оператора в маш.код - смотрим ассемблерный текст выданный компилятором. Из чего и понимаем, как работает Си.

Приятно звучит, прямо вот, но толку...

А с вашим методом изучения Вы ничего этого не можете (и возможно ваш крутой компилятор Си для микроконтроллера конвертирует прямо в код маш.языка микроконтроллера минуя фазу генерации ассемблерного текста).

Изучаю как могу, пока понимание пришло только одного -Си мне нужен, но он блин сильно всё же зависит от платформы, реально как ассемблер, не так конечно, но думаю сильно, хотя пока всё в процессе и не очень понятно, хотел STM32 изучать тут К210 а интересно. Но вижу, что синтаксис отличается, точнее не синтаксис, а наполнение... Так-то всё банально, посмотрим... Всё это очень интересно, хотя мне больше нравятся мнемокоды, регистры и т. д. всё чётко ясно и понятно...

Вот потому и ускользают, что метод изучения чисто книжный, не подкреплённый практикой.

Вообще-то мы на практике всё делаем, для конкретной железки, очень надеюсь, что К210 получится заполучить. 800...1000 руб, можно и на этой недели заработать при желании, вот было бы сдорово, если бы мне её В_С прислал, но это договариваться нужно.

А тут-то чего? Может Вы ещё по вашему учебнику до процедуры printf не дошли?

Посмотрите в соответствующей теме. как я всё подробно описал, расписал и для пацанят примеры привёл, использования на практике, а чего я, да надоела вся эта херня, по сравнению с VHDL настолько ненаглядно, не информативно, что...

Или ключи для задания форматного вывода в printf, листая Керигана_&_Ритчи пропустили? Если что-то стало неясно освежите знания о работе непонятой стандартной процедуры и функции по Керниганычу. В его конце есть указатель страниц в которых обсуждена работа всех операторов и методов Си. Узнаёте нужную страницу по слову printf, читаете. Затем находите, где перечислены ключи задающие в нём формат вывода и снова читаете и всё изученное ранее вспоминается.

Или...

Как Вы сможете понять практику не практикуя написание программ на СИ, трансляцию и прогон пролученного кода в реале или в эмуляторе?

Читайте темы про К210 в "железе" и другое...

Ассемблер Z80...

Тьфу...

Для меня этот микропроцессор мёртв и не существует с 1994 года, не упоминайте, мне он не был интересен в 1990 году, но подсадили, бабла заработал, не интересен и сейчас. Я сразу вам честно говорю, для меня его нет, есть КР580ВМ80А, есть другие вещи. но Zilog мне не интересен вообще...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Вт Дек 01 2020, 02:51

5
Viktor2312 пишет:
barsik пишет:работаем на PC в любимом текстовом редакторе, закончив редактирование - хлоп по кнопке мыши

Бред. Уж простите, но - какой-то бред...
Если Вы не в курсе, что лишь для CP/M есть приличные компиляторы ЯВУ для КР580, то бредом является как-раз называть бредом вышеизложенная методика использования CP/M-инструментария.

Я именно так ещё с середины 90-тых (как поимел PC) транслирую программы для КР580/Z80 на PC используя CP/M-инструментарий. Если Вы уж настолько одиозны и так уверенно, причём без всяких доводов и оснований, называете такую концепцию использования старого инструментального ПО для разработок под КР580, бредом - ну предложите альтернативу.

Дайте мне те компиляторы Си, Паскаля, бейсика и PL/M работающие из Windows и генерящие код для процессора КР580, не уступающие по возможностям и качеству кода фирменным компиляторам из начала 1980-тых и которыми Вы сами широко пользуетесь для штамповки программ для ИРИШИ, МВК, ВМИР-1 и БВС-1.

Что, не можете... Тогда и нечего судить о том, в чём не разбираетесь, ничего не знаете и сами не пробовали. Иначе Вы выглядите праздным болтуном берущимся судить о том, в чём сами ни бельмеса. Если для Си и Z80 хоть что-то в плане кросс-компиляторов для Windows можно найти, то для КР580 - полный ноль, ибо этот процессор в мире империализма вышел из моды ещё в конце 1970-тых годов.
Viktor2312 пишет:Не стал читать, так как уверен ничего полезного там не написано...
Ладно, тогда варитесь в собственном соку... Другие люди не захотят Вам помогать, советовать или просто комментировать, видя такое отношение.
Viktor2312 пишет:где от вас подробнейшее описание сути, я то понял как - работает, хотя и не понял как применять в нужном мне месте...
В игре Ксоникс заводите массив из 15-ти структур, где каждая структура описывает позицию и направление движения одного жорика. Тогда, например, чтобы все жорики сдвинулись на шаг, подпрограмма шага в цикле прогоняется для всего массива из 15-ти структур.
Viktor2312 пишет:
barsik пишет:Чтобы освоить структуры, напишите РК-ксоникс...
Вас очень далеко послать, или как?
Так Вы посылаете тех, кто Вам хотел помочь. Много ли найдётся людей, кто в будущем, видя такое отношение, захочет потратить своё время, чтобы Вам хоть как-то помочь, понимая как Вы реагируете на помощь и хорошее отношение.
Viktor2312 пишет:Барсик ну изучите, что-то современное, просто ради интереса
В чём тут интерес? Чтобы потратить крошечный остаток жизни на что-то, что мне совсем ни для чего не нужно? Тут уж, как говорится - ешьте сами, т.е сами трахайтесь над этой задачей, если так уж хотите истратить своё время впустую. У меня ума и энергии едва хватит, лишь на то, чтобы хотя-бы частично вспомнить, то что знал лет 20 назад.

Тем более, что я уже в этом плане учёный, и не куплюсь на модную ерунду, т.к ещё в 2002 году зарёкся изучать что-то из инструментария для Windows. Во-первых, зачем это надо? Что это хоть чуть-чуть полезного мне даст? Я уже это проходил с середины 90-тых и до начала 2000-х (пытаясь, освоив Turbo Vision для MSDOS TP 7.1, далее изучить программирование для ОС Windows на Visual-Basic, Visual-C и Delphi). Правда тогда, "я варился в собственном соку" (в смысле нЕ у кОго было даже что-то спросить о непонятном), а сейчас есть Интернет.

Ну хорошо, допустим я хорошо освою самый крутой современный ЯВУ для PC. И что? Что мне это даст? У меня нет задач для которых надо уметь программировать для PC на современном уровне. Что-то простое (типа конвертора форматов данных) я могу написать и на освоенных мной в 90-тые компиляторах для MSDOS (и когда мне это было надо делал это десятки раз), а Win XP позволит это использовать (т.к она в отличие от последующих Windows - MSDOS-совместима).
Viktor2312 пишет:Си мне нужен, но он, блин, сильно всё же зависит от платформы
Классический Си (т.е Си в объёме K&R из 1978) одинаков везде (и даже в Африке). Потому-то и разумнее начинать с того, что сначала изучить классический Си используя классические компиляторы Си из 1979 года. А уже потом переходить к платформе микроконтроллера и разбираться в добавленных там нюансах.
Viktor2312 пишет:
barsik пишет:Ассемблер Z80...

Тьфу... Для меня этот микропроцессор мёртв... не упоминайте, мне он не был интересен в 1990 году не интересен и сейчас. Я сразу вам честно говорю, для меня его нет, есть КР580ВМ80А, есть другие вещи. но Zilog мне не интересен вообще...
Не передёргивайте, перевирая чужие комменты. Я уже в курсе, что Вы сильно сдвинуты по фазе на ненависти к Z80. Ставить куда-либо в платы Z80 никто Вам и не предлагал. Речь о программировании на ассемблере как раз для безмерно любимого Вами микропроцессора КР580 (что тот же Intel 8080, что Вы постоянно забываете в пылу нездорового патриотизма).

Речь лишь о том, чтобы использовать более выгодную и удобную мнемонику Z80, что в многие разы увеличивает эффективность программирования для КР580. Вот и всё, о чём всё время шла речь. И, кстати, мнемоника ассемблера 8080 также иностранного производства, а не была разработана в "НИИ Счётмаш" в Петродворце.


Последний раз редактировалось: barsik (Вт Дек 01 2020, 03:23), всего редактировалось 2 раз(а)
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 03:04

6
Что, не можете...

Да я и не писал, не имел в виду. и вообще не говорил про Си под КР580 или вообще под какую-то железку старее чем 2 ядра на 64 разряда, и старее 2010 года, так вообще-то.

Ладно, тогда варитесь в собственном соку... Другие люди не захотят Вам помогать, советовать или просто комментировать, видя такое отношение.

Ну, всякое бывает, что уж тут поделаешь, все мы, сами с усами...


"Что вы, порутчик, какие усы... Это вам усачам..." Или как там, уж запамятовал, ваше благородие...

В игре Ксоникс заводите масив...

Вот именно, массив, а не структуру, да ладно, будет время, посижу, подумаю, надеюсь разберусь... Ну это как я понял по другому, немного, работает...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 18:57

7
Ещё раз скажу, что без одновременной практики, читать учебники и просто описания ЯВУ - почти бесполезно (общее представление получите, а умение программировать - нет).

Так в том-то и дело, что работает вот жеж, куда ещё практичнее. Написали, скомпилировали, если нет - получили ошибки, предупреждения, исправили, скомпилировали, запустили, видим результат работы:

#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00014__YAzyk_S.1579608753


#include <stdio.h>
int main (void)
{
printf ("Testing...\n.1\n..2\n...3\n....4\n.....5\n\n\n");
printf ("\tHello forum ruecm\n");
printf ("\n");
printf ("\tHello Vita\n");
printf ("\n");
printf ("\t@_Yann._lisss._ is the best human being");
printf ("\n\n\n\n\n\n\n\n\n\n");
return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00017__YAzyk_S.1580071494


#include <stdio.h>
int main (void)
{
int value1, value2, sum;

value1 = 50;
value2 = 25;
sum = value1 + value2;
printf ("The sum of %i and %i is %i\n", value1, value2, sum);

return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00022__YAzyk_S.1580132212


#include <stdio.h>

/* Печать таблицы температур по Фаренгейту
и Цельсию для fahr = 0, 20, ..., 300 */

int main (void)
{
int fahr, celsius;
int lower, upper, step;

lower = 0; //нижняя граница таблицы температур
upper = 300; // верхняя граница
step = 20; // шаг

fahr = lower;
printf ("--------------- \n");
while (fahr <= upper)
{
celsius = 5 * (fahr-32) / 9;
printf ("| %4d | %4d | \n", fahr, celsius);
fahr = fahr + step;
}
printf ("---------------");
printf ("\n\n\n\n\n");

return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00026__YAzyk_S.1580504991


#include <stdio.h>

/* Печать таблицы температур по Фаренгейту и Цельсию для
fahr = 0, 20, ..., 300; вариант с плавающей точкой. */

int main (void)
{
float fahr, celsius;
int lower, upper, step;

lower = 0; //нижняя граница таблицы температур
upper = 300; // верхняя граница
step = 20; // шаг

fahr = lower;
printf ("\n\n ----------------- \n");
while (fahr <= upper)
{
celsius = (5.0/9.0) * (fahr-32.0);
printf (" | %4.0f | %6.1f | \n", fahr, celsius);
fahr = fahr + step;
}
printf (" -----------------");
printf ("\n\n\n\n\n");

return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00028__YAzyk_S.1580523098


#include <stdio.h>

int main (void)
{
int integerVar = 100;
float floatingVar = 331.79;
double doubleVar = 8.45e+11;
char charVar = 'Q';
_Bool boolVar = 0;

printf ("integerVar = %i\n", integerVar);
printf ("floatingVar = %f\n", floatingVar);
printf ("doubleVar = %e\n", doubleVar);
printf ("doubleVar = %g\n", doubleVar);
printf ("charVar = %c\n", charVar);
printf ("boolVar = %i\n", boolVar);
printf ("\n\n\n\n\n");

return (0);
}

Изучение Си, в применении к К210. Отличия, особенности и т. д... 00030__YAzyk_S.1580869758


Т.е, как минимум, нужен работающий компилятор, выдающий код и возможность его запустить. Есть ли такая возможность это иметь простым способом в том инструменте для микроконтроллера, что Вы изучаете? Т.е есть ли у Вас под рукой компилятор и работающий аппарат на этом микроконтроллере, куда можно залить странслированную программу и проверить работу странслированной учебной программки? Или хотя бы эмулятор такой целевой системы в котором тоже можно прогнать программу и проверить работает ли она как хотелось.

Есть, целая IDE есть, как для просто изучения Си и компиляции написанного кода, с проверкой ошибок и т. д. так и для К210. Ну а результат работы смотрим на экране монитора, как на картинках выше. Для просто изучения основ Си и всех команд, операторов, и т. д. имеется полноценная IDE: Pelles C IDE Эта оббревиатура переводится как Интегрированная среда разработки (IDE). Выглядит следующим образов:

Изучение Си, в применении к К210. Отличия, особенности и т. д... 9ed_0046

Как и для изучения К210 имеется своя полноценная IDE, и в соответствующей теме вы можете найти все необходимые подсказки, где её скачать, как установить, и как применять непосредственно для K210, выглядит так:

Изучение Си, в применении к К210. Отличия, особенности и т. д... 9ed_0047

А тут нет ничего лучше для трансляции, кроме как компилятор BDS C запускаемый в окне MSDOS или под TSR CP/M-эмулятором (типа 22NICE) или просто в среде чисто CP/M-эмулятора (типа Z80MU) работающего в MSDOS. А проверять работу странслированной Си-программы удобнее всего в эмуляторе любой 8-ми разрядки (и проще всего тут РК86). Выгода в том, что работаем на PC в любимом текстовом редакторе, закончив редактирование - хлоп по кнопке мыши запускающей BAT-файл и (если ошибок нет) через 0.5 секунды исходник странслирован и запущен эмулятор и работу странслированной программы можно проверять.

Зачем эти все сложности, тут всё точно так же, "хлоп по кнопке мыши" и тут же результат.

Если эмулятор удобный...

Не нужен эмулятор, так как вот он живой комп в "железе".

Чётко видно, что без одновременного использования изучаемого материала в своих простейших программках, в которых Вы проверяете работу изученных операторов у Вас и возникает сумбур в голове, хотя на самом деле в Си всё просто и кристально ясно (если конечно изучать правильно, а не так как пытаесь Вы).

Нет у меня никакого сумбура в голове, всё чётко и разложено по полочкам, иногда бывают не понятки, если я перепрыгиваю далеко вперёд, до чего ещё не дошёл в изучении, но это и естественно. Вам сейчас дай написать какую нибудь программу на CUDA и уверен, что вы не сможете, даже если вам дадут сутки на перелопачивание всей информации.

А с вашим методом изучения Вы ничего этого не можете...

А это и не нужно, оно итак всё логически понятно. И либо можно правильно написать, и оно будет работать как нужно, либо не правильно, и оно либо вообще не будет работать, либо не правильно. Так как не забываем, что при первом случае изучения, что и при втором, в обоих случаях имеем 64-разрядные, двухядерные микропроцессоры, и поверьте разбираться во всех регистрах которые 64 разрядные и где каждый бит чем-то управляет, просто нет смысла. Почитать для ознакомления можно, но может память в мозгу быстро закончиться, поэтому не нужен ассемблерный код, Си вполне себе прекрасный инструмент, вполне себе низкого уровня, по сравнению с другими языками ЯВУ.
Так что если уж пишете, не нужно этих пространственных рассуждений о том как хорош Радио-86РК, длрянь он был, есть и будет. Не я понимаю, есть такой вопрос: "Можно ли сделать конфету из говна?" ответ тут чёткий и однозначный: "Можно!" но вот не стоит при этом забывать, что у нас да, будет конфета, но из говна. Если знаете как работает оператор и можете нормально подробно описать принцип его работы своими словами, так чтобы стало понятно, опишите...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Вт Дек 01 2020, 22:05

8
Viktor2312 пишет:Так в том-то и дело, что работает вот жеж, куда ещё практичнее. Написали, скомпилировали, если нет - получили ошибки, предупреждения, исправили, скомпилировали, запустили, видим результат работы
Да видно, что используемый Вами IDE вполне пригоден для изучения Си. Вот только простейший Турбо-Си 2.0 из 1987 года на котором все программисты СССР изучали Си и Си++, имел IDE не хуже (и даже Си-отладчик там есть).

Есть ли у Вас там в среде разработки для микроконтроллера возможность позиционировать курсор (или хотя-бы повсеместно ходовая процедура gotoXY), управление цветом, встроенная библиотека Turbo Vision для работы с экраном реализованная возможностями С++ и ООП ???

Хочу сказать, что для всего того, что Вы выше показали вовсе не нужен многогигагерцовый, многоядерный 64-х разрядный процессор и крутой пакет поддержки разработок чуждого ретро-хоббиизму иностранного (заметьте !) микроконтроллера, а достаточно тормозного CPU Intel 8086 на 4.77 МГЦ и типового MSDOS-Си для PC XT из середины 80-тых (т.е 35-ти летней давности).

И откуда, блин, в микроконтроллере взялся текстовый экран и клавиатура?

В общем, давайте проверим, кто быстрее из нас напишет Ксоникса. -- Вы на этом вашем крутом IDE (что даёт Вам большое преимущество, т.к ставит в намного более выгодные условия, ибо BDS-Си вовсе не IDE-среда, а примитивный компилятор из командной строки), а я - на убогом и (как считается) глюкастом BDC-C из 1979 года и для тормозной машины (где без вкраплений ассемблера скорости для игр не хватит) и, к тому же зная сейчас о Си намного меньше, чем Вы.
Viktor2312 пишет:Так что, если уж пишете, не нужно этих пространственных рассуждений о том как хорош Радио-86РК, дрянь он был, есть и будет.
Ну вот зачем снова жульничаете? И (как уже очевидно стало вашим стилем общения) перевираете чужие слова, приписывая мне то, что я не писал. Я наоборот, очень часто упоминаю, что РК86 ужасен и даже то, что мог дать ВГ75 не использовано.

И это форум для любителей ретро-техники и программирования для неё, а не учебный сайт для начинающих профессионалов осваивающих Си и другие современные ЯВУ. Таких сайтов полно, а в ретро форуме это неуместно. Если Вы решили стать профессиональным программистом, то Вам туда.
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty садо мазо по русски

Сообщение  ведущий_специалист в Вт Дек 01 2020, 22:33

9
Поражают люди которые начинают с самого сложного.
А как же простые операторы?
for, while, if
а работы с переменными тоже понятны?
ну например в чем разница выражений а=а+1, или а++, ну или а+=1
или вам понятно как работает условие if (a==1) {   } и к примеру при каких условиях выполнится условие if (a) {   }
вот еще вопрос
скажите разницу между while(1); и while(1) {   }
ну и еще
f = 1;

while(f)
{
if (key_press()==0) f=0;
if (key_press()==1 break;
if (key_press()==2 f=4;
}

При каких условиях при возвращении key_press программа вылетит из вайла?

Я к тому, что может проще разбираться в простых вещах? или сразу полезем в трехмерные массивы с наложением структур на них с последующей передачей указателей на структуры функциям?
Давайте Виктор устроим конкурс. Вы мне решите задачки написанные выше (а они ну просто тупо просты) а Вам поедет отладка с к210 на борту с учетом оплаты за пересылку )))))).


Последний раз редактировалось: ведущий_специалист (Вт Дек 01 2020, 22:53), всего редактировалось 2 раз(а) (Обоснование : Нужно решать задачки.)
ведущий_специалист
ведущий_специалист
Мастер

Сообщения : 201
Дата регистрации : 2020-10-16
Откуда : Санкт Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty Re: Изучение Си, в применении к К210. Отличия, особенности и т. д...

Сообщение  ведущий_специалист в Вт Дек 01 2020, 22:50

10
barsik пишет:
И откуда, блин, в микроконтроллере взялся текстовый экран и клавиатура?
Эхх, хороший вопрос. Самое поразительное в этом то, что там это и не нужно. А на самом деле автор выбрал не совсем хороший процессор для освоения С. Я конечно могу проверить и подключить J-Link к К210, но у меня сомнения что платформ ио это дело поддерживает.
Для освоения С хорош стм (хоть 8 хоть 32) там есть очень крутой отладчик и можно смотреть результат работы программы просто онлайн все все переменные с остановом программы где хочешь и с подменой данных в переменных.
ведущий_специалист
ведущий_специалист
Мастер

Сообщения : 201
Дата регистрации : 2020-10-16
Откуда : Санкт Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 22:59

11
Есть ли у Вас там в среде разработки для микроконтроллера возможность позиционировать курсор (или хотя-бы повсеместно ходовая процедура gotoXY), управление цветом, встроенная библиотека Turbo Vision для работы с экраном реализованная возможностями С++ и ООП ???

Я эту IDE только недавно установил и ещё не знаю всех её тонкостей, нюансов и возможностей, но уверен, что там всё нужное есть и более того. На этот абзац более развёрнуто думаю вам лучше ответит ведущий_специалист, если захочет тратить на это время.

Да видно, что используемый Вами IDE вполне пригоден для изучения Си. Вот только простейший Турбо-Си 2.0 из 1987 года на котором я в 1994 году изучал Си, будет не хуже и даже Си-отладчик имеет.

Не, это всё устарело, поэтому я уж лучше обычный Си поизучаю с помощью Pelles C IDE для К210 в этой среде, ну а для STM32 я предпочитаю Keil uVision5, главное найти время, когда это всё изучать.

Хочу сказать, что для всего того, что Вы выше показали вовсе не нужен многогигагерцовый, многоядерный 64-х разрядный процессор и крутой пакет поддержки разработок чуждого ретро-хоббиизму иностранного (заметьте !)...

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

микроконтроллера, а достаточно тормозного CPU Intel 8086 на 4.77 МГЦ и типового MSDOS-Си для PC XT из середины 80-тых (т.е 35-ти летней давности).

Вот это и есть, полный изврат.

...чуждого ретро-хоббиизму...

Я вам уже 100 раз говорил, и скажу в 101 раз, моё хобби не ограничивается РЭТРО техникой, а распространяется на всю электронику, от простейшего детекторного приёмника, даже без переменного конденсатора, а с переменной катушкой для настройки на конкретную радиостанцию, и вплоть до самых, самых современных технологий, поэтому я не буду доставать 80486, включать её устанавливать DOS 6.22 и начинать на ней изучать Си, я это благополучно делаю уже энное время на своём рабочем компе и мне нравится, основная проблема, это свободное время и лень.

И откуда, блин, в микроконтроллере взялся текстовый экран и клавиатура?

В микроконтроллере, точнее к микроконтроллеру можно подключить всё что угодно, но вы видно тут путаете, изучение Си для обычного ПК и изучение Си для МК, я делаю это одновременно, но не смешивая это всё в кучу и кашу. Основной Си я изучаю для обычного ПК, а потом уже проще изучать Си для МК.

В общем, давайте проверим, кто быстрее из нас напишет Ксоникса. -- Вы на этом вашем крутом IDE (что даёт Вам большое преимущество, т.к ставит в намного более выгодные условия, ибо BDS-Си вовсе не IDE-среда, а примитивный компилятор из командной строки), а я - на убогом и (как считается) глюкастом BDC-C из 1979 года и для тормозной машины (где без вкраплений ассемблера скорости для игр не хватит) и, к тому же зная сейчас о Си намного меньше, чем Вы.

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

Ну вот зачем снова жульничаете? И (как уже очевидно стало вашим стилем общения) перевираете чужие слова, приписывая мне то, что я не писал. Я наоборот, очень часто упоминаю, что РК86 ужасен и даже то, что мог дать ВГ75 не использовано.

Я не жульничаю, а говорю как есть, если вы считаете его убогим, так зачем тратите на него время, а вы последнее время только о нём и пишете, определитесь уже с платформой, которая на ваш взгляд, самая оптимальная, правильная продвинутая, из отечественных ПЭВМ и на ней сосредоточьтесь, не понимаю зачем тратить время на то, что вы считаете сами же убогим.

И это форум для любителей ретро-техники и программирования для неё...

И это я вам уже 100 раз говорил, но похоже придётся повторить ещё раз. Это форум по электронике, всей и РЭТРО и самой современной, что в принципе можно прочитать, да хоть в шапке форума:

RUЭВМ


Данный форум посвящён ЭВМ, электронным вычислительным машинам. А также, другим разделам электроники. Здесь можно найти информацию для начинающих и профессионалов. От ламповой техники до современных микросхем ПЛИС и многое другое...



а не учебный сайт для начинающих профессионалов осваивающих Си и другие современные ЯВУ.

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

Таких сайтов полно, а в ретро форуме это неуместно.

Смешной вы, это не РЭТРО форум, а просто форум, ну в принципе читайте выше. И то что вы считаете не уместным, я как раз таки считаю не только уместным, но и это будет тут в обязательном порядке, а то что каких то там сайтов полно, ну так с них нужно информайию сюда просто перелить, пока они не загнулись, а то за последние 8 лет уже сотня таких набралась, а перелить интересную инфу не успел, в итоге скорее всего утеряна навсегда.

Если Вы решили стать профессиональным программистом, то Вам туда.

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

Это вы зациклились на РЭТРО, но этот форум НЕТ!

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 23:04

12
А на самом деле автор выбрал не совсем хороший процессор для освоения С.

Это вы о каком микропроцессоре, том что у меня стоит в компе и на котором я изучаю Си. Си для ПК. Или о среде Keil uVision5 в которой я изучаю STM32 на вот этой платке: STM32F4-Discovery kit. Ну мне этого достаточно для изучения, просто хочется и К210 поковырять, пока есть кому подсказать, если что-то не понятно.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 23:07

13
Загадили всю тему, так если честно, придётся отдельную новую создавать, к уже имеющимся, ну ничего страшного, много тем не бывает... Тем более я сегодня хочу Си основательно по-изучать, но с выкладыванием инфы как раз с одного из сайтов, чтобы каждый раз туда не лазить за ней, да и всё равно он скоро загнётся, а она там хорошо отсортирована. Ну да ладно, пока нужно мозг накачать энергией...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty Re: Изучение Си, в применении к К210. Отличия, особенности и т. д...

Сообщение  ведущий_специалист в Вт Дек 01 2020, 23:13

14
Viktor2312 пишет:
Это вы о каком микропроцессоре....

Ну, я как понял исходя из названия темы решили изучать си на к210

Изучение Си, в применении к К210. Отличия, особенности и т. д...
ведущий_специалист
ведущий_специалист
Мастер

Сообщения : 201
Дата регистрации : 2020-10-16
Откуда : Санкт Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 23:28

15
Поражают люди которые начинают с самого сложного.
А как же простые операторы?
for, while, if

Дело в том, что изучая CNN я уперся в непонимание кое чего именно из-за незнания этого оператора, ну сложного, вот и хотел его с наскока изучить, понять и там продвигаться дальше, ну а эти операторы, я то знаю, просто нужно освежить в памяти их синтаксис, применения в Си, что я скоро и сделаю.

Так что не поражайтесь, ничего поразительного тут нет.

ну например в чем разница выражений а=а+1, или а++, ну или а+=1

Давайте я сейчас не буду тратить время на писанину, ну поверьте я знаю разницу.

вам понятно как работает условие if (a==1) { }

Понятно, если а равно 1.

и к примеру при каких условиях выполнится условие if (a) { }
вот еще вопрос
скажите разницу между while(1); и while(1) { }

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

Я к тому, что может проще разбираться в простых вещах? или сразу полезем в трехмерные массивы с наложением структур на них с последующей передачей указателей на структуры функциям?

Да согласен я что нужно с простого начинать и изучать, просто хотел в одной теме разобраться до конца, но похоже придётся отложить до момента лучшего освоения Си и большей практики.

Давайте Виктор устроим конкурс. Вы мне решите задачки написанные выше (а они ну просто тупо просты) а Вам поедет отладка с к210 на борту с учетом оплаты за пересылку )))))).

Давайте не будем ерундой заниматься, а вот это я хотел бы от вас получить за денежку, но чуть позже, а то декабрь очень насыщенный месяц по расходам, это и моя днюха и у племянника и НГ и куча ещё всего, оплата инета. Поэтому я хотел бы конечно от вас увидить описание, фото, этого всего и озвучивание цены, чтобы я ориентировался и отложил эту сумму потихоньку, а то у меня весь фиат в крипте, которая работает и не хотелось бы выводить, а вот сходя к клиенту по работе, я бы мог отложить небольшую сумму на это "железо".

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Вт Дек 01 2020, 23:32

16
Ну, я как понял исходя из названия темы решили изучать си на к210

Я изучаю Си, и уже давно, просто была пауза, для обычного ПК.
Так же я изучаю Си в применении для STM32.

Просто когда изучаешь параллельно, одновременно, сразу видны отличия, ну а К210, ну просто хочется изучить железку и отличия-то есть, в деталях, те жи заголовочные файлы, свои и соответственно доступных функции для вызова. Отличия всегда есть в чём-то, так то понятно Си он и в африке Си.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Ср Дек 02 2020, 00:11

17
Vikror2312 пишет:это и моя днюха
Ну да, точно. Как чётко видно из вашего цифрового ника: 23.12. Вот как раз закончив изучать Си (на него недели вполне достаточно, при условии, что энтузиазм, желание изучить и энергия имеются, а без этого можно учить годами), Вы и сможете потратить оставшиеся до 23.12.20 две недели на написание игр, прогоняемых в вашем крутом IDE.

А то после многодневного празднования вашего дня рождения, католического Рождества, затем ДР племянника, затем Нового Года и всё это с неумеренным употреблением крепкого алкоголя, - все ваши с трудом полученные знания по программированию на Си могут испариться.

Ещё раз напомню, что закончив изучать ЯВУ, чтобы это не было впустую, просто необходимо изученные знания закрепить, написав хотя бы 5...10 программ с объёмом исходника не менее, чем в 1-2 тысяч строк. Иначе потраченное время - как говорится, коту под хвост.

Вот как раз и нацарапайте за две последующие недели до десятка динамичных игр для тренировки и закрепления (а после мы сможем их адаптировать и для РК86 и ИРИШИ). Хорошо зная ЯВУ, Вы сможете на нём писать по одной игре всего за 1-2 дня. А то и больше. Я конечно имею в виду очень простые игры уровня пэкмана или тетриса.
Vikror2312 пишет:Не буду я тратить время на всякие сониксы или как там, - я даже не играл скорее всего в эту игрушку
Не, ну Вы чо... Как такое вообще возможно? Вы, чо с Луны сюда упали, как мистер Бин? Или у Вас уже пошёл Альцгеймер покруче моего? https://en.wikipedia.org/wiki/Xonix

Как можно заниматься или даже хотя бы просто интересоваться 8-ми разрядками и не знать Ксоникса. Блин, что же Вы тогда в середине 80-тых гоняли по экранам Электроник-60, ДВК, БК-010, УКНЦ (а с 1986 года - РК86, затем Специалиста и последующих 8-ми разрядок) ???

Не знать про Ксоникса на 8-ми разрядке это даже в 1000 раз позорнее, чем имея PC XT/AT не знать про Диггера, Принца Персии и Дуума вместе взятых. Для любителя 8-ми разрядок, в крайнем, случае можно не знать или забыть объём ОЗУ в РК86 или разрядность его микропроцессора, но не знать про Ксоникса это такой позор... просто нет слов, если без мата.

Ведь Ксоникс есть для всех без исключения платформ и эта самая играбельная игра среди всех игр всех советских 8-ми разрядок, не считая, конечно, адаптации ZX-игр (так например, в Commando на ОРИОНЕ тоже много много дней подряд можно играть и не надоест, увы, мне играть в ZX-игры нельзя, т.к я подвержен игромании).

Я примерно лет 15 играл на 8-ми разрядках только в Ксоникс (хотя выбор игр был, в т.ч. и из ZX-игр) и после многолетней тренировки набирал более 14.000 очков (это значит проходил аж 15 уровней, а ведь каждый уровень добавляет одного дополнительного ксоникса). Потому, если любитель 8-ми разрядок не знает Ксоникса, то сразу возникает вопрос, а этот человек когда-то хотя бы видел (пусть издалека) хоть одну работающую советскую 8-ми разрядку.

Понятно, что некоторым из поколения Пепси, что такое Ксоникс - может быть и неизвестно (т.к они вообще вряд-ли знают, что такое ДВК, а уж тем более РК86, или даже сколько разрядов в их компьютере, а играют в World of Tanks и другие современные сетевые игры).

Изучение Си, в применении к К210. Отличия, особенности и т. д... 1ZastavkaKsoniksa-a.1606854721
Изучение Си, в применении к К210. Отличия, особенности и т. д... 2StartXONIX_74F.1606855697
Изучение Си, в применении к К210. Отличия, особенности и т. д... 3KSONIKS2.1606857166
Изучение Си, в применении к К210. Отличия, особенности и т. д... 4XONIXbezzhorikov.1606856514
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Ср Дек 02 2020, 00:47

18
Вот как раз закончив изучать Си (на него недели вполне достаточно, ...

Вы очень оптимистичны, я же считаю, что за неделю можно только освежить в памяти, то что уже изучал и изучить несколько операторов. Для базового уровня, я думаю нужно пол года на изучение как минимум, для более серьёзного, наверное год, ну а для профессионального три года и постоянно программировать. Не я понимаю, что возможно и существуют гении от программирования, которые языки изучают за неделю и начинают писать как профессионалы, я же к таковым не отношусь, так что-то знаю, что-то могу освежить в памяти, что-то простейшее и можно написать, по типу вывода надписей простого подсчёта чего либо или помигать светодиодиком, если речь идёт о применении Си к МК. На всё остальное нужно время и кропотливое изучение, и практика.

Не, ну Вы чо... Как такое вообще возможно? Вы, чо с Луны сюда упали, как мистер Бин? Или у Вас уже пошёл Альцгеймер покруче моего?

У каждого свои были игрушки в детстве, да и мама с папой не миллионерами были, а я не дочерью миллионера, поэтому до 1991 года наверно так примерно я играл в волка собирающего яйца, это только потом стало что-то более доступно, в школе УКНЦ класс сделали и то ходить вечером приходилось, так как только для 10-ти классников уроки информатики ввели. Мне больше Ривер райд нравился, или как она там называется когда самолётик летит над рекой и мочит всякое и в конце каждого уровня мост взрывает, это пожалуй моя любимая игрушка была и в которую я играл 98% времени играний, я Бэйсик изучал, а не в игрушки играл, и мне это нравилось, так как по сравнению с ассемблером он мне очень нравился в то время.

Не знать про Ксоникса на 8-ми разрядке это даже в 1000 раз позорнее, чем имея PC XT/AT не знать про Диггера, Принца Персии и Дуума вместе взятых.

Пофиг мне на то, у кого что там позорно, а что нет, Принца знаю играл, дума играл, но меня в те года "железо" больше интересовало, и другие вещи, а так самая классная игрушка, это АОЕ от Microsoft я и до сиг пор в неё играю. Вот сейчас играл, она удобна тем, что занимает 20 мин. Чтобы по быстрому сыграть, играю в качестве отдыха в неё она от 1998г. и у меня всегда стоит на компе, с того самого года, и не важно Win 98 или Win XP или как сейчас Win 7 щёлкнул два раза на ярлыке и работает, а устанавливать её не нужно, просто .exe запустить нужно.

Понятно, что некоторым из поколения Пепси, что такое Ксоникс - может быть и неизвестно (т.к они вообще вряд-ли знают, что такое ДВК, а уж тем более РК86, или даже сколько разрядов в их компьютере, а играют в World of Tanks и другие современные сетевые игры).

Эти да, эти такие, сам видел, знал, но я не такой, я просто играл в разные игрушки, но они порой не совпадают с теми в которые играли вы, да и мало я играл, интереснее было по-паять, по-изучать и т. д...

Вот помню году в 1991 или скорее в 1992, я летом, брал тетрадку, шёл в библиотеку, что была недалеко, от дома 5 мин. пройти, да почему была, 2 недели назад проходил мимо, есть стоит и работает. Так вот брал свою тетрадку, ручку и шёл в неё, садился в читальном зале, брал "Красную книгу" и начинал читать, переписывать и чертить схему Ириши, пока какой нибудь гений не выдрал схемы с корнем, домой её брал, вот это времечко было интересное, особенно если учесть, что я как минимум 70% того что там написано не понимал, но переписывал в надежде, что потом разберусь при помощи других книг и кружка в который ходил, хотя всё равно в итоге спектрум собрал первым, хотя и собирал параллельно РК...

Ну вот растеребили воспоминания, не всё, жрать, смотреть сериальчик и потом за изучение Си...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Ср Дек 02 2020, 02:27

19
Viktor2312 пишет:
barsik пишет:... Си (на него недели вполне достаточно

Вы очень оптимистичны
Да не особо и преувеличиваю. Я знал многих людей, что осваивали Си за неделю, а Турбо-Паскаль за пару дней. Правда у них был мозг моложе 18-ти лет. А когда я сам, видя как другие люди тащатся от Си, взялся его изучить, то мало того, что изучал неправильно, так ещё и мозг у меня был уже наполовину высохший (в смысле более чем вдвое более старый). Отчего с Си с первого подхода (затратив впустую полгода) ничего, не вышло. Зато когда я узнал секрет, то освоение прошло со свистом и в короткий срок.

Но точно, даже имея очень среднюю память, вполне реально освоить программирование на классическом Си за две недели. Просто надо заниматься этим серъёзно и реально хотеть достичь результата, а не филонить. Как говорил Джо: "Если чего-то очень хочешь и помыслы твои чисты, то в итоге получишь это".
Viktor2312 пишет:Я изучаю Си, и уже давно
Viktor2312 пишет:Для базового уровня, я думаю нужно пол года на изучение, как минимум, для более серьёзного, наверное год, ну а для профессионального три года и постоянно программировать.
Если судить по постам, Вы уже несколько лет изучаете Си и уже наверняка в цикле прочитали Кернигана не менее восьми раз. Значит согласно цитате, Вы уже профессионально овладели Си, потому давно пора Вам начать писать "Принца Персии" для РК86.
Viktor2312 пишет:[изучая Си] я уперся в непонимание
А может Вам стоит перейти на Паскаль, а ещё лучше на Турбо-Паскаль (он ещё приятнее). Паскаль со свистом изучается даже малолетними пионерами и всем людям он очень приятен. Я вот всегда жалел, что Си в начале-середине 90-тых вытеснил Паскаль (и этому виной только фирма Borland). Паскаль как раз учебный ЯВУ и его лучше учить в качестве первого ЯВУ. У меня после и после Паскаля и Си пошёл легко. Тогда Паскаль мне понравился больше, но сейчас кажется это уже слегка меняется.
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Ср Дек 02 2020, 02:59

20
Если судить по постам, Вы уже несколько лет изучаете Си и уже наверняка в цикле прочитали Кернигана не менее восьми раз. Значит согласно цитате, Вы уже профессионально овладели Си, потому давно пора Вам начать писать "Принца Персии" для РК86.

Вы же должны понимать, что там есть большие перерывы в изучении, а как известно, досконально и точно, если что-то изучено, но потом пол года к этому не возвращаешься, то 90% информации забывается. И это правда, проверено на себе многократно. Но главное что заметил, каждый раз возвращаясь к тому что уже делал, изучал, каждый раз становится легче и то, что изначально не давалось, потом осваивается проще и быстрее, видать благодаря оставшимся 10% в памяти и накопленному опыту.

А может Вам стоит перейти на Паскаль, а ещё лучше на Турбо-Паскаль (он ещё приятнее). Паскаль со свистом изучается даже малолетними пионерами и всем людям он приятен. Я вот всегда жалел, что Си в начале-середине 90-тых вытеснил Паскаль (и этому виной только фирма Borland). Паскаль как раз учебный ЯВУ и его лучше учить в качестве первого ЯВУ. У меня после и после Паскаля и Си пошёл легко. Тогда Паскаль мне понравился больше, но сейчас кажется это уже слегка меняется.

Нет уж, у меня и Си хорошо осваивается, если последовательно изучаешь, не перепрыгивая и не залезая вперёд, глубоко в дебри, не освоив предварительный начальный минимум, то всё понятно и написанное работает.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Ср Дек 02 2020, 03:43

21
Viktor2312 пишет:если что-то изучено, но потом пол года к этому не возвращаешься, то 90% информации забывается. И это правда, проверено на себе
А всё потому, что знание не было закреплено методом написания программ. Вообще изучение таких вещей не стоит затягивать. Да и решимости и энтузиазма надолго хватает только у собранных, волевых натур (т.е иными словами у психопатов). В лучшем случае месяц, максимум полтора и от былого энтузиазма остаётся одно воспоминание. И дело засыхает или в лучшем случае откладывается.

Ваша кратковременная память до полугода это просто отлично и даже феноменально. А у меня кратковременной памяти хватает в лучшем случае на 1.5 месяца, а то и меньше. Изучил вот недавно программирование на PL/M (используя CP/M-компилятор PLMX) и даже написал на нём программу аж в 800 строк. А потом бац... перерыв (т.к винт сдох, наработки пропали и энтузиазм совсем скис, т.к эффективность от ЯВУ не выросла, а упала на порядок).

Через несколько месяцев собрался немного попрограммировать на PLMX, загрузил редактор, собрался что-то написать и чпок... обнаруживаю, что в голове знаний о PL/M почти 0, смотрю на PLMX-программу и мало что понимаю. Приходится освежать знания. То же и по Паскалю, если перерыв на месяц, то приходится пару часов или снова читать доки или разбираться в своих же написанных месяцем ранее программах.

А вот с ассемблером у меня такого никогда не было (даже если перерыв в годы). И даже ассемблер КР580 быстро вспоминается, если всего несколько минут перед написанием тщательно поизучать старые исходники в мнемонике КР580. Как раз вчера и сегодня пришлось написать несколько мелких фрагментов в мнемонике КР580 (хотя постоянно ошибочно вставляю LD вместо MOV и MVI и приходится перетранслировать). Кстати, это потому, что решил вдруг посмотреть на компилятор BDS C, а он как назло, - мнемонику Z80 вообще не понимает.

Это лишь говорит о том, что я эти ЯВУ, если когда-то и знал, то давно забыл до нуля, а изученное в этом году ещё не закрепил написанием хотя бы нескольких программ по две тысячи строк. Так, что пока Вы или я в своих программах не используем каждый оператор ЯВУ хотя бы несколько тысяч раз, то всё предыдущее изучение и трата времени - впустую.
Viktor2312 пишет:не всё же [время] жрать, смотреть сериальчик
Вот потому-то Вы и "тянете кода за хвост" в освоении Си.

А если бы не обжирались мясом (как видно на ваших фото), а стали бы вегератрианцем и периодически голодали бы по 40 дней (как делали ученики Пифагора для усиления остроты ума), совсем не смотрели бы телевизор и DVD-фильмы, и не злоупотребляли неумеренными объёмами крепкого алкоголя и курением сигарет, то за это же потраченное на освоение Си время - изучили бы не только Си, но ещё и C++ (что на два порядка посложнее будет).

Вам лучше было бы вместо многочасовых просмотров ужастиков на DVD почитать какую-нибудь книгу на иностранном языке (каким хотя бы сносно владеете). Я вот через силу заставляю себя читать на английском (хотя его не люблю) серию книг П.Вудхауза о Дживсе и Вустере (таких книг десятки и половина из них не вошла в TV-сериал).

Я в 90-тые годы вообще не смотрел телевизор, не хотел тратить на него время. Да и сейчас фильмы не смотрю (лежат полсотни DVD с непросмотренными фильмами), а по телевизору в этом году смотрел лишь новости, изредка док.сериалы на REN-TV (про инопланетян и т.п), ток-шоу про корона-вирус и часто вечернее ток-шоу В.Соловьёва (да и их не смотрю, лишь слушаю).


Последний раз редактировалось: barsik (Ср Дек 02 2020, 11:31), всего редактировалось 2 раз(а)
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Ср Дек 02 2020, 04:12

22
А всё потому, что знание не было закреплено методом написания программ. Вообще изучение таких вещей не стоит затягивать.

Блин, да что вы всё толдычите одно и то же как бот. Я уже и программы вам показал и скрины их работы, бесполезно, как заевшая пластинка...

А ваша кратковременная память до полугода это просто отлично и даже феноменально. У меня вот кратковременной памяти хватает в лучшем случае на 1.5 месяца, а то и меньше. Изучил вот недавно программирование на PL/M (используя CP/M-компилятор PLMX) и даже написал на нём программу аж в 800 строк. А потом бац... перерыв (т.к винт сдох, наработки пропали и энтузиазм совсем скис, т.к эффективность от ЯВУ не выросла, а упала на порядок).

Ну тут не память виновата, а расстройство из-за сдохшего винта, не понимаю как винт может здохнуть, у меня за всё время ни один не помер, а многие работают 24/7 и с постоянной перезаписью и частыми обращениями. Ну да ладно, каждый по своему технику использует, но я вам не советую орехи колоть винтами, попробуйте воспользоваться для этого молотком.

Через несколько месяцев собрался немного попрограммировать на PLMX, загрузил редактор, собрался что-то написать и чпок... обнаруживаю, что в голове знаний о PL/M почти 0, смотрю на PLMX-программу и мало что понимаю. Приходится освежать знания. То же и по Паскалю, если перерыв на месяц, то приходится пару часов или снова читать доки или разбираться в своих же написанных месяцем ранее программах.

Вот для этого я на форуме и создаю темы-конспекты, недавно вот пару дней назад, вернулся к одной теме, а где, что, как, не помню, зашёл в свою тему полугодовалой давности, перечитал, и вуаля, всё вернулось к тому уровню, как было когда изучал, но только более понятно, так как появился практический опыт.

А вот с ассемблером у меня такого никогда не было (даже если перерыв в годы). И даже ассемблер КР580 быстро вспоминается, если всего несколько минут перед написанием тщательно поизучать старые исходники в мнемонике КР580. Как раз вчера и сегодня пришлось написать несколько мелких фрагментов в мнемонике КР580 (хотя постоянно ошибочно вставляю буквы LD вместо MOV и MVI и приходится перетранслировать). Кстати, это потому, что решил вдруг посмотреть на компилятор BDS C, а он как назло, - мнемонику Z80 вообще не понимает.

Мне тоже нравятся мнемокоды КР580, они понятны и легко вспоминаются при наличии справочника.

Это лишь говорит о том, что я эти ЯВУ, если когда-то и знал, то давно забыл до нуля, а изученное в этом году ещё не закрепил написанием хотя бы нескольких программ по 2 тысяче строк. Так, что пока Вы или я в своих программах не напишем каждый оператор ЯВУ хотя бы несколько тысяч раз, то всё предыдущее изучение и трата времени - впустую.

Значит будем писать, писать и ещё раз повторять, главное чтобы время на это было и желание...

от потому-то Вы и "тянете кода хвост" в освоении Си. А если бы не обжирались мясом (как сами демонстрируте на фото), а стали бы вегератрианцем и периодически голодали бы по 40 дней (как делали ученики Пифагора для усиления остроты ума),...

Нет уж спасибо, я хочу нормально питаться, и это не всегда получается, но я стараюсь вечером хорошо покушать. К тому же ну пожарил я сковородку мяса, ну естественно мне этого хватит и на завтра, так что, я просто хорошо поужинал, и не более того. А вегетарианцы, это больные люди, притом как физически, так и умственно. Мясо нужно кушать в меру, но кушать, да и жизнь одна, не вижу смысла в ограничениях.

совсем не смотрели бы телевизор

Я его и не смотрю совсем, у меня даже антенны нет для него, он стоит только для использования как монитор для РЭТРО ПЭВМ.

и не злоупотребляли неумеренными объёмами крепкого алкоголя и курением сигарет, то за это же потраченное на освоение Си время - изучили бы не только Си, но ещё и C++ (что на два порядка посложнее будет). Я 90-тые годы вообще не смотрел телевизор, не хотел тратить на него время.

Нет смысла ограничивать себя в алкоголе, просто нужно контролировать, чтобы это не переходило в пьянку и очень часто, а иногда расслабиться полезно, да и не злоупотребляю я 0,35 водочки вчера накатил, и 2 бутылочки пива, а под хорошую закуску, это даже и не заметно, хорошо убивает коровьих вирусов, и другую заразу. Так что, если есть бабло, бегите в магаз и наяривайте, чего покрепче и покачественнее, и не будет никакая зараза страшна, но правда после этого нужно хорошо высыпаться, хорошо кушать, как на фотке, которую вы тут упомянули, ну и конечно чаи на травах, это комплекс мер и тогда всё пофиг. А вот по поводу изучения, тут выше головы не прыгнешь, мозг запоминает информацию так как запоминает и порой нужны паузы для того, чтобы всё уложилось и разложилось по полочкам, и потом понимание само приходит, ладно пойду я...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  barsik в Ср Дек 02 2020, 12:54

23
Viktor2312 пишет:
barsik пишет:знание не было закреплено методом написания программ.

да что вы всё талдычите... Я уже и программы вам показал и скрины
Речь же не о том, чтобы делать упражнения в ходе изучения (о чём ваши скрины). А о том, что когда изучение закончено, то знание лишь пассивное и вот, чтобы перевести его в актив (т.е освоить надолго), надо написать кучку реальных программ. Это как в изучении иностранного языка. Выучив хотя бы 10.000 иностранных слов, надо знания обязательно закрепить, прочитав 100 книг в подлиннике. Иначе всё впустую.
Viktor2312 пишет:у меня за всё время ни один [винт] не помер, а многие работают 24/7
Да Вы чо, даже если винт низкоскоростной (и Вы используете винты с 1994 года), то такого не бывает. Мой первый винт Seagate из 1994 (когда их ещё умели делать надёжными) смог проработать лишь 10 лет. А уж современные скоростные китайские винты дохнут за 2-3, максимум 4 года. Это Вам любой скажет.

К тому же есть выход винта из строя и есть программный крах винта, это разное. Программный крах винта это гибель ОС или файловой системы, что требует переустановку ОС и тоже губит файлы. Например, если питание пропадает во время записи на диск или резко толкнешь стол с компом, головка винта чиркнет по диску и ОС приходится переставлять.
Viktor2312 пишет:стараюсь вечером хорошо покушать
Вы хоть одну рекомендацию ЗОЖ выполняете? Нельзя кушать менее, чем за 4 часа перед сном, иначе быстро ожиреете - Вам обязательно следует смотреть на канале TLC док.сериал "Я вешу более 300 кг".
Viktor2312 пишет:вегетарианцы, это больные люди
Ладно бы лишь себя мучили, но среди них есть садисты, кто хищников (собак и кошек) превращают в вегетарианцев. Я был в молодости вегетарианцем 4 месяца (подруга убедила). Затем съел кусочек колбаски и меня так меня скрутило, что чуть не помер.
Viktor2312 пишет:наяривайте [алкоголь], чего покрепче и покачественнее, и не будет никакая зараза страшна
Ваш рецепт борьбы с вирусом мне не подходит. Не пью, т.к плохо переношу (похоже индейцев в родне было много, отчего в крови мало фермента перерабатывающего алкоголь). В молодости, если выпивал хотя бы 15 лигрыл, то весь следующий день лежал пластом и сильно болели голова и сердце.
Viktor2312 пишет:я 0,35 водочки вчера накатил, и 2 бутылочки пива... это даже и не заметно
Надеюсь водку брали из под прилавка дешёвую суррогатную, а не дорогую легальную. Если столько водки с пивом на Вас почти не действует, значит Вы уже хроник (и идёте прямым маршрутом к "белочке", что ждёт Вас лет так через пять). Водка в смеси с пивом называется ёрш и бъёт по рогам сильнее водки. А я, если сейчас накачу 0.35 литра крепостью 40' (это 14 лигрыл) и ещё 2 бутылочки по 0.5 литра пива крепостью в ~5' (это ещё ~5 лигрыл), то сразу склею ласты.

PS. Фермент перерабатывающий этанол в крови называется алкогольдегидрогеназа, а лигрыл это единица измерения выпитого алкоголя: "ЛИтр x ГРадус x на РЫЛо".
barsik
barsik
Ветеран

Сообщения : 1035
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Ср Дек 02 2020, 17:35

24
Речь же не о том, чтобы делать упражнения в ходе изучения (о чём ваши скрины). А о том, что когда изучение закончено, то знание лишь пассивное и вот, чтобы перевести его в актив (т.е освоить надолго), надо написать кучку реальных программ. Это как в изучении иностранного языка. Выучив хотя бы 10.000 иностранных слов, надо знания обязательно закрепить, прочитав 100 книг в подлиннике. Иначе всё впустую.

Вот именно, ключевое словосочетание (когда изучение закончено), а оно только начато, по сути, пока повторяю то, что уже изучал и знал, но подзабыл, ну и по чуть-чуть добавляю нового, чтобы мозг сильно не шокировать.

Да Вы чо, даже если винт низкоскоростной (и Вы используете винты с 1994 года), то такого не бывает.

Тем не менее факт. В 1994 году у меня был 80286 без HDD, а в 1995 году я купил, точнее обменял и добавив, кое как наскребя, распродав остатки ZX, на 80486 и с первым винтом своим. Так вот и эта 486 лежит в упаковочке, и винт лежит этот, по сути я её вытащил из корпуса, который продал, все остальные винты, от пня первого, второго, третьего, лежат и работают, вот винт 40 Гб, купил б/у, ничего живой, а ему лет 15 как минимум и два бэда было изначально при покупке. Ну в общим факт остаётся фактом, с 1995 года все винты, что я покупал, а половина из них б/у, ни один не помер. Вот стоит справа комп, тупа видюха в нём майнит и больше он ничего не делает, по сути резервный комп с COM, LPT и т. д. двухядерный, винт стоит древнющий древнющий, квадратный весь такой, без всяких закругления, IDE медленный зараза, но он работает 24/7 и ему лет 12, и ничего отлично пашет, думаю ещё лет 20 проработает, а там видно будет...

А уж современные скоростные китайские винты дохнут за 2-3, максимум 4 года. Это Вам любой скажет.

Ну купил я такой винт в середине 2016 года, даже цену помню 3200 руб. отдал, в одну из ферм, прошло 4,5 года, работал и сейчас стоит работает 24/7, что-то не помер и бэдов нет. Ещё раз скажу вам, для колки орехов применять нужно молоток, а для хранения информации жёсткий диск, ни наоборот.

Программный крах винта это гибель ОС или файловой системы, что требует переустановку ОС и тоже губит файлы. Например, если питание пропадает во время записи на диск или резко толкнешь стол с компом, головка винта чиркнет по диску и ОС приходится переставлять.

Чушь какая-то, хотя да, при колке орехов, стол может и толкнуться...

Вы хоть одну рекомендацию ЗОЖ выполняете?

Ни одной не выполняю, я их даже и не знаю, а ЗОЖ - это для полоумных. Видел я этих соблюдающих зож, к сожалению больше половины уже в гробу. Сижу вот вам сейчас это сообщение строчу, а у меня рядом, в 20 см. стоит стакан чая, заваривается, с травами, запах, аромат... ааа... Мне этого и других моих средств и способов, достаточно.

Нельзя кушать менее, чем за 4 часа перед сном, иначе быстро ожиреете - Вам обязательно следует смотреть на канале TLC док.сериал "Я вешу более 300 кг".

Ха ха ха, не смешите, я думаю вы мою фотографию и телосложение видели, у меня для моего роста, возраста и др. параметров, даже малось не хватает 2...3 кг. Но я не парюсь питаюсь так как хочу, организм хочет. Ну а как сбросить лишний вес я знаю. Я весил 96 кг, примерно 2 года назад, это много, в итоге сейчас 85 вешу, за 1 год быстренько скинул 11 кг, притом я так же питался.

Надеюсь водку брали из под прилавка дешёвую суррогатную, а не дорогую легальную. Если столько водки с пивом на Вас почти не действует, значит Вы уже хроник (и идёте прямым маршрутом к "белочке", что ждёт Вас лет так через пять). Водка в смеси с пивом называется ёрш и бъёт по рогам сильнее водки. А я, если сейчас накачу 0.35 литра крепостью 40' (это 14 лигрыл) и ещё 2 бутылочки по 0.5 литра пива крепостью в ~5' (это ещё ~5 лигрыл), то сразу склею ласты.

Да обычная "Хортица" из "Магнита", я по этому поводу не парюсь. Эхх помню как мы распивали с Дениской (Риндекс) по скайпу эту Хортицу, хотя тогда я 0,5 брал и пива 10...15 бутылок, сейчас я на такие подвиги не способен.

Ладно всё, времени нет, нужно вчерашнее перечитать, и нужно идти изучать Си дальше...

Ещё и вот код нужно переписать для K210 и ведущему_специалисту показать, там пока всё просто, с одной стороны, инициализация системы, и после этого хочу сделать, чтобы светодиоды мигнули три раза, ну и дальше...
Пока думаю сделать так, объявляем глобальную переменную, целого типа, и присваиваем ей начальное значение 0, допустим count_1 и потом в цикле while указываем условие (count_1 < 3).
И после того как выполнились команды вкл в 1, пауза, вкл 0
count_1 = count_1 + 1;
переменная будет иметь значение уже 1, потом 2-й раз мигнёт и увеличт значение на +1 станет равной 2, условие цикла выполнено, продолжает дальше выполняться и потом 3-й раз мигнёт станет = 3, это не меньше 3-х, цикл закончится и пойдёт дальнейшее выполнение программы...
Надеюсь сегодня успею переписать, а то изучение базовых основ, много времени отнимает...

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty .

Сообщение  Viktor2312 в Ср Дек 02 2020, 18:51

25
Вот переписал программу, учитывая накопленный опыт, и чтобы покомпактнее было, хотя ещё многое хочу закоментировать, а это нужно много почитать. Так как это будет первая программа и как образец, хотя это пока очень, очень черновой вариант. Но пока главное, чтобы посмотрел В_С на предмет катастрофических ошибок, я её не компилировал, пока не вижу смысла.

Суть проста, в общих чертах, инициализируем систему, мигаем три раза нашими тремя светодиодами, типа как сигнал для пользователя, что инициализация произошла, потом просто второй цикл while как заглушка, включающий все три светодиода. Некоторые #define по-убирал, так как компилятор на них ругается. В общим желательно посмотреть, высказать свои мысли, главное при этом не забывать, что это программа пример, урок, а не коммерческая программа для очень требовательного заказчика за деньги, тут главное, чтобы это точно работало, то есть правильный синтаксис, и работоспособность. Обратить внимание на использование и синтаксис переменной count_1

Код программы:

Изучение Си, в применении к К210. Отличия, особенности и т. д... K210_054
Изучение Си, в применении к К210. Отличия, особенности и т. д... K210_055


.

_________________
"ЛП & ТИ"
Viktor2312
Viktor2312
Гуру+

Сообщения : 13098
Дата регистрации : 2012-08-10
Возраст : 42
Откуда : Пятигорск

Вернуться к началу Перейти вниз

Изучение Си, в применении к К210. Отличия, особенности и т. д... Empty Re: Изучение Си, в применении к К210. Отличия, особенности и т. д...

Сообщение  Спонсируемый контент

26

Спонсируемый контент


Вернуться к началу Перейти вниз

Страница 1 из 2 1, 2  Следующий

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения