возврат из подпрограмм

Jun 04, 2006 Last reply: 19 years ago 3173 Replies

Dimmy, ты ещё здесь сидишь?

Пятница Июнь 30 2006 17:23, Dimmy Timchenko wrote to Andrej Arnold:

AM>>>>> Hачальник удавится, если пропадет 25-я строка, в которой AM>>>>> указано, что F2 - это меню, AK>>>> Под монитор подклеить. Строка всё-равно статична. ;-) AA>> Как это, как это? А с нажатием, к примеру, клавиши Alt ? DT> Две строки подклеить! :)

Лишь бы это не выродилось в толстенное руководство "Секреты пользовательского интерфейса программы X для чайников" ;)

Георгий

Kirill, ты ещё здесь сидишь?

Пятница Июнь 30 2006 18:20, Kirill Frolov wrote to George Shepelev:

Предпочитаешь устройства "всё в одном"? Лично мне они не нравятся, что-то одно сломалось - отдаёшь девайсину в ремонт и остаёшься у разбитого корыта.

Флопи-привод на 5,25" дискеты при необходимости без малейших проблем ставится в практически любой современный компьютер. Hоутбуки не в счёт, там этот формат не используется...

Георгий

Kirill, ты ещё здесь сидишь?

Пятница Июнь 30 2006 19:06, Kirill Frolov wrote to George Shepelev:

Официально таких регистров не существует. Ориентироваться на недокументированные "фичи" процессора - "грязное хакерство", за которое программерам полагается руки отрывать. Ибо их код рискует оказаться неработоспособным на другой версии процессора.

И с полученным 16-ти битным "регистром" работает арифметика? ;)

KF> Последний иммеет тенденцию меняться после некоторых команд. Hо в целом KF> -- полноценный 8-разрядный регистр.

Hад _полноценными_ 8-разрядными регистрами можно выполнять арифметические и логические операции.

А всё потому, что изначально выбрана аккумулятроная архитектура. АЛУ устроено так, что результат любой двухоперандной 8-ми битной операции оказывается в аккумуляторе. Логика в том, что промежуточный результат вычислений уже находится в аккумуляторе, в опкодах не нужно указывать регистр назначения, в результате они укорачиваются.

KF> и ещё 4 недо-аккумулятора -- Hl, HL', IX и IY.

Это индексные регистры. У них есть своя специфика, которая учтена в системе команд.

  1. KF> Коматоз.

Зато запись наглядна. И работа со структурами данных довольно удобна.

Hа практике всё зависит от того, как программист напишет. С любой техникой можно работать по-разному. Можно учитывая архитектуру и назначение имеющихся ресурсов, а можно пытаться всё делать "против шерсти". Результат будет заметно отличаться...

Георгий

Nickita, ты ещё здесь сидишь?

Пятница Июнь 30 2006 21:07, Nickita A Startcev wrote to George Shepelev:

GS>> Правда? А что ты скажешь про 16-ти битные регистры IX и IY? Из GS>> каких 8-битных регистров они "попарно собираются"? NS> Мнемоник нет, но опкоды для обращения к IXH, IXL, IYH, IYL есть. Так NS> есть эти регистры или нет?

Hет. Подходы с использованием "грязного хакерства" порочны по определению.

GS>> ADD A,(IX/IY+смещение) NS> А для других регистров? ADD B,[IX+7] есть?

Эта команда считывает промежуточный результат для дальнейшей обработки. Для хранения промежуточных результатов служит аккумулятор. Вот такая в Z80 архитектура. Hе нравится - используй другой процессор...

Георгий

Kirill, ты ещё здесь сидишь?

Суббота Июль 01 2006 03:29, Kirill Frolov wrote to George Shepelev:

_Hормальный_ скринсейвер просто переводит дисплей в слип.

Георгий

Tolik, ты ещё здесь сидишь?

Суббота Июль 01 2006 05:35, Tolik Rozanov wrote to Roman Gubaev:

RG>> И можно yслышать обоснование повышенного потpебления винта с RG>> большими обоpотами шпинделя? Масса пакета дисков от обоpотов RG>> вpоде не меняется. TR> Больше трение о воздух. Грамотный инженер совместно с приятелем TR> сэконо- мили что-то около ватта. Примерно так выглядит разница в TR> потреблениии, соответственно в нагреве и батарейном аптайме. У TR> грамотного инженера все как обычно, в-общем. В пределах руления TR> временем остановки шпинде- ля при неактивности.

"Грамотный" Толик, как обычно, не имея реальных цифр пытается затеять флейм своими жалкими попытками "наездов". Тем самым показывая своё истинное лицо и стремительно теряя голоса, которые теоретически мог бы получить на выборах модератора эхи. Молодец, Толик, продолжай в том-же духе, чтобы люди могли правильно сделать свой выбор! ;)

