An Entity of Type: Thing, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

This article describes the calling conventions used when programming x86 architecture microprocessors. Calling conventions describe the interface of called code: * The order in which atomic (scalar) parameters, or individual parts of a complex parameter, are allocated * How parameters are passed (pushed on the stack, placed in registers, or a mix of both) * Which registers the called function must preserve for the caller (also known as: callee-saved registers or non-volatile registers) * How the task of preparing the stack for, and restoring after, a function call is divided between the caller and the callee

Property Value
dbo:abstract
  • اصطلاح استدعاء إكس 86 (بالإنجليزية: x86 calling conventions)‏ تصف هذه المقالة بنية اصطلاح الاستدعاء المستخدم عند البرمجة في بنية المعالجات الدقيقة إكس 86، تصف اصطلاحات الاستدعاء واجهة التعليمات البرمجية المستدعاة: * الترتيب الذي يتم به تخصيص المعلمات الذرية (العددية) أو الأجزاء الفردية من معلمة معقدة. * كيفية تمرير المعلمات. * تسجيل الوظيفة المستدعاة والحفاظ عليها لأجل المستدعي. * كيفية تقسيم مهمة الإعداد والتنظيف بعد استدعاء دالة ما بين المستدعي والوجهة. ويرتبط ذلك ارتباطا وثيقا بتعيين الأحجام والأشكال لأنواع لغة البرمجة. موضوع آخر وثيق الصلة هو تغييرات الاسم (بالإنجليزية: Name mangling)‏، الذي يحدد كيفية وضع أسماء الرموز في خريطة التعليمات البرمجية لأسماء الرموز المستخدمة من قبل الرابط. اسطلاح الاستدعاء وتمثيلات النوع و تغييرات الاسم كلها أجزاء مما يعرف باسم واجهة التطبيق الثنائية (بالإنجليزية: Application binary interface)‏، وغالباً ما تكون هناك اختلافات طفيفة في كيفية تنفيذ محولات البرمجة لاصطلاحات الاستدعاء هذه. (ar)
  • This article describes the calling conventions used when programming x86 architecture microprocessors. Calling conventions describe the interface of called code: * The order in which atomic (scalar) parameters, or individual parts of a complex parameter, are allocated * How parameters are passed (pushed on the stack, placed in registers, or a mix of both) * Which registers the called function must preserve for the caller (also known as: callee-saved registers or non-volatile registers) * How the task of preparing the stack for, and restoring after, a function call is divided between the caller and the callee This is intimately related with the assignment of sizes and formats to programming-language types.Another closely related topic is name mangling, which determines how symbol names in the code are mapped to symbol names used by the linker. Calling conventions, type representations, and name mangling are all part of what is known as an application binary interface (ABI). There are subtle differences in how various compilers implement these conventions, so it is often difficult to interface code which is compiled by different compilers. On the other hand, conventions which are used as an API standard (such as stdcall) are very uniformly implemented. (en)
  • 이 문서는 x86 아키텍처에 쓰이는 호출 규약에 대해 기술한다. (ko)
  • 本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微参数或复杂参数独立部分的分配顺序 * 参数是如何被传递的(放置在堆栈上,或是寄存器中,亦或两者混合) * 被调用者应保存调用者的哪个寄存器 * 调用函数时如何为任务准备堆栈,以及任务完成如何恢复 这与编程语言中对于大小和格式的分配紧密相关。另一个密切相关的是名字修饰,这决定了代码中的符号名称如何映射到链接器中的符号名。调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制接口(ABI)。 不同编译器在实现这些约定总是有细微的差别存在,所以在不同编译器编译出来的代码很难接合起来。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 6817415 (xsd:integer)
dbo:wikiPageLength
  • 40301 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1118929877 (xsd:integer)
dbo:wikiPageWikiLink
dbp:code
  • function function_name: DWORD; safecall; (en)
  • function function_name: HResult; stdcall; (en)
  • int callee; int caller { return callee + 5; } (en)
  • ret 12 (en)
  • return_type __cdecl func_name; (en)
  • caller: ; make new call frame ; push ebp ; save old call frame mov ebp, esp ; initialize new call frame ; push call arguments, in reverse ; ; sub esp, 12 : 'enter' instruction could do this for us ; mov [ebp-4], 3 : or mov [esp+8], 3 ; mov [ebp-8], 2 : or mov [esp+4], 2 ; mov [ebp-12], 1 : or mov [esp], 1 push 3 push 2 push 1 call callee ; call subroutine 'callee' add esp, 12 ; remove call arguments from frame add eax, 5 ; modify subroutine result ; ; restore old call frame ; mov esp, ebp ; most calling conventions dictate ebp be callee-saved, ; i.e. it's preserved after calling the callee. ; it therefore still points to the start of our stack frame. ; we do need to make sure ; callee doesn't modify ebp, though, ; so we need to make sure ; it uses a calling convention which does this pop ebp ; restore old call frame ret ; return (en)
dbp:lang
  • c (en)
  • delphi (en)
  • nasm (en)
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdfs:comment
  • 이 문서는 x86 아키텍처에 쓰이는 호출 규약에 대해 기술한다. (ko)
  • 本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微参数或复杂参数独立部分的分配顺序 * 参数是如何被传递的(放置在堆栈上,或是寄存器中,亦或两者混合) * 被调用者应保存调用者的哪个寄存器 * 调用函数时如何为任务准备堆栈,以及任务完成如何恢复 这与编程语言中对于大小和格式的分配紧密相关。另一个密切相关的是名字修饰,这决定了代码中的符号名称如何映射到链接器中的符号名。调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制接口(ABI)。 不同编译器在实现这些约定总是有细微的差别存在,所以在不同编译器编译出来的代码很难接合起来。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。 (zh)
  • اصطلاح استدعاء إكس 86 (بالإنجليزية: x86 calling conventions)‏ تصف هذه المقالة بنية اصطلاح الاستدعاء المستخدم عند البرمجة في بنية المعالجات الدقيقة إكس 86، تصف اصطلاحات الاستدعاء واجهة التعليمات البرمجية المستدعاة: * الترتيب الذي يتم به تخصيص المعلمات الذرية (العددية) أو الأجزاء الفردية من معلمة معقدة. * كيفية تمرير المعلمات. * تسجيل الوظيفة المستدعاة والحفاظ عليها لأجل المستدعي. * كيفية تقسيم مهمة الإعداد والتنظيف بعد استدعاء دالة ما بين المستدعي والوجهة. (ar)
  • This article describes the calling conventions used when programming x86 architecture microprocessors. Calling conventions describe the interface of called code: * The order in which atomic (scalar) parameters, or individual parts of a complex parameter, are allocated * How parameters are passed (pushed on the stack, placed in registers, or a mix of both) * Which registers the called function must preserve for the caller (also known as: callee-saved registers or non-volatile registers) * How the task of preparing the stack for, and restoring after, a function call is divided between the caller and the callee (en)
rdfs:label
  • اصطلاح استدعاء إكس 86 (ar)
  • X86 호출 규약 (ko)
  • X86 calling conventions (en)
  • X86调用约定 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License