حينما تقرا البورت فأنت تقرا ما هو على الطرف الفعلى وقد يختلف عن ما كتبته أنت من تعليمات
انظر لهذا الجزء من الداتاشيت للبورت A

ستجد أن حافظ الداتا Data Latch بأعلى الصورة هو ما يحتفظ بالبيان الذى تعطيه أنت للبورت أو LATA و ستجد فى المربع الأصفر طرف تنفيذ الأمر و مكتوب عليه WR LATA
or PROTA
أى الكتابة لأى منهما ستذهب لذات الشيء
إذن لماذا هو موجود؟؟
السبب أنك لو نظرت لطرف البورت A ستجده خارج من طرف من هذا الجزء و يمكنك أن تضع عليه حمل مثل ليد او ما شابه مباشرة
الآن وضعت علي pin7 حملا زائدا تسبب فى انخفاض جهد الخرج من 5 فولت إلى 2 فولت أو اقل و كان أولا حال البورت =صفر ثم أردت تنفيذ أحد الأوامر التى تقرأ البوابة ثم تعدلها مثل
Complement port A
سيقرأ البورت صفر ثم يقلبه إلى FF و يضعه فينير اللد و ستكون الأمور 100%
الآن نفذ الأمر مرة ثانية سيقرأ بالخطأ الطرف 7 بقيمة صفر و ليس 1 و البورت عليه 7F بدلا من FF
وهنا سينفذ الأمر ليكتب 80 بدلا من صفر فلن يغير حال البورت و تظن أنه لا يعمل على هذا الطرف
وهناك كثير من الأوامر التى تعمل بذات الطريقة اسمها Read modify write
لهذا استخدم هذا المخرج للحافظ و الذى لا يتأثر بحال البورت لكى يقرأ دوما قيمة صحيحة و يعمل بصورة صحيحة
الآن لو اردت قراءة الحال على البورت مع أثر الحمل عليه استخدم القراءة من البورت
أما لو أرت قراءة ما وضعته انت فعلا على هذا البورت بصرف التظر عن أثر الحمل الخارجى عليه اقرأ من LATA
أرجو أن يكون هذا أوضح الأمر