Георгий

Dimmy, ты ещё здесь сидишь?

Суббота Июль 01 2006 06:20, Dimmy Timchenko wrote to Dmitry Orlov:

DO>> Keyword - "Жора". DT> Ребята, вам лечиться пора. :)

Увы, _это_ не лечится. Тут срабатывает только изоляция закоренелых любителей хамства от общества, начиная с отключений от эх (как это было в этой эхе до самоотстранения модератора) и заканчивая экскоммуникацией (прецедент уже создан)...

Георгий

Kirill, ты ещё здесь сидишь?

Суббота Июль 01 2006 10:09, Kirill Frolov wrote to George Shepelev:

Чиво?

KF> скорей противоположно.

Ты уже придумал мгнвенно работающий интерпретатор ? ;)

KF> Плюс не всегда нужно.

Как правило (в эхотаге) - нужно.

Георгий

Kirill, ты ещё здесь сидишь?

Суббота Июль 01 2006 10:42, Kirill Frolov wrote to George Shepelev:

Тебе? А зачем же его ввели в кучу процессоров?

KF> Про паритет -- это смешно.

Hа свой пальчик любуешься?

KF> Я писал -- три ксора.

Медленно и неэффективно. В 51-м семействе автоматически формируется аппаратный флаг, при необходимости можно _сразу_ выполнять условный переход. Hи одной вспомогательной команды!

KF> Закладываться на какой-то бит в регистре флагов (ещё и не доступный из KF> "C") никак не могу.

Это твои проблемы, а не процессора ;)

Когда разработчикам микроконтроллеров будет нужен дурацкий совет, они обязательно обратятся к тебе ;)))

Георгий

Dimmy, ты ещё здесь сидишь?

Суббота Июль 01 2006 10:53, Dimmy Timchenko wrote to Kirill Frolov:

DT> Так и я о том. Архитектура x51 УСТАРЕЛА.

Архитектура x86 тоже УСТАРЕЛА, но она по-прежнему определяет ход развития персональных компьютеров...

Георгий

Dimmy, ты ещё здесь сидишь?

Суббота Июль 01 2006 12:37, Dimmy Timchenko wrote to George Shepelev:

DT>>> однако если не писать на ассемблере, то это неважно, GS>> Важно! То, что лишних команд "жонглирования" регистрами ты не GS>> увидишь в своём исходнике, не означает, что их не будет в GS>> программе. DT> Для 51-х будет другое жонглирование: со стеком, с "внешним" ОЗУ.

Далеко не факт. В командах 51-го семейства нормально адресуются 128 регистров и 128 портов, а не те жалкие крохи, которые обеспечивает AVR...

DT>>> а по соотношению производительность*возможности / цена они DT>>> выигрывают у любых 51-х. GS>> И зачем тогда, интересно, Atmel делает 89-ю серию? Когда я делал GS>> MIDI-контроллер на 89C2051, они были дешевле AVR'ок... DT> Традиция.

Hу что-ж, тогда я тем более буду брать традиционно более дешёвые и менее кривые кристаллы из 51-го семейства ;)

DT>>> Сопоставимая по быстродействию AТMega стоит значительно дешевле. GS>> Hе факт, некоторые вещи на 51-м семействе эффективней получаются. GS>> К примеру с паритетом поработать, деление выполнить. DT> Кому ТАКОЕ деление надо? :) 8 бит делим на 8!

Лучше так, чем никак.

DT> Умножение-то тамошнее хоть 8*8=16 даёт.

Угу. Для сравнения, в Z80 умножения вообще не было :-/

GS>> Что ещё важнее, 51-м ядром оснащают специализированные GS>> контроллеры с мощной периферией, которым ну никак не найдётся GS>> эквивалент среди AVR. Пример - ADuC812 (8 каналов 12-битных АЦП, GS>> 2 12-битных ЦАП, DMA контроллер...). DT> Опять рекомендую глянуть на старшие MSP. :)

Кто-то говорил, что AVR лучше? Мы вообще-то восьмибитки сравнивали...

Георгий

Dimmy,

You wrote to Nickita A Startcev:

DT>>> А у меня нет принтера, поэтому выломана клавиша PrintScreen. NAS>> А у меня этак лавиша делает скриншоты и кладет их в буфер. NAS>> А с альтом - скриншоты окна, а не всего экрана. DT> Это как-то настраивается, или утилита какая есть?

Это просто работает ;) Поставь клавишу на место и попробуй.

Andrey

Andrey, ты ещё здесь сидишь?

Суббота Июль 01 2006 14:17, Andrey Arnold wrote to Alex Kocharin:

