1 /// @file 2 /// This is set of useful macros. 3 /// 4 /// Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> 5 /// This program and the accompanying materials 6 /// are licensed and made available under the terms and conditions of the BSD License 7 /// which accompanies this distribution. The full text of the license may be found at 8 /// http://opensource.org/licenses/bsd-license.php 9 /// 10 /// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 /// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 /// 13 /// Module Name: Common.i 14 /// 15 /// 16 17 18 #define NESTED_SETUP(i,l,o,r) \ 19 alloc loc1=ar##.##pfs,i,l,o,r ; \ 20 mov loc0=b0 ;; 21 22 23 #define NESTED_RETURN \ 24 mov b0=loc0 ; \ 25 mov ar##.##pfs=loc1 ;; \ 26 br##.##ret##.##dpnt b0 ;; 27 28 #define MASK(bp,value) (value << bp) 29 30