За живота, вселената и всичко останало … > Наука и технологии, магия и чародейство …

Real Programmer

<< < (3/55) > >>

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] Списък на темите

[#] Следваща страница

[*] Предходна страница

Премини на пълна версия