على ما يبدوا انك تتعامل مع C-SKY
المعمارية هي C-SKY
معالج C-SKY هو معالج عالي الاداء ذو 32 بت صمم من اجل الانظمة المضمنة، المعالج له معماريته الخاصة كذلك لدية خاصية الاضافات من اجل توسيع الـ instruction set تبعه.
التعليمات ( instruction set) الخاصة بمعالج C-SKY لديها نسختان.
هذا المعالج لدية 32 مسجل للاغراض العامة بطول 32 بت، وهي تمتد من r0 الى r31. معالج C-SKY V2 لدية معالج مساعد وهذا المعالج الاضافي او المساعد لدية مسجلات تصل الى 32 مسجل. وهذه المسجلات تبدأ بالحرف c وهي من cr0 الى cr31 هذه هي قائمة بالمسجلات لهذا المعالج المساعد
بالنسبة لصيغة ELF المستخدمة
معالج C-SKY V2 يستخدم ELF object file formats (النسخة 1.2) و DWARF debugging information formats النسخة 2.0، ولكنك ستجد ان ELF و DWARF ليسا بالصيغة القياسية بل تم تعديلهما لكي يعملان على الانظمة المضمنه ويمثلان البيانات الخاصة بهذا المعالج.
وهذه الاقسام تم تعديلها
---
ارفقت لك ملف PDF جدا جدا رائع يحوي جميع المعلومات التي تحتاجها عن هذا المعالج وهذا جدول المحتويات
المعمارية هي C-SKY
معالج C-SKY هو معالج عالي الاداء ذو 32 بت صمم من اجل الانظمة المضمنة، المعالج له معماريته الخاصة كذلك لدية خاصية الاضافات من اجل توسيع الـ instruction set تبعه.
التعليمات ( instruction set) الخاصة بمعالج C-SKY لديها نسختان.
- C-SKY V1 : تتميز تعليمات هذه النسخة بانها دائماً 16 بت
- C-SKY V2: هذه النسخة هي الجيل الثاني من الـ instruction set وهي اكثر عدداً وكذلك اكثر قوة. هذا الجيل يتميز بأنه خلط بين تعليمات 32 بت وتعليمات 16 بت.
- اغلب تعليمات ذات 16 بت مقيدة بالوصول الجزئي لـ 8 من المسجلات ذات الاغراض العامة من r0 الى r7 والمعروفة بـ low registers، عدد قليل من تعليمات 16 بت له وصول شرعي للمسجلات المسملات بـ high registers وهي من r8 الى r15.
- اغلب تعليمات ذات 16 بت مقيدة بالوصول الجزئي لـ 8 من المسجلات ذات الاغراض العامة من r0 الى r7 والمعروفة بـ low registers، عدد قليل من تعليمات 16 بت له وصول شرعي للمسجلات المسملات بـ high registers وهي من r8 الى r15.
هذا المعالج لدية 32 مسجل للاغراض العامة بطول 32 بت، وهي تمتد من r0 الى r31. معالج C-SKY V2 لدية معالج مساعد وهذا المعالج الاضافي او المساعد لدية مسجلات تصل الى 32 مسجل. وهذه المسجلات تبدأ بالحرف c وهي من cr0 الى cr31 هذه هي قائمة بالمسجلات لهذا المعالج المساعد
بالنسبة لصيغة ELF المستخدمة
معالج C-SKY V2 يستخدم ELF object file formats (النسخة 1.2) و DWARF debugging information formats النسخة 2.0، ولكنك ستجد ان ELF و DWARF ليسا بالصيغة القياسية بل تم تعديلهما لكي يعملان على الانظمة المضمنه ويمثلان البيانات الخاصة بهذا المعالج.
وهذه الاقسام تم تعديلها
---
ارفقت لك ملف PDF جدا جدا رائع يحوي جميع المعلومات التي تحتاجها عن هذا المعالج وهذا جدول المحتويات
Contents
1 About this Document
1.1 Abstract
1.2 Purpose.
1.3 References
1.4 Current status and anticipated changes
1.5 Overview
1.5.1 Low-Level Run-Time Binary Interface Standards
1.5.2 Object File Binary Interface Standards.
1.5.3 Source-Level Standards.
1.5.4 Library Standards
1.5.5 Change history
2 Lower-level Binary interfaces
2.1 Processor Architecture
2.1.1 Control Registers in C-SKY V2.0
2.1.2 Primary Data Type.
2.1.3 Composite Data Type
2.2 Function Calling Convention
2.2.1 Register Assignments.
2.2.2 Stack Frame Layout
2.2.3 Argument Passing
2.2.4 Variable Arguments.
2.2.5 Return Values.
2.3 Runtime Debugging Support
2.3.1 Function Prologues in C-SKY V2.0.
2.3.2 Stack Tracing
3 High language Issures
3.1 C preprocessor predefinitions.
3.2 Inline assembly syntax
3.2.1 Overview
3.2.2 Basic usage
3.2.3 Extended asm.
3.2.4 Examples
3.3 Name mapping.
4 ELF file format
4.1 ELF Header
4.2 Section Layout.
4.2.1 Section Alignment
4.2.2 Section Attributs
4.2.3 Special Sections.
4.3 Symbol Table Format
4.4 Relocation Information Format.
4.4.1 Reclocation Fields
4.4.2 Relocation Types
4.5 Program Loading
4.6 Dynamic Linking.
4.6.1 Dynamic Section
4.6.2 Global Offset Table.
4.6.3 Function Address
4.6.4 Procedure Linkage Table.
4.7 PIC Examples
4.7.1 Function proglogue for PIC
4.7.2 Date Objects
4.7.3 Function Call
4.7.4 Branching
4.8 Debugging Information Format.
4.8.1 DWARF Register Numbers
5 Runtime library
5.1 Compiler assisted Libraries
5.2 Floating Point Routines.
5.2.1 Arithmetic functions
5.2.2 Conversion functions
5.2.3 Comparison functions
5.3 Long Long integer Routines.
5.3.1 Arithmetic functions
5.3.2 Comparison functions
5.3.3 Trapping Arithmetic Functions
5.3.4 Bit Operations
6 Assembly syntax and directives
6.1 Section
6.2 Input line lengths
6.3 Syntax
6.3.1 Preprocessing
6.3.2 Symbols
6.3.3 Constants
6.3.4 Expressions
6.3.5 Oprators and Precedence.
6.3.6 Instruction Memonics.
6.3.7 Instruction Arguments
6.4 Assembler directives.
6.4.1 .align abs-exp [, abs-exp].
6.4.2 .ascii “string” {, “string”}
6.4.3 .asciz “string” {, “string”}.
6.4.4 .byte exp {, exp}
6.4.5 .comm symbol, length [, align].
6.4.6 .data.
6.4.7 .double float {, float}.
6.4.8 .equ symbol, expression
6.4.9 .export symbol {, symbol}.
6.4.10 .fill count [, size [, value]].
6.4.11 .float float {, float}
6.4.12 .ident “string”.
6.4.13 .import symbol {, symbol}.
6.4.14 .literals.
6.4.15 .lcomm symbol, length [, alignment].
6.4.16 .long exp {, exp}
6.4.17 .section name [, “attributes”]
6.4.18 .short exp {, exp}.
6.4.19 .text
6.4.20 .weak symbol [, symbol]
6.5 Pseudo-Instructions
https://dropmefiles.com/ZtMPs
سبحان الله وبحمده، سبحان الله العظيم