Ўзбекистон республикаси олий ва ўрта махсус таълим вазирлиги олий таълим тизими педагог ва раҳбар кадрларини
Download 5.84 Mb. Pdf ko'rish
|
deshifr
- Bu sahifa navigatsiya:
- Амалий кодлар ва тескари тартиб (Opcodes and Endianness).
- Operandлар.
- Регисторлар.
Кўрсатмалар (Instructions). Кўрсатмалар ассемблер тилининг қурувчи
блокларидир. Х86 ассемблер тилида, кўрсатмалар mnemonic ва operand лардан қурилади. Қуйидаги 5.12 – расмда mnemonic сўз шаклиди ифодаланган кўрсатмани mov орқали, яъни маълумотни кўчиришни тасвирлаган. Operandлар маълумотни кўрсатишда регисторлар ѐки маълумотлардан фойдаланади. 1 5.12 - расм. Кўрсатмалар формати Амалий кодлар ва тескари тартиб (Opcodes and Endianness). CPU да кўрсатмаларни юборишда амалий кодлардан фойдаланган ҳолда ассемблер коди машина кодига ўтказилади. Дизассембрлашда амалий кодлар инсон тушинадиган тилга (ассемблер тилига) ўзгартирилади. Қуйидаги 5.13 - расмда B9 42 00 00 00 амалий кодни ассемблер тилида mov ecx, 0x42 шаклида ўтказилганлиги кўрсатилган. Бунда 0xB9 коди мос ҳолда mov ecx га ва 0x42000000 коди эса 0x42 га айлантирилган. 1 Michael Sikorski, Andrew Honig. Practical malware analysis. 69 – с. III. НАЗАРИЙ МАТЕРИАЛЛАР 104 5.13 - расм. х86 архитектурасида, 0x42000000 кодини ассемблер кодига ўтказишда тескари тартибдан фойдаланилади, яъни кетма-кетлик байтлаб тескари томондан ўқилади ва 0x42 қиймати олинади. Operandлар. Операндлар кўрсатмалар орқали маълумотларни танитишда фойдаланилади. Уч турдаги операндлар бўлиши мумкин: 1. Бевосита операндлар. Бу турдаги операндлар қатий белгиланган катталиклар билан ифодаланади, масалан, 0х42. 2. Регистор операндлар регистор қиймати билан белгиланади, масалан, ecx. 3. Хотира манзиллари операндлари. Бу турдаги операндлар кўрсатилган хотира адресидаги қиймат орқали ифодаланади. Хусусий ҳолда қийматлар, регистор ва қавс ичида ѐзилган кетма-кетликлар орқали ифойдаланади, масалан, [eax]. Регисторлар. Регисторлар CPUдаги кичик ҳажмдаги маълумот сақловчи қурилмалар бўлиб, унда маълумотни ѐзиш ва сақлаш жуду тез амалга оширилади. Қуйида х86 архитектурасида мавжуд кенг тарқалган регисторлар турлари келтирилган: 1. Умумий регисторлар CPU томонидан бажарилиш давомида фойдаланилади. 2. Сегмент регисторлар хотира бўлимларини аниқлашда фойдаланилади. 3. Ҳолат байроқлари СРU ни бирор амал бажаришида қарор қабул қилиши учун керак бўлади. 4. Йўриқнома кўрсаткичлари кейинги бажарилиши керак бўлган йўриқномани сақлаш учун фойдаланилади. Қуйидаги жадвалда юқорида келтирилган регистор турлари ва унга мисоллар келтирилаган: Умумий регисторлар Сегмент регисторлар Ҳолат байроқлари Йўриқнома кўрсаткичлари EAX EBX ECX EDX EBP ESP ESI CS SS DS ES FS GS EFLAGS EIP х86 архитектурасида барча регисторлар 32 бит ўлчамга эга. Ҳолат байроқлари регистор ҳолатларини кўрсатади. Ҳар бир амал бажарилишида ҳар бир байроққа 1 ѐки 0 қийматлари ўрнатилади. Қуйидаги |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling