Коли програмуєш на асемблері, часто буває складно згадати відповідну мнемоніку, а ще частіше - неможливо зрозуміти текст уже написаної програми, навіть якщо цю програму ти сам писав декілька годин тому. Складність виникає з тієї причини, що асемблер традиційно використовує для позначення команд процесора вкрай скорочені кількабуквенні мнемоніки типу mov або add. Але від часів коли виник асемблер випито багато пива, і я маю досить просту ідею, як його можна зробити значно кращим.
Ідея полягає в тому, що інструкції процесора можна позначати не кількабуквеними скороченими мнемоніками, а досить розширеними ідентифікаторами, підібраними згідно з практикою написання ідентифікаторів, що склалася серед програмістів на мовах програмування типу Pascal. Крім того, щоб інструкція процесора, записана на новому асемблері, виглядала подібно до виклику процедури на мові Pascal, параметри інструкції процесора можна записувати в круглих дужках і розділяти комами, а самі команди процесора розділяти крапкою з комою. В результаті, текст програми на новому асемблері почне виглядати значно краще і буде набагато більш самодокументованим. Наприклад, фрагмент програми, що раніше мав вигляд:
mov ax. 3
mov bx. 5
cmp ax, bx
стане виглядати приблизно наступним чином:
MoveToRegister (AX, 3);
MoveToRegister (AX, 5);
CompareRegisters (AX, BX);
Зрозуміло, що в цьому випадку можна буде скористатись і іншими перевагами Pascal - подібної мови програмування, зокрема нові позначення інструкцій процесора можна писати в один рядок, одна за одною через крапку з комою, а Pascal - подібні коментарі можна вставляти всюди де є допустимими пробіли.
( Читати далі )