Поддерживать
www.wikidata.ru-ru.nina.az
Eta statya o sisteme komand v celom ob instrukciyah sm Kod operacii V state ne hvataet ssylok na istochniki sm rekomendacii po poisku Informaciya dolzhna byt proveryaema inache ona mozhet byt udalena Vy mozhete otredaktirovat statyu dobaviv ssylki na avtoritetnye istochniki v vide snosok 11 dekabrya 2022 Mashi nnyj kod platfo rmenno orienti rovannyj kod mashi nnyj yazy k sistema komand nabor kodov operacij konkretnoj vychislitelnoj mashiny kotoraya interpretiruetsya neposredstvenno processorom ili mikroprogrammami etoj vychislitelnoj mashiny Pamyatka programmista 1960 e gody Cifrovoj mashinnyj kod Minsk 22 Kompyuternaya programma zapisannaya na mashinnom yazyke sostoit iz mashinnyh instrukcij kazhdaya iz kotoryh predstavlena v mashinnom kode v vide t n opkoda dvoichnogo koda otdelnoj operacii iz sistemy komand mashiny Dlya udobstva programmirovaniya vmesto chislovyh opkodov kotorye tolko i ponimaet processor obychno ispolzuyut ih uslovnye bukvennye mnemoniki Nabor takih mnemonik vmeste s nekotorymi dopolnitelnymi vozmozhnostyami naprimer nekotorymi makrokomandami direktivami nazyvaetsya yazykom assemblera Kazhdaya model processora imeet sobstvennyj nabor komand hotya vo mnogih modelyah eti nabory komand silno perekryvayutsya Govoryat chto processor A sovmestim s processorom B esli processor A polnostyu ponimaet mashinnyj kod processora B Esli processory A i B imeyut nekotoroe podmnozhestvo instrukcij po kotorym oni vzaimno sovmestimy to govoryat chto oni odnoj arhitektury imeyut odinakovuyu arhitekturu nabora komand Mashinnaya instrukciyaOsnovnaya statya Instrukciya informatika Kazhdaya mashinnaya instrukciya vypolnyaet opredelyonnoe dejstvie takoe kak operaciya s dannymi naprimer slozhenie ili kopirovanie mashinnogo slova v registre ili v pamyati ili perehod k drugomu uchastku koda izmenenie poryadka ispolneniya pri etom perehod mozhet byt bezuslovnym ili uslovnym zavisyashim ot rezultatov predydushih instrukcij Lyubaya ispolnimaya programma sostoit iz posledovatelnosti takih atomarnyh mashinnyh operacij Operacii zapisyvaemye v vide odnoj mashinnoj instrukcii mozhno razdelit na prostye elementarnye operacii i slozhnye Krome togo bolshinstvo sovremennyh processorov sostoit iz otdelnyh ispolnitelnyh ustrojstv vychislitelnyh blokov kotorye umeyut ispolnyat lish ogranichennyj nabor prostejshih operacij Pri ispolnenii ocherednoj instrukcii specialnyj blok processora dekoder transliruet dekodiruet eyo v posledovatelnost elementarnyh operacij ponimaemyh konkretnymi ispolnitelnymi ustrojstvami Arhitektura nabora komand processora opredelyaet kakie operacii on sposoben vypolnyat i kakoj mashinnoj instrukcii kakie chislovye kody operacij opkody sootvetstvuyut Opkody byvayut postoyannoj dliny u RISC MISC arhitektur i diapazonnoj u CISC arhitektur naprimer dlya arhitektury x86 komanda imeet dlinu ot 8 do 120 bitov Sovremennye superskalyarnye processory sposobny vypolnyat neskolko mashinnyh instrukcij za odin takt Mashinnyj kod kak yazyk programmirovaniyaSm takzhe Yazyk assemblera Mashinnyj kod mozhno rassmatrivat kak primitivnyj yazyk programmirovaniya ili kak samyj nizkij uroven predstavleniya skompilirovannyh ili assemblirovannyh kompyuternyh programm Hotya vpolne vozmozhno sozdavat programmy pryamo v mashinnom kode sejchas eto delaetsya redko v silu gromozdkosti koda i trudoyomkosti ruchnogo upravleniya resursami processora za isklyucheniem situacij kogda trebuetsya ekstremalnaya optimizaciya Poetomu podavlyayushee bolshinstvo programm pishetsya na yazykah bolee vysokogo urovnya i transliruetsya v mashinnyj kod kompilyatorami Mashinnyj kod inogda nazyvayut nativnym kodom takzhe sobstvennym ili rodnym kodom ot angl native code kogda govoryat o platformenno zavisimyh chastyah yazyka ili bibliotek Programmy na interpretiruemyh yazykah takih kak Basic ili Python ne transliruyutsya v mashinnyj kod vmesto etogo oni libo ispolnyayutsya neposredstvenno interpretatorom yazyka libo transliruyutsya v psevdokod bajt kod Odnako interpretatory etih yazykov kotorye sami mozhno rassmatrivat kak processory kak pravilo predstavleny v mashinnom kode MikrokodOsnovnaya statya Mikrokod V nekotoryh kompyuternyh arhitekturah podderzhka mashinnogo koda realizuetsya eshyo bolee nizkourovnevym sloem programm nazyvaemyh mikroprogrammami Eto pozvolyaet obespechit edinyj interfejs mashinnogo yazyka u vsej linejki ili semejstva kompyuterov kotorye mogut imet znachitelnye strukturnye otlichiya mezhdu soboj i oblegchaet perenos programm v mashinnom kode mezhdu raznymi modelyami kompyuterov Primerom takogo podhoda yavlyaetsya semejstvo kompyuterov IBM System 360 i ih preemnikov nesmotrya na raznye shiny shirinoj ot 8 do 64 bit i vyshe tem ne menee u nih obshaya arhitektura na urovne mashinnogo yazyka Ispolzovanie sloya mikrokoda dlya realizacii emulyatora pozvolyaet kompyuteru predstavlyat arhitekturu sovershenno drugogo kompyutera V linejke System 360 eto ispolzovalos dlya perenosa programm s bolee rannih mashin IBM na novoe semejstvo naprimer emulyator IBM 1401 1440 1460 na IBM S 360 model 40 Absolyutnyj i pozicionno nezavisimyj kodAbsolyutnyj kod angl absolute code programmnyj kod prigodnyj dlya pryamogo vypolneniya processorom to est kod ne trebuyushij dopolnitelnoj obrabotki naprimer razresheniya ssylok mezhdu razlichnymi chastyami koda ili privyazki k adresam v pamyati obychno vypolnyaemoj zagruzchikom programm Primerami absolyutnogo koda yavlyayutsya ispolnimye fajly v formate COM i zagruzchik OS raspolagaemyj v MBR Chasto absolyutnyj kod ponimaetsya v bolee uzkom smysle kak pozicionno zavisimyj kod to est kod privyazannyj k opredelyonnym adresam pamyati Pozicionno nezavisimyj kod angl position independent code programma kotoraya mozhet byt razmeshena v lyuboj oblasti pamyati tak kak vse ssylki na yachejki pamyati v nej otnositelnye naprimer otnositelno schyotchika komand Takuyu programmu mozhno peremestit v druguyu oblast pamyati v lyuboj moment v otlichie ot peremeshaemoj programmy kotoraya hotya i mozhet byt zagruzhena v lyubuyu oblast pamyati no posle zagruzki dolzhna ostavatsya na tom zhe meste Vozmozhnost sozdaniya pozicionno nezavisimogo koda zavisit ot arhitektury i sistemy komand celevoj platformy Naprimer esli vo vseh instrukciyah perehoda v sisteme komand dolzhny ukazyvatsya absolyutnye adresa to kod trebuyushij perehodov prakticheski nevozmozhno sdelat pozicionno nezavisimym V arhitekture x86 neposredstvennaya adresaciya v instrukciyah raboty s dannymi predstavlena tolko absolyutnymi adresami no poskolku adresa dannyh schitayutsya otnositelno segmentnogo registra kotoryj mozhno pomenyat v lyuboj moment eto pozvolyaet sozdavat pozicionno nezavisimyj kod so svoimi yachejkami pamyati dlya dannyh Krome togo nekotorye ogranicheniya nabora komand mogut snimatsya s pomoshyu samomodificiruyushegosya koda ili netrivialnyh posledovatelnostej instrukcij Programma Hello world Programma Hello world dlya processora arhitektury x86 OS MS DOS vyvod pri pomoshi BIOS preryvaniya int 10h vyglyadit sleduyushim obrazom v shestnadcaterichnom predstavlenii BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 Dannaya programma rabotaet pri eyo razmeshenii po smesheniyu 10016 Otdelnye instrukcii vydeleny cvetom BB 11 01 B9 0D 00 B4 0E 8A 07 komandy prisvoeniya znachenij registram 43 inkrement registra BX CD 10 CD 20 vyzov programmnyh preryvanij 1016 i 2016 E2 F9 komanda dlya organizacii cikla Malinovym pokazany dannye stroka Hello world Tot zhe kod assemblernymi komandami XXXX 0100 mov bx 0111h pomestit v bx smeshenie stroki HW XXXX 0103 mov cx 000Dh pomestit v cx dlinu stroki HW XXXX 0106 mov ah 0Eh pomestit v ah nomer funkcii preryvaniya 10h XXXX 0108 mov al bx pomestit v al znachenie yachejki pamyati adres kotoroj nahoditsya v bx XXXX 010A inc bx perejti k sleduyushemu bajtu stroki uvelichit smeshenie na 1 XXXX 010B int 10h vyzov preryvaniya 10h XXXX 010D loop 0108 umenshit cx na 1 i esli rezultat 0 to perejti po adresu 0108 XXXX 010F int 20h preryvanie 20h zavershit programmu XXXX 0111 HW db Hello World stroka kotoruyu trebuetsya napechatatSm takzheYazyk assemblera JIT kompilyaciyaPrimechaniyaTolkovyj slovar po vychislitelnym sistemam Dictionary of Computing Pod red V Illinguorta i dr Per s angl A K Belockogo i dr Pod red E K Maslovskogo M Mashinostroenie 1990 560 s 70 000 dop ekz ISBN 5 217 00617 X SSSR ISBN 0 19 853913 4 Velikobritaniya Kate Gregory Managed Unmanaged Native What Kind of Code Is This neopr 28 aprelya 2003 Data obrasheniya 27 marta 2012 Arhivirovano 30 maya 2012 goda
Вершина