Pull to refresh
49
0
Дмитрий @Int_13h

Пользователь

Send message
У нас еще к трещинам на лобовом стекле имеют претензии. Но не менять же стекло раз в сезон, как камень прилетит?
Это был риторический вопрос :)
Про различия.сом и.ехе я где то что то читал в детстве.
А тиски, например, тиски умели делать?
А гаечные ключи/торцевые головки, которые, в отличие от импортозамещенных китайских собратьев, не растягиваются на размер больше при приложении усилия?
А несыромятные сверла по металлу, которыми можно сверлить бесконечно (не забываем про заточку)?
Надфили, метчики и плашки… чего же еще у меня в гараже советского есть… :)
Я, как почетный некрофил, сейчас из-под ХР на хабре. Проблем (пока) нет.
Значит можно избавиться от этой ненужной абстракцыи и запускать программы напрямую, без загрузки DOS?
НУ вы же понимаете, что рабочее время программистов стоит дороже, чем проблемы пользователей от глючности и тормознутоси софта.
А вот например, я у этого товарища несколько раз брал разные трансиверы. Но мне легче, мы с ним в одном городе :)

А так барахолки на том же радиосканере завалены предложениями.
На 4-ую категорию можно китайскую бабалайку за сущие копейки взять, только что там делать на 144/430?
Ну а КВ трансивер тыщ 20 всего, японский, новый с рук или старый с аукциона. Не обязательно брать последний писк моды за 200 т.р :)
Вас наверное интересует, откуда взялась разница примерно в 10000 позывных между данными полученными мной и опубликованными сайте СРР в разделе «Статистические данные»? У меня нет ответа на этот вопрос.

Как вариант, не обязательно состоять в ССР, чтобы иметь позывной.
Лет 10 назад, по крайней мере, когда куча народу решыло легализоваться, ССР использовался только для сдачи экзамена на 4-ую, а все оформление шло через Роскомнадзор (тот самый). Кандидат договаривался в клубе о сдаче экзамена, сдавал тест, брал бумажку о сдаче, прикладывал к заявлению, относил в РКН, получал по почте заветную бумажку о присвоении. И больше о союзах не вспомнинал никогда.
Э, товарищ, ты же спец по электронике, программированию и прочему ассемблеру? это же из темы «методы адресацыи».
immediate field — это когда данные для операцыи указаны непосредственно (immediate) в опкоде команды, под них выделяется часть опкода (этот самый field), дешыфратор команд и определяет по опкоду, откуда данные взять — из самой команды, из регисторв, из памяти.
и, конечно, извиняюсь за цы/жы/шы, но
это мой стиль для неофицыальной переписки в виде форумов, комментариев и прочего.
«Грамматика — это как кунг-фу: настоящий мастер не использует ее без крайней необходимости» (с)
Интересно, если бы техническую литературу переводили без редакторов, там так же было бы? Но в этот раз уже лучше, чем в прошлой статье-переводе :)
Транскрибирование — это что? В толковых словарях оно про составление транскрипцый и смысла не добавляет. Может реверс/дизассемблирование?
immediate field (мгновенных полях) поле с непосредственными данными же!
Внутри подпрограмм инструкция LB должна использоваться с осторожностью, потому что содержимое SB было изменено.

Тут вообще к непосредственному автору вопрос. LB — Logical Brаnch, и, естественно, оно зависит от флагов состояния SB. Но зачем это в описании инструкцыи LDI? Как изменяются флаги состояния при этом — не ясно.
Ага, и в чем проблемы с подключением осцыллографа к логике -17В тоже не ясно.

Вот, например, отреверсенная программа после С-компилятора, архитектура со стеком и всеми делами:
Извиняюсь за форматирование, у меня не работает кнопка исходный код, а хабр не умеет выравнивать ни табами, ни пробелами
LCD_WC_DB0
;FSR0 to Arg1
movf FSR2L, W, ACCESS
addlw 0xFE
movwf FSR0L, ACCESS
movlw 0xFF
addwfc FSR2H, W, ACCESS
movwf FSR0H, ACCESS
;W = Arg1
movf INDF0, W, ACCESS
andlw b'00000001'
bnz LCD_WC_DB0ON
LCD_WC_DB0OFF
bcf LCD_DB0 ;DB0 = 0
bra LCD_WC_DB1
LCD_WC_DB0ON
bsf LCD_DB0 ;DB0 = 1
LCD_WC_DB1
;FSR0 to Arg1
movf FSR2L, W, ACCESS
addlw 0xFE
movwf FSR0L, ACCESS
movlw 0xFF
addwfc FSR2H, W, ACCESS
movwf FSR0H, ACCESS
;W = Arg1
movf INDF0, W, ACCESS
andlw b'00000010'
bnz LCD_WC_DB1ON
LCD_WC_DB1OFF
bcf LCD_DB1 ;DB1 = 0
bra LCD_WC_DB2
LCD_WC_DB1ON
bsf LCD_DB1 ;DB1 = 1

