<bgdev />free

Вход Регистрация

Какъв би бил идеалният за вас език чисто синтактично?
0

0 1 2 3 4 5

#119118 (ツ) Дон Реба
Създадено на 06.10.2024 , видяно: 417 пъти.
waldorf

Тези които се разчитаха основно от продажби на домашни компютри обаче ги няма.

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

#119121 (ツ) roncho
Създадено на 06.10.2024 , видяно: 405 пъти.
BIGBUGEX

Добър език за програмиране е такъв с мощен препроцесор.

Думата "препроцесор" ми припомни една разработка, от която съм много доволен. Линка по-долу съдържа откъс от програмен код. http://roncho.net/v/vprogramming.htm Този език е от тип асемблер, но го изпълнява препроцесор. Удобен е, защото позволява бързи микрокоманди и заедно с това бавни процедури от по-високо ниво.

#119129 (ツ) Реконструктор
Създадено на 06.10.2024 , видяно: 392 пъти.
johnfound
Реконструктор
Дон Реба
Реконструктор

Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.

не са близо до хардуера, само се парсват най-лесно.

Ами говорим за времената, в които са били актуални. Всички модерни процесори са смес от регистрови и стекови машини. Ся един фешън арм с неговите 35+ регистъра е по-скоро регистрова машина, повечето ф-ии спокойно могат да не излизат от процесора. Ама 8086 с неговите мижави 4 регистъра, пробвай да не ползваш стека. :)

Уф, опитах се да ти кажа, ама пак ще напиша. Стека в процесорите няма нищо общо със стека в стековите езици. За да имаш стекова машина (език, процесор) трябва да можеш да извършваш операции директно върху стека. Никой от съвременните процесори това не го може. Защото е неефективно.

А да, броят на регистрите никак не класифицира процесора като "регистрова" или "стекова" машина. (Апропо, 8086 има много повече от 4 регистъра)

Процесорът може да има само един регистър и пак да е регистрова машина. Важното е в операциите задължително да участва този регистър. Например в 6503 има регистър A и всяка операция работи върху този регистър. Единият операнд задължително се намира в А (вторият задължително в паметта), резултатът винаги е в А.

Ако процесорът може да събере две числа от върха на стека и да остави резултата пак в стека, то това е стекова машина.

В настоящето има процесори, които могат да работят директно в паметта, без участие на регистри (x86 например). Единственият стеков процесор, който аз знам, това е аритметическия копроцесор 8087 (сега го вграждат в процесорите, но пак си е отделна система).

Няма да спорим за понятия. Както казах, процесорите са микс. Да, всички стекови операции минават през регистри, но от друга страна, машина, която потребителя вижда като "стекова", вътрешно пак си ползва регистри, просто нямаш достъп до тях. Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

#119131 (ツ) johnfound
Създадено на 06.10.2024 , видяно: 380 пъти.
Реконструктор

Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

Не.

#119132 (ツ) roncho
Последно редактирано на 06.10.2024 от roncho, видяно: 378 пъти.
Реконструктор:

"Изобщо, отговора беше към потребителя roncho, според който хардуера определял езика и колкото по-близо до проца, толкова по-добре. В реалния живот истината е диаметрално противоположна. Питоня избухна рязко, въпреки, че е толкова отдалечен от хардуера, колкото е въобще е възможно."

Питона е интерпретатор. Не знам точно как работи, но поначало интерпретаторите са много удобни за писане, особено ако са истински, тоест ако не правят предварително изследване на програмния текст. А относно хардуера - моят отговор е "за мен", тъй като темата е "какъв би бил за вас".

#119133 (ツ) Реконструктор
Последно редактирано на 06.10.2024 от Реконструктор, видяно: 373 пъти.
johnfound
Реконструктор

Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

Не.

А колко?

My picture
Attached files:
FileSizeUploadedDownloadsMD5 hash
image.png134249 bytes06.10.2024763750ab8716545d7eb62eb576010b5b15
#119134 (ツ) waldorf
Последно редактирано на 06.10.2024 от waldorf, видяно: 370 пъти.
Реконструктор
johnfound
Реконструктор

Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

Не.

А колко?

AX, BX, CX, DX са двойки 8 битови/16 битови регистри

SI, DI, SP, BP са си само 16 битови

С всички могат да се правят сметки без проблем. Виж полетата за избор на регистър R/M или както там беше в ISA-та.

#119137 (ツ) Rabin
Създадено на 06.10.2024 , видяно: 352 пъти.

А си мислех, че като студент ни учеха морално остарели неща...

Машина с 8086 в момента е връла антика.

#119138 (ツ) synergie
Създадено на 06.10.2024 , видяно: 342 пъти.

Дебел, ти и от електроника ли не разбираш бе?

#119139 (ツ) Реконструктор
Създадено на 06.10.2024 , видяно: 336 пъти.
waldorf
Реконструктор
johnfound
Реконструктор

Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

Не.

А колко?

AX, BX, CX, DX са двойки 8 битови/16 битови регистри

SI, DI, SP, BP са си само 16 битови

С всички могат да се правят сметки без проблем. Виж полетата за избор на регистър R/M или както там беше в ISA-та.

SI, DI, SP, BP не са general purpose. Съвсем тясно специализирани са.

#119140 (ツ) johnfound
Създадено на 06.10.2024 , видяно: 333 пъти.
Реконструктор

SI, DI, SP, BP не са general purpose. Съвсем тясно специализирани са.

Съвсем, не съвсем, а всички операции с тях могат да се извършват точно както с ax, bx, cx, dx.

#119141 (ツ) BIGBUGEX
Последно редактирано на 06.10.2024 от BIGBUGEX, видяно: 330 пъти.

Мисля че само при индексирането с два регистъра имаше ограничение кои да са те. Май bx трябваше да е индексиращият регистър.

#119142 (ツ) waldorf
Последно редактирано на 06.10.2024 от waldorf, видяно: 328 пъти.
Реконструктор
waldorf
Реконструктор
johnfound
Реконструктор

Иначе в 8086 gp регистрите, които можеш да позваш за сметки са точно 4.

Не.

А колко?

AX, BX, CX, DX са двойки 8 битови/16 битови регистри

SI, DI, SP, BP са си само 16 битови

С всички могат да се правят сметки без проблем. Виж полетата за избор на регистър R/M или както там беше в ISA-та.

SI, DI, SP, BP не са general purpose. Съвсем тясно специализирани са.

Тц, това не са взаимно изключващи се неща - тези регистри са със специализация, но могат да се ползват и за аритметични операции.

Както и AX:BX:CX:DX също имат тясна специализация

AX - за aaa, aad, aam, aas, mul, cmps, lods, movs, stos, xlat

BX - основа на xlat

CX - брояч за loop, rep cmps, rep lods, rep movs, rep stos

DX - за cwd, mul, div

#119144 (ツ) johnfound
Създадено на 06.10.2024 , видяно: 319 пъти.
BIGBUGEX

Мисля че само при индексирането с два регистъра имаше ограничение кои да са те. Май bx трябваше да е индексиращият регистър.

Ограничения някакви винаги има. Има и инструкции, които работят само с един регистър.

Но 8086 е първата архитектура на микропроцесор, в която няма регистри с единствено предназначение, а повечето операции могат да се правят над повечето регистри.

Лично според мене тя затова и стана толкова популярна.

0 1 2 3 4 5

Какъв би бил идеалният за вас език чисто синтактично?
0

AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE