<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>X86-64 on P01NT</title><link>https://outofsrvc.github.io/ar/tags/x86-64/</link><description>Recent content in X86-64 on P01NT</description><generator>Hugo</generator><language>ar</language><lastBuildDate>Tue, 25 Aug 2026 20:45:00 +0300</lastBuildDate><atom:link href="https://outofsrvc.github.io/ar/tags/x86-64/index.xml" rel="self" type="application/rss+xml"/><item><title>تجميع x86-64 (x86-64 Assembly)</title><link>https://outofsrvc.github.io/ar/asm/x86-64-assembly/</link><pubDate>Tue, 25 Aug 2026 20:30:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/asm/x86-64-assembly/</guid><description>&lt;p>بسم الله الرحمن الرحيم&lt;/p>
&lt;p>في هذا المقال سنتحدث عن أساسيات x64 asm.&lt;/p>
&lt;hr>
&lt;h2 id="1-سجلات-x86-64-الرئيسية-primary-x86-64-registers">1. سجلات x86-64 الرئيسية (Primary X86-64 Registers)&lt;/h2>
&lt;p>بنية &lt;strong>x86-64&lt;/strong> (المعروفة أيضًا باسم AMD64 و x64) هي امتداد لبنية x86. وهي تُحدّث مجموعة السجلات بالطرق التالية:&lt;/p>
&lt;ul>
&lt;li>توسّع السجلات العامة الثمانية الموجودة إلى 64-بت وتعيد تسميتها بالبادئة &lt;code>R&lt;/code>: &lt;code>RAX&lt;/code> و &lt;code>RBX&lt;/code> و &lt;code>RCX&lt;/code> و &lt;code>RDX&lt;/code> و &lt;code>RSI&lt;/code> و &lt;code>RDI&lt;/code> و &lt;code>RBP&lt;/code> و &lt;code>RSP&lt;/code>.&lt;/li>
&lt;li>تُقدم ثمانية سجلات عامة جديدة بحجم 64-بت مرقمة من &lt;code>R8&lt;/code> إلى &lt;code>R15&lt;/code>.&lt;/li>
&lt;li>توسّع مؤشر التعليمات إلى 64-بت (&lt;code>RIP&lt;/code>) وكذلك سجل الأعلام (&lt;code>RFLAGS&lt;/code>).&lt;/li>
&lt;/ul>
&lt;p>&lt;img alt="الشكل 8.1: مجموعة السجلات الموسعة في x86-64" decoding="async" loading="lazy" src="https://outofsrvc.github.io/assets/img/asm/figure-8-1.png">&lt;/p></description></item><item><title>حل معمل quizshow.exe (الفصل السابع)</title><link>https://outofsrvc.github.io/ar/asm/asm-lab-solutions-7/</link><pubDate>Tue, 25 Aug 2026 20:45:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/asm/asm-lab-solutions-7/</guid><description>&lt;p>بسم الله الرحمن الرحيم&lt;/p>
&lt;hr>
&lt;h2 id="معلومات-العينة">معلومات العينة&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>اسم الملف:&lt;/strong> quizshow.exe&lt;/li>
&lt;li>&lt;strong>MD5:&lt;/strong> &lt;code>fed60db5c7afbb8b0f016e0b2de06b93&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="الإجابات-المختصرة-short-answers">الإجابات المختصرة (Short Answers)&lt;/h2>
&lt;p>&lt;strong>1. تمرر الدالة &lt;code>main&lt;/code> موقع ذاكرة يحتوي على بيانات إلى &lt;code>sub_140001360&lt;/code> عند العنوان &lt;code>0x1400011C5&lt;/code>. ما نوع البيانات الموجودة في موقع الذاكرة هذا؟&lt;/strong>&lt;/p>
&lt;p>تمرر الدالة &lt;code>main&lt;/code> العنوان &lt;code>0x140003260&lt;/code> الذي يبدو أنه يحتوي على &lt;strong>بيانات متعلقة بأسئلة المسابقة&lt;/strong>.&lt;/p>
&lt;p>&lt;strong>2. ادخل إلى الدالة &lt;code>sub_140001360&lt;/code>. ما الدالة التي يبدو أنها تحدد ما إذا كانت إجابة سؤال المسابقة صحيحة؟&lt;/strong>&lt;/p>
&lt;p>تفترض الدالة &lt;code>sub_140001360&lt;/code> بناءً على القيمة المرجعة من الدالة &lt;code>sub_140001060&lt;/code> لتحديد ما إذا كانت إجابة السؤال صحيحة.&lt;/p></description></item><item><title>التمرير بالمرجع والقيمة</title><link>https://outofsrvc.github.io/ar/cworkshop/pass-by-value-vs-reference/</link><pubDate>Thu, 13 Aug 2026 10:00:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/cworkshop/pass-by-value-vs-reference/</guid><description>&lt;p>بسم الله الرحمن الرحيم.&lt;/p>
&lt;p>من هذا المقال نبدأ الدخول إلى &lt;strong>Assembly x86-64&lt;/strong> لنكتسب فهماً Low-Level. الشرح سيكون بسيطاً وواضحاً.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>بيئة الأمثلة&lt;/strong>: المخرجات هنا من gcc على لينكس (اتفاقية SysV حيث يُمرر المعامل الأول في RDI). على ويندوز x64 تختلف مسجلات المعاملات (RCX/RDX/R8/R9) كما شرحنا في مقال الذاكرة الظاهرية.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;strong>يُنصح&lt;/strong> قبل إكمال هذه السلسلة بدراسة سلسلة الـ Computer Architecture and Organization، ومعرفة أساسية بالـ Memory والـ Registers (شرحناها في مقالي المؤشرات و Stack vs Heap).&lt;/p></description></item></channel></rss>