                     AmigaOS  

            
   M68K         AmigaoS.

       :

 -   AmigaOS  ,  2.1 beta (C) 1999 RDC
 - Amiga Machine Langs 
 -       Motorola 68k

      .

                     AmigaMachineLang  -
 .           
AmigaMachineLang.         -
 DevPac.      . .

 include system.gs -       DevPac

                             1.  

 execbase = 4	;   exec.library     
		; 4

 move.l execbase,a6 ; exec.library  A6
 move.l #dos,a1	;  dos.library  A1
 move.l #39,d0  ;   ,    
		;  D0,    
 jsr _LVOOpenLibrary(a6)
 move.l d0,dosbase  ;   
 beq.s no_open	; 0,    

dosbase dc.l 0
dos dc.b 'dos.library',0

      . 

                             2.  

 move.l execbase,a6 
 move.l dosbase(pc),a1
 jsr _LVOCloseLibrary(a6)
 beq.s no_open

       .

                              3.   

   .   .

                                  * AllocMem *

 - 

 move.l execbase,a6
 move.l #byte,d0 ;-   
 move.l #mode,d1 ; 
 jsr _LVOAllocMem(a6) ;   
 move.l d0,address ;  
 beq error ;       

address dc.l 0

 -   

 $0  MEMF_ANY -    ,   FAST RAM 
Fast    CHIP RAM  Chip.
 $2  MEMF_CHIP -  chip 
 $4  MEMF_FAST -  fast 
 $10000 MEMF_CLEAR -    

:

  
 $10004 -  fast     
 $10002 -  chip     

 - ""

 move.l #byte,d1 ;-  
 move.l address(pc),a1 ;   
 move.l execbase,a6 
 jsr _LVOFreeMem(a6) ; 
 beq error

 :
        
    .

                                  * AllocVec *

    AllocMem     "   
  d0 -  ,     

 - 

 move.l execbase,a6
 move.l #byte,d0 ;-   
 move.l #mode,d1 ;  (     AllocMem)
 jsr _LVOAllocVec(a6) ;   
 move.l d0,address ;  
 beq error ;       

 - ""

 move.l address(pc),a1 ;   
 move.l execbase,a6 
 jsr _LVOFreeMem(a6) ; 
 beq error

                                * Memory Pools *

           3.0.           ,    
          
,                 
.            ,
      .   ,    
          ,    
.

       Memory Pool   Exec.library CreatePool:

 move.l execbase,a6
 move.l #mode,d0 ;  (     AllocMem)
 move.l #pool,d1 ;   ,
 move.l   #min_blok,d2   ;    ,      
                         ;         
			 ;      , 
			 ;       (D2).    
			 ;       .
 jsr _LVOCreatePool(a6)  ; Pool
 move.l  a0,newpool  	 ;CreatePool      Pool', 
		     	 ;   .
newpool dc.l 0

    ,              ,  
  AllocPooled (   )

 move.l execbase,a6
 move.l newpool(pc),a0 ;   Pool`
 move.l #byte,d0 ;  
 jsr _LVOAllocPooled(a6)
 move.l d0,address ;    

                  FreePooled:

 move.l execbase,a6
 move.l newpool(pc),a0 ;   Pool'
 move.l #byte,d0 ;  
 move.l address(pc),a1 ;  
 jsr _FreePooled(a6)

    DeletePool  Memory Pool:

 move.l execbase,a6
 move.l newpool(pc),a0 ;   Pool`a
 jsr _DeletePool(a6)
