HLA - High Level Assembler
Podprogramy

procedure ProcName ;
 
   // lokalne deklaracje 
 
begin ProcName;
 
   // ciało funkcji
 
end ProcName;

program zeroBytesDemo;
#include( “stdlib.hhf” );
 
 // Zeruje 256 elementów tablicy "intów"
 // której adres jest przekazywany EBX  
 procedure zeroBytes;
 begin zeroBytes;
 
   mov( 0, eax );
   mov( 256, ecx );
   repeat
 
     mov( eax, [ebx] ); 
     add( 4, ebx ); 
     dec( ecx ); 
 
   until( ecx = 0 ); // Repeat for 256 dwords.
 
 end zeroBytes;
 
static
 dwArray: dword[256]; 
 
begin zeroBytesDemo;
 lea( ebx, dwArray );
 
 call zeroBytes;
 // zeroBytes(); 
 
end zeroBytesDemo;


Tomasz Kapela, Kraków 2011-2020