Мәліметтерді адрестеу
ОП1 және ОП2 операндаларды қарастырайық. Әрдайым әрбір операндты кодтауға төрт екілік разряд бөлінеді, Олардың екі үлкені мәліметтердің адрестеу типін береді, ал кішілері оны анықтайды. Көпшілік жағдайда екі кіші биттер адрестеу жүзеге асатын регистр номерін береді.
Адрестеу типіне сәйкес оператор модификаторының үлкені төрт қайталанбайтын екілік комбинациядан құралады:
00 – адрестеудің регистрлеу әдісі: операндасы болып көрсетілген регистрдің мазмұны саналады;
01 – қосалқы адрестеу әдісі: адресі көрсетілген регистрде берілген ЖЕСҚ ұяшығының мазмұны операнд болып табылады;
10 – қор; адрестеудің индекстік әдісі қолданылады;
11 – РС команда адресінің санауышы: командаға кіретін ақпаратты қолданудан операнд алынады.
Қарапайым адрестеу әдісі болып регистрлік әдіс саналады. Бұл әдіске үлкен биттің нөлдік мәні сәйкес келеді. Операнданың толық коды регистр нөмеріне сәйкес келеді: 0000 екілік комбинациясы R0-ге, 0001-R1-ге және т.с.с. сәйкес келеді.
Әрекетке мәліметтер ретінде көрсетілген регистрдегі ақпарат қолданылады. Мысалы, егер R1=3, ал R2=5 болса, онда нәтижесінде келесі команда орындалады:
0212:R2+R1=>R2
нәтижесі R2=8 болады.
Қосалқы адрестеу кезінде операнд коды күрделі болады: қосалқы қатынасу R0 регистрі бойынша 0100 (4) болады, ал R1-0101(5) және т.с.с. Көрсетілген регистр мазмұны операнд емес, оның ЖЕСҚ адресі болады. Келесі команданы қарастырайық:
0263: R3+(R2)=>R3
мұндағы R2 жақшасы қосалқы адрестеуді сипаттайды. R2 мазмұны 30 ға тең, ал R3=6. 30-ші адресті жады ұяшығында 10 саны сақталған. «Е97» процессоры команданы орындау кезінде R3-тегі 6 мәніне R2 көрсеткен 30-шы ұяшықтағы санын қосады және әрекет нәтижесін R3 – ке 16 деп еңгізеді.
РС бағдарлама санауышы бойынша адрестеу әдісін қарастырайық. Себебі адрестеу жүретін регистр анықталған және басқа мақсатта қолдануға болатын операндтың екі кіші биті босатылады. Осыған байланысты санауыш бойынша адрестеудің төрт әдісі пайда болады:
11 00 –қор;
11 01 –команда құрамындағы тұрақты операнд болады;
11 10 –операнд командаға кіретін адрес ЖЕСҚ-ның алынады;
11 11 – қор.
«Е97» РС бойынша D және E оналтылық кодына сәйкес адрестеудің екі әдісі бар. Мысалы, екі сөзден құралған команданы алайық:
02D1
0020.
R1+20=>R1 әрекеті келесідей орындайды: R1 ағымдық мәніне командадан алынған 20 саны қосылады және нәтиже R1-ге орналасады. Егер R1-дің алғашқы мәні F0 болса, онда әрекет нәтижесі R1 –ге 110 болып жазылады.
РС адрестеуімен тағы бір команда жазайық:
021Е
0020.
(20)+R1=>(20) әрекетін келесідей орындайды: 20-шы жады ұяшығында сақталатын санға R1 мәні қосылады. Егер R1=F0, онда (20)=40 нәтиже (20)=130 болады.
Модификатор төрт биттен құралады, екі үлкені байт/сөзді айырып қосуға, ал екі кішісі «қысқа тұрақты» деп аталатын әдіспен мәліметтерді беруге жауап береді. Көптеген командалар мәні модулі бойынша 15-тен аспайтын кішкене тұрақтылармен жұмыс жасайды. Мұндай тұрақтылар ОП1-дегі алынған төрт битке орналаса алады. «Е97»-де мұндай мүмкіндікті жүзеге асыру үшін 0 және 1 екі кіші бит модификаторлары қолданылады. Олар арқылы процессор «қысқа тұрақтыны» анықтай алады. Бұл жағдайда ОП1 мәні екілік сан ретінде қарастырылады, ал модификатордың 0-і биті оның таңбасы болады. Мысалы:
25А3:R3*10=>R3
немесе
3653:R3/(-5)=>R3.
Көрсетілген мысалдардан «қысқа тұрақтылы» әрекет бір сөзді ғана алады. Мұндай әдіс мынадан бұрын айтылған РС бойынша адрестеу әдісіне қарағанда үтымды болып келеді.
«Қысқа тұрақтылы» әрекет процессор командасының жүйесін жеңілдетеді. Мысалы, бағдарламаларда мәліметтерді бірлікке көбейту немесе азайту командалары қажет болады. Кез келген процессорда мұндай жағдайда IMC және DEC деп аталатын арнайы командалар болады. «Е97»-де бұл командалар «қысқа тұрақтылы» әрекетінің жеке жағдай ретінде қарастырылады.
Дата добавления: 2014-12-22; просмотров: 2262;