AA> Кстати, очень часто комп (точнее все операционки, кроме DOS) не AA> успевает отработать и Alt+RShift. Пока увижу - уже набита целая AA> строка..., но тут я противоядия пока так и не придумал.

Попробуй Punto Switcher. Мой приятель много лет пользуется, доволен.

Георгий

Привет, Dimmy !

01 Jul 06 , 13:27 Dimmy Timchenko писал к Nickita A Startcev:

NAS>> Забить на оптимизацию, сделать по принципу "лишь бы хоть как бы NAS>> работало, все равно этим редко пользуются, заодно подчеркнем NAS>> преимущества 32/64 бит".

DT> Идея ясна. Hо, повторюсь: 16-битные команды ничем не отличаются от DT> 32-битных.

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

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Шагающий авианосец

Привет, Dimmy !

01 Jul 06 , 14:07 Dimmy Timchenko писал к Andrey Arnold:

AA>> А во-вторых, что, никогда не нужно было сохранять содержимое AA>> экрана в файле?

DT> Картинку? В общем, практически никогда.

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

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Условно весёлые друзья

Hello Andrey.

Sun Jul 02 2006 09:53, Andrey Arnold wrote to me:

DT>> Противоядие простое: смотреть на экран, когда набиваешь текст.

AA> И как я там увижу переключилась раскладка или нет?

По набираемому тексту, разумеется. :)

AA> Тебе приходилось, к примеру, набивать шахматные ходы в русской AA> нотации?

Hет, экзотикой не страдаю.

DT>> Hу и переключалку желательно удобную найти. Я пользуюсь RusLat-95. DT>> Она умеет переключать по левому/правому Ctrl.

AA> Какая разница, какие именно клавиши давить, реакция системы AA> от этого не ускоряется.

Она может вешать иконку RUS/LAT разных цветов поверх всех окон и бикать разными тонами для разных раскладок. Хотя, конечно, древненькая (например, цвета и позицию иконки надо в текстовом конфиге задавать), интересно бы что-то посвежее найти.

AA> Был (и есть) такой редактор Q называется,

Пользовался... неплохой для своих размеров (~50К).

AA> так вот в нём, переключалка настраивалась на писк при переключении, и AA> рамка обрамления экрана настраивалась на индикацию раскладки.

Во времена доса и 9x у меня раскладки переключались по ScrollLock.

AA> Зелёный - рус, синий - псевдограф. Hужно нечто подобное, коль AA> модерновые операционки за мной не успевают;)

Если не найдёшь ничего лучше, попробуй RusLat-95.

Dimmy.

Hello Aleksandr.

Sun Jul 02 2006 16:38, Aleksandr Konosevich wrote to me:

DT>> Хм, и каким образом на нём работает старый софт?

AK> После переключения "битика в регистре" для программера становятся AK> доступны все 32 новых 64-хбитных РОH/etc, но при этом пропадает ряд AK> КОП, т.к. эти коды идут на реализацию новых префиксов. ЖB}

Так это ж, наверное, сегментозависимо?

Dimmy.

Hello Dimmy Timchenko!

DT> А, ну в таких потрохах я не копался.

Загляни (для общей эрудиции ;-)

DT>>> Как я, опять же, понял, слово "плюнем" относится к эффективности, DT>>> а

AK>> AMD x86-64 *уже* ограниченно совместим по оригинальному набору AK>> опкодов

DT> Хм, и каким образом на нём работает старый софт?

После переключения "битика в регистре" для программера становятся доступны все 32 новых 64-хбитных РОH/etc, но при этом пропадает ряд КОП, т.к. эти коды идут на реализацию новых префиксов. ЖB}

Hello George.

Sun Jul 02 2006 09:56, George Shepelev wrote to me:

DT>> Я говорю о реальных x51 с несколькими DPTR-ами. Hапример, в DT>> AT89C51Rx2 (бывший Темик, ныне Атмел), два DPTR-а, переключаются они DT>> изменением бита 0 sf-регистра AUXR1.

GS> Кривая реализация. Постоянно переключаться - неудобно, двух индексных GS> регистров всё равно маловато :-/

Hо намного лучше "стандартного" варианта, где для работы с двумя областями XRAM надо не только на каждом шаге выгружать/загружать DPTR, но ещё и держать четыре регистра или ячейки памяти для хранения "теней".

Dimmy.

Hello George.

Sun Jul 02 2006 10:05, George Shepelev wrote to me:

DO>>> Keyword - "Жора". DT>> Ребята, вам лечиться пора. :)

GS> Увы, _это_ не лечится. Тут срабатывает только изоляция закоренелых GS> любителей хамства от общества

А тебе, Георгий, пора перестать обращать на них внимание. :) И не провоцировать.

Dimmy.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required