Жаттығу. Машиналық тілдің команда форматы.
Орталық процессор командасы бір немесе бірнеше операндты операция
кодынан тұрады (операция орындалатын обьектілер). Операнд санына
тәуелді, командалар келесілерге бөлінеді:
-адрессіз командалар – операндтары жоқ немесе нақты емес
көрсетілген операндалары бар
командалар;
-бірадресті командалар – бір обьектпен немесе нақты біреуімен және
біреуімен немесе бірнеше нақтыланбаған көрсеткіштермен операция
жүргізетін командалар;
-екі және үш адресті командалар (үлкен санды операндтары бар,
командалары бар сәулеттерде кездеседі).
1. Операнды жоқ адрессіз командалар мысалы:
NOP – No Operation, операцияның болмауы;
HALT – процессор аялдамасы;
Return – ішкі программадан қайту (стектен қайту адресін алып, команда
счетчигіне орналастырады);
2. Нақты көрсетілмеген операндты адрессіз команда мысалы:
WDR – Watch Dog Reset, микроконтроллер бақылау таймерін тастау;
ADD – стектан екі мәнді алу, оларды орналастырып нәтижесін стекқа
орнату;
SCS –
келесі команданы өткізу, егер ауысу биті жағдай сөзінде
орналасса;
3. Бір операндты бірадресті команда мысалы:
INC x – INCrement операндқа 1-ді қосамыз және осы адрес бойынша
нәтижесін сақтаймыз;
TST x TeST – жағдай сөзінде белгі жалаушаларын орнатып және
операнд мәнімен сәйкестенген нөлдік теңесуі.
4.Анықталмаған операндты бір адресті команда мысалы:
ADD x[, Acc] –операндты
аккумулятормен бірге салып, нәтижесін
аккумуляторда сақтаймыз;
Push x –операнд мәнін стекке жіберу;
Call x –ішкі программа шақыруы, келесі
команда адресін стекте
сақтайды және басқаруды көрсетілген адреске жібереді;
BNEQ x – егер жағдай сөзіне нөлдік теңсіздік жалауы орнатылса, онда
көрсетілген адрес бойынша басқару жіберіледі.
5. Екі және үш адресті команда мысалы:
Move x,y – x обьектісінің мәнін y обьектісіне тағайындау;
ADD x,y – x және y-ті бөліп, нәтижесін y-ке орналастыру;
ADD x,y,z – x және y-ті бөліп және
нәтижесін z-ке орналастыру;
6. Төрт адресті команда мысалы:
DIV xyzw – x-ті y-ке бөлуді орындайды, бүтінін z-ке, ал қалғанын w-ға
орналастырады;
7. Алты адресті команда мысалы:
INDEX b,l,h,s,i,a – b адресі бойынша орналасқан, l индексінің төменгі
және жоғарғы шекарасымен және сәйкес b-ң және s элементінің өлшемімен
массивтің элемент адресін есептейді.
қайда: операнд i – элемент индексі; операнд a – орын, мұнда
шығарылған адресті орнатуымызға болады;
Адрестер санын кейде команда жүйесінің жалпы мінездемесі үшін де
қолданылады. Екі адресті команда жүйесі деп максимум екі операнды бар
команданы, үш адресті – максимум үш операнды бар команданы айтамыз.
Кейде максималды операнд саны орнына, қосу және шығару жиі
қолданылатын команданың операнд саны бойынша команда жүйесінің
адрестелуін анықтайды. Сол себепті, VAX, төрт және алты адресті команда
мысалынан алынған жүйе
командасын, көбіне үш адресті сәулетке
жатқызады.
Бірадресті команда жүйесі нақты берілмеген операнд ретінде
ерекшеленген регистр (аккумулятор) немесе стекты қолданады. Мұндай
сәулетті аккумуляторлы және стекты деп атаймыз.
Microchip фирмасының
PIC семействасының микроконтроллерінің бір адресті аккумуляторлы сәулеті
бар. Қазіргі заманғы көптеген процессорларда екі немесе үш адресті жүйе
командасы бар.
ADD стекты командасының мысалында, байқағанымыздай, стекты
сәулеттің көптеген командасы көрсетілген операндсыз да бола алады, бірақ
айнымалылардың мәндерін стекке итеру командалары
және оларды итеріп
шығу командалары керек, сондықтан барлық стектің сәулеті бір адресті,
адрессіз емес.
Достарыңызбен бөлісу: