+ -
当前位置:首页 → 问答吧 → 一段用宏定义的汇编代码,没看明白

一段用宏定义的汇编代码,没看明白

时间:2010-11-11

来源:互联网

C/C++ code
#define PROCEDURE_ENTRY(name)   .##text;            \
  .##type name, @function; \
  .##proc name; \
  name::

#define PROCEDURE_EXIT(name)  .##endp name




那么PROCEDURE_ENTRY (GetHandOffStatus)展开怎样理解?

另外下面的代码怎样理解?

PROCEDURE_ENTRY (GetHandOffStatus)
   
  NESTED_SETUP (0,2+0,0,0)

  mov r8 = ar.k6 // Health Status (Self test params)
  mov r9 = ar.k4 // LID bits
  mov r10 = ar.k3;; // SAL_E entry state
  mov r11 = ar.k7 // Return address to PAL
   
  NESTED_RETURN
PROCEDURE_EXIT (GetHandOffStatus)


作者: danxuezx   发布时间: 2010-11-11

先把数据存到r8-r11中,然后把r8-r11做为返回值返回,退出函数。

作者: asmlearn   发布时间: 2010-11-12

引用 1 楼 asmlearn 的回复:
先把数据存到r8-r11中,然后把r8-r11做为返回值返回,退出函数。

那怎么还有=号呢?

作者: danxuezx   发布时间: 2010-11-12