diff --git a/programs/system/vrr_m/trunk/macros.inc b/programs/system/vrr_m/trunk/macros.inc index 02d2ee5f56..0ddc650b65 100644 --- a/programs/system/vrr_m/trunk/macros.inc +++ b/programs/system/vrr_m/trunk/macros.inc @@ -172,6 +172,28 @@ macro sub arg1,arg2 end if } +macro mov arg1,arg2 + { + if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) + if (arg2) = 0 + xor arg1,arg1 + else if (arg2) = 1 + xor arg1,arg1 + inc arg1 + else if (arg2) = -1 + or arg1,-1 + else if (arg2) > -128 & (arg2) < 128 + push arg2 + pop arg1 + else + mov arg1,arg2 + end if + else + mov arg1,arg2 + end if + } + + macro struct name { virtual at 0 diff --git a/programs/system/vrr_m/trunk/vrr_m.asm b/programs/system/vrr_m/trunk/vrr_m.asm index fb34d08bcb..f96b55d0c7 100644 --- a/programs/system/vrr_m/trunk/vrr_m.asm +++ b/programs/system/vrr_m/trunk/vrr_m.asm @@ -101,6 +101,10 @@ launcher: I_END: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë db ? ; system loader will zero all memory after program end ; this byte will be terminating zero for launcher string +; \begin{Serge} + ; A you really believe it? + ; Áëàæåí, êòî âåðóåò, òåïëî åìó íà ñâåòå! +; \end{Serge} drvinfo: ; 512 bytes driver info area ; +0 - Full driver name ; +32 - Driver version