; MACRO SWAP_LOCATION ( SWAPL ) ; Esta macro intercambia todos los objetos de una localidad con los de ; otra. Para ello ambas localidades deben estar apiladas en la cima de la ; pila 1 antes de llamar a la macro. Al acabar las localidades habr n sido ; retiradas de la misma. ; Esta macro utiliza la localidad 255 como localidad puente, por lo que ; no debe ser utilizada para nada si se quiere que la macro funcione. ; Maxobj se supone una constante existente cuyo n§ es el del £ltimo objeto ; creado. ; 1993 NM Soft push 2 100 push 2 101 push 2 102 ; Apilo Flags que se van a usar pop 1 100 pop 1 101 ; Tomo ®par metros¯ ; Primero paso todos los de una a la 255 let 102 max_obj label WW1 jisnotat QQ1 @100 @102 place @102 255 label QQ1 dec 102 jns WW1 102 ; Luego paso los de la otra a la primera. let 102 max_obj label WW2 jisnotat QQ2 @101 @102 place @102 @100 label QQ2 dec 102 jns WW2 102 ; Y por £ltimo paso los de la 255 a la segunda. let 102 max_obj label WW3 jisnotat QQ3 255 @102 place @102 @101 label QQ3 dec 102 mul jns WW3 102 pop 2 102 pop 2 101 pop 2 100 ; recupero flags y acabo