المشاكل وحلولها
1) اكتب رمز لغة التجميع 6502 الذي يجعل جميع أجزاء منفذ CIA #2 A كمخرج ومنفذ CIA #2 B كمدخل.
حل:
LDA #$FF
ستا DDRA2؛ يتم توجيه $DD00 بواسطة $DD02
LDA # 00 دولار
ستا DDRB2 ; يتم توجيه $DD01 بواسطة $DD03
2) اكتب رمز لغة التجميع 6502 الذي ينتظر مفتاح لوحة المفاتيح حتى يتم الضغط عليه.
حل:
انتظر الحصول على JSR
CMP # 00 دولار
انتظر الضفدع
3) اكتب برنامج لغة التجميع 6502 الذي يرسل الحرف 'E' إلى شاشة Commodore-64.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$03؛ رقم الجهاز للشاشة هو 03 دولار
لدي #$فف؛ لا يوجد عنوان ثانوي
JSR سيتلفس؛ قناة الإعداد الصحيحة
;
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإخراج
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
JSR تشكوت
;
; حرف الإخراج إلى الشاشة
LDA # 05 دولارًا
JSR كروت
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
4) كتابة برنامج لغة التجميع 6502 الذي يأخذ حرفاً من لوحة المفاتيح ويرسله إلى شاشة Commodore-64، متجاهلاً رمز المفتاح والتوقيت.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$03؛ رقم الجهاز للشاشة هو 03 دولار
لدي #$فف؛ لا يوجد عنوان ثانوي
JSR سيتلفس؛ قناة الإعداد الصحيحة
;
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإخراج
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
JSR تشكوت
;
; حرف الإدخال من لوحة المفاتيح
انتظر الحصول على JSR ؛ يضع $00 في A إذا كانت قائمة انتظار لوحة المفاتيح فارغة
CMP #$00؛ إذا ذهب $00 إلى A، فإن Z هي 1 مع المقارنة
انتظر بيك؛ GETIN من قائمة الانتظار مرة أخرى إذا ذهب 0 إلى المجمع
بي إن إي بيرنس سيرن؛ انتقل إلى PRNSCRN إذا كانت Z تساوي 0، لأن A لم يعد لديه 00 دولار
; حرف الإخراج إلى الشاشة
PRNSCRN JSR كروت؛ أرسل الحرف الموجود في A إلى الشاشة
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
5) اكتب برنامج لغة التجميع 6502 الذي يستقبل البايت من القرص المرن Commodore-64.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$08؛ رقم الجهاز لمحرك الأقراص الأول
لدي #$02؛ العنوان الثانوي
JSR سيتلفس؛ قناة الإعداد الصحيحة
;
; الملف الموجود في محرك الأقراص له اسم (موجود بالفعل في الذاكرة)
LDA # 09 دولارًا
إل دي إكس #$01
LDY #$C1
جي إس آر سيتنام
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإخراج
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
جي إس آر تشكين؛ للقراءة
;
; حرف الإدخال من القرص
جي إس آر كريس
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
6) اكتب برنامج لغة التجميع 6502 الذي يحفظ الملف على القرص المرن Commodore-64.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$08؛ رقم الجهاز لمحرك الأقراص الأول
لدي #$02؛ العنوان الثانوي
JSR سيتلفس؛ قناة الإعداد الصحيحة
;
; اسم الملف الموجود في محرك الأقراص (موجود بالفعل في الذاكرة بسعر C301 دولارًا)
LDA#09$؛ طول اسم الملف
إل دي إكس #$01
LDY #$C3
جي إس آر سيتنام
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإخراج
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
جي إس آر تشكوت؛ للكتابة
;
; ملف الإخراج إلى القرص
إل دي إيه #$01
STA 2 مليار دولار؛ TXTTAB
LDA#$C1
ستا 2 دولار أمريكي
LDX # 00 دولار
LDY #$C2
LDA #$2B
حفظ JSR
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
7) اكتب برنامج لغة التجميع 6502 الذي يقوم بتحميل ملف البرنامج من القرص المرن Commodore-64 وقم بتشغيله.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$08؛ رقم الجهاز لمحرك الأقراص الأول
لدي #$02؛ العنوان الثانوي
جي إس آر سيتلفس؛ قناة الإعداد الصحيحة
;
; اسم الملف الموجود في محرك الأقراص (موجود بالفعل في الذاكرة بسعر C301 دولارًا)
LDA#09$؛ طول اسم الملف
إل دي إكس #$01
LDY #$C3
جي إس آر سيتنام
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإدخال
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
جي إس آر تشكين؛ للقراءة
;
; ملف الإدخال من القرص
LDA # 00 دولار
تحميل JSR
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
; بدء تحميل البرنامج
بداية JSR
8) اكتب برنامج لغة التجميع 6502 الذي يرسل البايت 'E' (ASCII) إلى جهاز المودم المتصل بمنفذ RS-232 المتوافق مع المستخدم الخاص بـ Commodore-64.
حل:
; قناة الإعداد
LDA # 40 دولارًا ؛ رقم الملف المنطقي
إل دي إكس #$02؛ رقم الجهاز لRS-232
لدي #$فف؛ لا يوجد عنوان ثانوي
JSR سيتلفس؛ قناة الإعداد الصحيحة
;
; اسم RS-232 هو رمز على سبيل المثال. 0610 دولار
LDA#$02; طول الكود 2 بايت
ال دي اكس #10 دولار
LDY #$06
جي إس آر سيتنام
;
; فتح الملف المنطقي
مفتوح
; تعيين قناة للإخراج
إل دي إكس #٤٠ دولارًا؛ رقم الملف المنطقي
JSR تشكوت
;
; حرف الإخراج إلى RS-232 على سبيل المثال. مودم
LDA # 45 دولارًا
JSR كروت
; إغلاق الملف المنطقي
LDA # 40 دولارًا
إغلاق JSR
9) شرح كيفية إجراء العد والتوقيت في جهاز الكمبيوتر Commodore-64.
حل:
انظر الفصل الخامس من الكتاب.
10) اشرح كيف يمكن لوحدة النظام Commodore-64 تحديد 10 مصادر مختلفة لطلبات المقاطعة الفورية بما في ذلك طلبات المقاطعة غير القابلة للإخفاء.
حل:
انظر الفصل الخامس من الكتاب.
11) شرح كيفية تشغيل برنامج الخلفية مع برنامج المقدمة في جهاز الكمبيوتر Com-modore-64.
حل:
انظر الفصل الخامس من الكتاب.
12) اشرح بإيجاز كيف يمكن تجميع برامج لغة التجميع في تطبيق واحد للكمبيوتر Commodore-64.
حل:
انظر الفصل الخامس من الكتاب.
13) شرح مختصر لعملية الإقلاع للكمبيوتر Commodore-64.
حل:
انظر الفصل الخامس من الكتاب.