Штуки КАПСОМ на всю строку без команд — это метки.

Так вот, задача функцыи простая: взять свой агрумент из стека в виде байта, в соответсвии с каждым битом из байта устарновить лог «0» или «1» на выходе микроконтроллера.
Имеем после компилятора: используется косвенная адресацыя, установили указатель на аргумент (6 команд, т.к. архитектура 8 бит, а указатели — слово), поместили в аккумулятор, наложыли маску в соответствии с целевым битом (2 команды), в зависимости от значения установили лог «0» или «1» (4 команды). И так 8 раз — для каждого бита, итого 12х8=96 команд (192 байта памяти).
Как бы это выглядело на ассемблере: установили указатель на агрумент (6 команд, но можно упростить до 3х, если учесть что старшая часть адреса неизменна), поместили аргумент в память (2 команды), потом 8 раз: сдвиг на 1 бит (1 команда) и установка «0»/«1» по результатам (4 команды, но можно и в 3 соптимизировать). Итого 6+8*(1+4) = 46 команд или даже 39 после простой оптимизацыи. Или 92 и 78 байт памяти соответственно.
В итоге в отреверсенном коде из 11 кБ половина — это всякие прыжки указателями вокруг стека в т.ч проверка в каждой функцыи по завершению, не вышли ли указатели за границы стека и их коррекцыя. И таким образом программу можно уменьшыть по размеру в 2 раза!
Конечно, есть подозрения, что это сделано бесплатной версией компилятора, не умеющей оптимизацыю, но в итоге этот код в продакшене.
Но заметьте, ресурс вроде как позицыонируется как технический, товарищи тоже техничсеки подкованы и могут много пользцы принести ресурсу своими знаниями, а им сливают карму затыкают рот по политическим мотвиам.
Можно было бы просто отключать систему премирования и депремирования в политически острых статейках с минутой заботы от НЛО. Иноаче никакой плюразлизьм мнений невозможен.
Концевой — это ближе к жаргону, концевик.
Правильно, по ГОСТу IEC 60947-5-1-2014, «конечный».
Вспоминается недавняя история. Прислали мне платы для модернизацыи оборудования. Втыкаю по инструкцыи, подаю питание, слышу взрыв и запах. Открываю корпус — в микроконтроллере явная дырка, а не технологичнское отверстие.
Ну, оборудование с платой на завод (хорошо, оно небольшое, а не шкаф под тонну весом). И рекламацыю по емэйлу.
Производитель оперативно, не дождавшысь оборудования, в ответ «это вы накосячили чего то, у нас в офисе лампочка работает нормально». Потом притихли.
Потом сообщают: приехало оборудование, берут со склана новую плату, втыкают — бабах! Ну не может такого быть! Берут еще одну плату — бабах! И так раз семь подряд. Потом, когда платы под рукой кончились, открыли конструкторскую документацыю :)
Оказалось все до банального просто. С новой ревизией плат поменяли распиновку шлейфа и при сопряжении старой и новой плат напряжение 12В подавалось на один из входов микроконтроллера.
PAUSE vs SLEEP были в QBasic vs TurboBasic. поэтому код не перносился без корректировки. Но зато QBasic быв в винде искаропки, а TurboBasic умел делать экзешники.
Это уже было:
в симпсонах
— Программисты — народ дефицитный, избаловались, а нам нужен небалованный".
— «Да, это сложнее», — сказал я. Горбоносый стал загибать пальцы: «Нам нужен программист: а — небалованный, бэ — доброволец, цэ — чтобы согласился жить в общежитии...»
— «Дэ, — подхватил бородатый, — на сто двадцать рублей».
— «А как насчет крылышек? — спросил я. — Или, скажем, сияния вокруг
головы? Один на тысячу!»
— «А нам всего-то один и нужен», — сказал горбоносый.
«А если их всего девятьсот?» — «Согласны на девять десятых».
Купить буржуйские чертежи и начать штамповать по ним продукцию — не, нельзя.

Чо сразу нельзя то? Куча примеров, когда именно так и делают.
Но если отвлечься от терминов«импортозамещения», то весь мир так делает. Покупает мировой бренд никому не нужную тайваньскую компанию со всеми потрохами и выпускает на мировой рынок ее достижения под своей маркой, рубя капусту.
Это я про силовую электронику сейчас.

Information

Rating
Does not participate
Location
Россия
Registered
Activity