За живота, вселената и всичко останало … > Наука и технологии, магия и чародейство …
Real Programmer
onzi:
енгелсе,
тва са простотии на квадрат.
Nor1:
--- Цитат на: Engels ---определението на Фридрих Енгелс
--- Край на цитат ---
Е то наркотиците не са от вчера :cool-1084:
micky:
Я си кротувайте че ше ви пратя Фирмин! :smokin:
Engels:
--- Цитат на: аменеменема в Октомври 05, 2019, 23:27:20 ---Нали това викам – фантазии, въздишки, гъби и синтетични вещества.
--- Край на цитат ---
Очевидно е че трябва подробно разяснение, което е нормално при положение, че нямаш опит с машинни команди.
ARM 32 битовите машинни команди имат в началото 4 бита за условно изпълнение на машинната команда. Тоест командата не винаги се изпълнява, което е много удобно в нашия случай, понеже ни позволява избирателно да забраняваме изпълнението на съответната машинна команда.
При Pentium е малко по различно, или прескачаме изпълнението на машинната команда, или подходящо съчетаваме байтовете в машинната команда.
Останалото е лесно, организираме преход вътре в самата машинна команда при което се изпълнява само една част от машинната команда, което на практика я превръща в съвсем друга машинна команда или дори няколко различни машинни
команди.
Ето конкретен пример с инструкцията: MOV EDX, DATA1 - 8B15 XXXXXXXX
В случая DATA1 е 32 битова променлива която съм отбелязал с XXXXXXXX защото може да бъде всяко 32 битово шестнадесетично число или в нашият случай машинна команда. Което на практика ни позволява на мястото на XXXXXXXX да поставим 8 еднобайтови машинни команди като например PUSH EAX - 50, POP EBX - 5B или RET - C3. Или 4 двубайтови като JZ _LAB - 740A или JNZ _LAB - 750A които са къси условни преходи в рамките на 256 байта. Или 2 четири байтови.
Което на практика изпълнява условието машинната команда 8B15 XXXXXXXX да е тя самата MOV EDX, DATA1 и същевременно някоя друга команда или дори няколко други команди.
Nor1:
--- Цитат на: micky ---Я си кротувайте че ше ви пратя Фирмин!
--- Край на цитат ---
Той (Фирмин) може да програмира с диал. логика и на 4-битов процесор.
Ако не се намери такъв, сам ще си го издяла с лопатката ;D
Навигация
[0] Списък на темите
Премини на пълна версия