मुझे फिर से एक और निर्दोष Z80 प्रश्न के साथ :-) जिस तरह से मेरा एमुलेटर कोर वर्तमान में संरचित है, मैं मेमोरी रीफ्रेश रजिस्टर के निचले 7 बिट्स को बढ़ा रहा हूं, हर बार एक ओपोड बाइट स्मृति से प्राप्त किया जाता है - इसका मतलब है बहु-बाइट निर्देशों के लिए, जैसे कि डीडी या एफडी शुरू करते हैं, मैं दो बार रजिस्टर में वृद्धि कर रहा हूं - या आरएलसी (आईएक्स + डी) जैसे तीन बार निर्देश के उदाहरण में (जैसा कि इसे opcode1-opcode2-d रखा गया है -opcode3)।Z80 मेमोरी रीफ्रेश रजिस्टर
क्या यह सही है? मुझे यकीन नहीं है - Z80 मैनुअल इस पर थोड़ा अस्पष्ट है, क्योंकि यह कहता है कि सीपीडीआर (दो बाइट निर्देश) इसे दो बार बढ़ाता है, हालांकि 'मेमोरी रीफ्रेश रजिस्टर' सेक्शन में केवल प्रत्येक निर्देश लाने के बाद यह वृद्धि होती है। मैंने देखा है कि जे 80 (एक एमुलेटर जिसे मैंने चेक किया है क्योंकि मुझे इस बारे में निश्चित नहीं है) केवल निर्देश के पहले ओपोड बाइट के बाद ही वृद्धि हुई है।
कौन सा सही है? मुझे लगता है कि यह किसी भी मामले में बेहद महत्वपूर्ण नहीं है, लेकिन यह जानना अच्छा होगा :-) बहुत धन्यवाद।
सादर, फिल पॉटर
मुझे लगता है कि सीपीडीआर निर्देश मेमोरी रीफ्रेश रजिस्टर को एक बार नहीं, और न ही दो बार बढ़ाएगा, लेकिन जितनी बार इसे दोहराया जाएगा, क्योंकि यह दोहराना निर्देश है। (और मुझे संदेह है कि दोहराने के निर्देशों की पूरी अवधि के लिए स्मृति को ताज़ा किए जाने की उम्मीद थी।) –