Browse Wiki & Semantic Web

Jump to: navigation, search
Http://dbpedia.org/resource/X86 calling conventions
  This page has no properties.
hide properties that link here 
  No properties link to this page.
 
http://dbpedia.org/resource/X86_calling_conventions
http://dbpedia.org/ontology/abstract اصطلاح استدعاء إكس 86 (بالإنجليزية: x86 caاصطلاح استدعاء إكس 86 (بالإنجليزية: x86 calling conventions)‏ تصف هذه المقالة بنية اصطلاح الاستدعاء المستخدم عند البرمجة في بنية المعالجات الدقيقة إكس 86، تصف اصطلاحات الاستدعاء واجهة التعليمات البرمجية المستدعاة: * الترتيب الذي يتم به تخصيص المعلمات الذرية (العددية) أو الأجزاء الفردية من معلمة معقدة. * كيفية تمرير المعلمات. * تسجيل الوظيفة المستدعاة والحفاظ عليها لأجل المستدعي. * كيفية تقسيم مهمة الإعداد والتنظيف بعد استدعاء دالة ما بين المستدعي والوجهة. ويرتبط ذلك ارتباطا وثيقا بتعيين الأحجام والأشكال لأنواع لغة البرمجة. موضوع آخر وثيق الصلة هو تغييرات الاسم (بالإنجليزية: Name mangling)‏، الذي يحدد كيفية وضع أسماء الرموز في خريطة التعليمات البرمجية لأسماء الرموز المستخدمة من قبل الرابط. اسطلاح الاستدعاء وتمثيلات النوع و تغييرات الاسم كلها أجزاء مما يعرف باسم واجهة التطبيق الثنائية (بالإنجليزية: Application binary interface)‏، وغالباً ما تكون هناك اختلافات طفيفة في كيفية تنفيذ محولات البرمجة لاصطلاحات الاستدعاء هذه.يذ محولات البرمجة لاصطلاحات الاستدعاء هذه. , 本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微参数或复杂参数独立部分的分配顺序 * 参数是如何被传递的(放置在堆栈上,或是寄存器中,亦或两者混合) * 被调用者应保存调用者的哪个寄存器 * 调用函数时如何为任务准备堆栈,以及任务完成如何恢复 这与编程语言中对于大小和格式的分配紧密相关。另一个密切相关的是名字修饰,这决定了代码中的符号名称如何映射到链接器中的符号名。调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制接口(ABI)。 不同编译器在实现这些约定总是有细微的差别存在,所以在不同编译器编译出来的代码很难接合起来。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。 , 이 문서는 x86 아키텍처에 쓰이는 호출 규약에 대해 기술한다. , This article describes the calling conventThis 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.s stdcall) are very uniformly implemented.
http://dbpedia.org/ontology/wikiPageExternalLink http://sco.com/developers/devspecs/abi386-4.pdf%7Ctitle=SYSTEM + , http://www.codeproject.com/Articles/1388/Calling-Conventions-Demystified%7Ctitle=Calling + , http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/borland_C%2B%2B/Borland_C%2B%2B_Version_3.1_Users_Guide_1992.pdf%7Cyear=1992%7Cpages=158%2C189&ndash%3B191 + , http://www.angelcode.com/dev/callconv/callconv.html%7Ctitle=Calling + , https://devblogs.microsoft.com/oldnewthing/20040102-00/%3Fp=41213 + , https://devblogs.microsoft.com/oldnewthing/20040107-00/%3Fp=41183 + , https://devblogs.microsoft.com/oldnewthing/20040108-00/%3Fp=41163 + , http://jdebp.info/FGA/function-calling-conventions.html%7Ctitle=The + , https://devblogs.microsoft.com/oldnewthing/20040113-00/%3Fp=41073 + , https://devblogs.microsoft.com/oldnewthing/20040114-00/%3Fp=41053 + , http://www.unixwiz.net/techtips/win32-callconv-asm.html%7Ctitle=Intel + , http://msdn.microsoft.com/en-us/library/k2b2ssfy.aspx%7Cpublisher=Microsoft%7Cwork= +
http://dbpedia.org/ontology/wikiPageID 6817415
http://dbpedia.org/ontology/wikiPageLength 40301
http://dbpedia.org/ontology/wikiPageRevisionID 1118929877
http://dbpedia.org/ontology/wikiPageWikiLink http://dbpedia.org/resource/X86_architecture + , http://dbpedia.org/resource/Intel_8086 + , http://dbpedia.org/resource/Pascal_%28programming_language%29 + , http://dbpedia.org/resource/IBM_PC_compatible + , http://dbpedia.org/resource/Category:Subroutines + , http://dbpedia.org/resource/Apple_II_series + , http://dbpedia.org/resource/Microsoft_Windows + , http://dbpedia.org/resource/Watcom + , http://dbpedia.org/resource/X87 + , http://dbpedia.org/resource/API + , http://dbpedia.org/resource/Programming_languages + , http://dbpedia.org/resource/Linux + , http://dbpedia.org/resource/BIOS + , http://dbpedia.org/resource/Novell + , http://dbpedia.org/resource/Borland_Delphi + , http://dbpedia.org/resource/Variadic_function + , http://dbpedia.org/resource/UNIX_System_V + , http://dbpedia.org/resource/Delphi_%28IDE%29 + , http://dbpedia.org/resource/Berkeley_Software_Distribution + , http://dbpedia.org/resource/IA64 + , http://dbpedia.org/resource/Microcomputer + , http://dbpedia.org/resource/Application_binary_interface + , http://dbpedia.org/resource/Interoperability + , http://dbpedia.org/resource/Technical_standard + , http://dbpedia.org/resource/Microsoft_Visual_C%2B%2B + , http://dbpedia.org/resource/Software_standard + , http://dbpedia.org/resource/DOS + , http://dbpedia.org/resource/Watcom_C/C%2B%2B + , http://dbpedia.org/resource/Visual_Studio + , http://dbpedia.org/resource/Microprocessor + , http://dbpedia.org/resource/Intel_C%2B%2B_Compiler + , http://dbpedia.org/resource/Win32 + , http://dbpedia.org/resource/Borland + , http://dbpedia.org/resource/Red_zone_%28computing%29 + , http://dbpedia.org/resource/IA-32 + , http://dbpedia.org/resource/Clang + , http://dbpedia.org/resource/Component_Object_Model + , http://dbpedia.org/resource/Turbo_C + , http://dbpedia.org/resource/Interactive_Disassembler + , http://dbpedia.org/resource/Free_Pascal + , http://dbpedia.org/resource/OpenVMS + , http://dbpedia.org/resource/X86 + , http://dbpedia.org/resource/Processor_register + , http://dbpedia.org/resource/C_%28programming_language%29 + , http://dbpedia.org/resource/UEFI + , http://dbpedia.org/resource/X86-64 + , http://dbpedia.org/resource/IBM_VisualAge + , http://dbpedia.org/resource/Windows + , http://dbpedia.org/resource/Stdcall + , http://dbpedia.org/resource/Name_mangling + , http://dbpedia.org/resource/Long_mode + , http://dbpedia.org/resource/MacOS + , http://dbpedia.org/resource/Calling_convention + , http://dbpedia.org/resource/Call_stack + , http://dbpedia.org/resource/IBM_PC + , http://dbpedia.org/resource/Microsoft + , http://dbpedia.org/resource/Borland_Pascal + , http://dbpedia.org/resource/X86_assembly_language + , http://dbpedia.org/resource/Solaris_%28operating_system%29 + , http://dbpedia.org/resource/Operating_system + , http://dbpedia.org/resource/SIMD + , http://dbpedia.org/resource/FreeBSD + , http://dbpedia.org/resource/MSDN_Library + , http://dbpedia.org/resource/Windows_%28operating_system%29 + , http://dbpedia.org/resource/Delphi_%28programming_language%29 + , http://dbpedia.org/resource/Intel_processor + , http://dbpedia.org/resource/Compilers + , http://dbpedia.org/resource/This_%28computer_programming%29 + , http://dbpedia.org/resource/OS/2 + , http://dbpedia.org/resource/Advanced_Vector_Extensions + , http://dbpedia.org/resource/Streaming_SIMD_Extensions + , http://dbpedia.org/resource/GNU_Compiler_Collection + , http://dbpedia.org/resource/AMD64 + , http://dbpedia.org/resource/Category:X86_architecture + , http://dbpedia.org/resource/Plain_old_data + , http://dbpedia.org/resource/HRESULT +
http://dbpedia.org/property/code ret 12 , function function_name: DWORD; safecall; , return_type __cdecl func_name; , function function_name: HResult; stdcall; , int callee; int caller { return callee + 5; } , caller: ; make new call frame ; 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 call frame ret ; return
http://dbpedia.org/property/lang nasm , delphi , c
http://dbpedia.org/property/wikiPageUsesTemplate http://dbpedia.org/resource/Template:Reflist + , http://dbpedia.org/resource/Template:Syntaxhighlight + , http://dbpedia.org/resource/Template:Citation_needed + , http://dbpedia.org/resource/Template:Cite_web + , http://dbpedia.org/resource/Template:Short_description + , http://dbpedia.org/resource/Template:Cite_book + , http://dbpedia.org/resource/Template:Code + , http://dbpedia.org/resource/Template:More_footnotes + , http://dbpedia.org/resource/Template:X86_assembly_topics + , http://dbpedia.org/resource/Template:Mono + , http://dbpedia.org/resource/Template:Rp + , http://dbpedia.org/resource/Template:Lowercase + , http://dbpedia.org/resource/Template:Multiple_issues + , http://dbpedia.org/resource/Template:Refbegin + , http://dbpedia.org/resource/Template:Refend + , http://dbpedia.org/resource/Template:Inconsistent_citation_style + , http://dbpedia.org/resource/Template:Cite_journal +
http://purl.org/dc/terms/subject http://dbpedia.org/resource/Category:Subroutines + , http://dbpedia.org/resource/Category:X86_architecture +
http://purl.org/linguistics/gold/hypernym http://dbpedia.org/resource/Parameters +
http://www.w3.org/ns/prov#wasDerivedFrom http://en.wikipedia.org/wiki/X86_calling_conventions?oldid=1118929877&ns=0 +
http://xmlns.com/foaf/0.1/isPrimaryTopicOf http://en.wikipedia.org/wiki/X86_calling_conventions +
owl:sameAs https://global.dbpedia.org/id/45am3 + , http://fa.dbpedia.org/resource/%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C_%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C_%D8%A7%DA%A9%D8%B3%DB%B8%DB%B6 + , http://sw.cyc.com/concept/Mx4rvtBzIZwpEbGdrcN5Y29ycA + , http://www.wikidata.org/entity/Q4405409 + , http://dbpedia.org/resource/X86_calling_conventions + , http://zh.dbpedia.org/resource/X86%E8%B0%83%E7%94%A8%E7%BA%A6%E5%AE%9A + , http://ko.dbpedia.org/resource/X86_%ED%98%B8%EC%B6%9C_%EA%B7%9C%EC%95%BD + , http://rdf.freebase.com/ns/m.0gqjt7 + , http://ar.dbpedia.org/resource/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD_%D8%A7%D8%B3%D8%AA%D8%AF%D8%B9%D8%A7%D8%A1_%D8%A5%D9%83%D8%B3_86 +
rdfs:comment 이 문서는 x86 아키텍처에 쓰이는 호출 규약에 대해 기술한다. , اصطلاح استدعاء إكس 86 (بالإنجليزية: x86 caاصطلاح استدعاء إكس 86 (بالإنجليزية: x86 calling conventions)‏ تصف هذه المقالة بنية اصطلاح الاستدعاء المستخدم عند البرمجة في بنية المعالجات الدقيقة إكس 86، تصف اصطلاحات الاستدعاء واجهة التعليمات البرمجية المستدعاة: * الترتيب الذي يتم به تخصيص المعلمات الذرية (العددية) أو الأجزاء الفردية من معلمة معقدة. * كيفية تمرير المعلمات. * تسجيل الوظيفة المستدعاة والحفاظ عليها لأجل المستدعي. * كيفية تقسيم مهمة الإعداد والتنظيف بعد استدعاء دالة ما بين المستدعي والوجهة. بعد استدعاء دالة ما بين المستدعي والوجهة. , This article describes the calling conventThis 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 divided between the caller and the callee , 本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微本條目描述x86架构微處理器的调用约定。调用约定描述了被调用代码的接口: * 極微参数或复杂参数独立部分的分配顺序 * 参数是如何被传递的(放置在堆栈上,或是寄存器中,亦或两者混合) * 被调用者应保存调用者的哪个寄存器 * 调用函数时如何为任务准备堆栈,以及任务完成如何恢复 这与编程语言中对于大小和格式的分配紧密相关。另一个密切相关的是名字修饰,这决定了代码中的符号名称如何映射到链接器中的符号名。调用约定,类型表示和名称修饰这三者的统称,即是众所周知的应用二进制接口(ABI)。 不同编译器在实现这些约定总是有细微的差别存在,所以在不同编译器编译出来的代码很难接合起来。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。。另一方面,有些约定被当作一种API标准(如stdcall),编译器实现都较为一致。
rdfs:label X86调用约定 , X86 호출 규약 , X86 calling conventions , اصطلاح استدعاء إكس 86
hide properties that link here 
http://dbpedia.org/resource/Stdcall + , http://dbpedia.org/resource/Pascal_calling_convention + , http://dbpedia.org/resource/Optlink + , http://dbpedia.org/resource/STDCALL + , http://dbpedia.org/resource/System_V_ABI + , http://dbpedia.org/resource/Cdecl + , http://dbpedia.org/resource/Fastcall + , http://dbpedia.org/resource/Safecall + , http://dbpedia.org/resource/Thiscall + , http://dbpedia.org/resource/X86_ABI + http://dbpedia.org/ontology/wikiPageRedirects
http://dbpedia.org/resource/Application_binary_interface + , http://dbpedia.org/resource/Red_zone_%28computing%29 + , http://dbpedia.org/resource/Stdcall + , http://dbpedia.org/resource/Pascal_calling_convention + , http://dbpedia.org/resource/Low-level_programming_language + , http://dbpedia.org/resource/Optlink + , http://dbpedia.org/resource/STDCALL + , http://dbpedia.org/resource/System_V_ABI + , http://dbpedia.org/resource/Cdecl + , http://dbpedia.org/resource/Fastcall + , http://dbpedia.org/resource/Safecall + , http://dbpedia.org/resource/Thiscall + , http://dbpedia.org/resource/X86_ABI + , http://dbpedia.org/resource/X86_calling_convention + http://dbpedia.org/ontology/wikiPageWikiLink
http://en.wikipedia.org/wiki/X86_calling_conventions + http://xmlns.com/foaf/0.1/primaryTopic
http://dbpedia.org/resource/X86_calling_conventions + owl:sameAs
 

 

Enter the name of the page to start semantic browsing from.