עמוד:297

הגדרת בלוק נתונים בזיכרון החיצוני XSEG AT 200 H ; גודל הבלוק 8 בתים info : DS 8 ; DATA SEGMEBNT הגדרת משתנה בזיכרון הפנימי dpl–s : DS 1 ; CSEG AT 0 דילוג לתכנית הראשית LJMP start ; CSEG AT 23 H דילוג לשגרת הפסיקה LJMP serial–int ; start : MOV SP ,+ ? STACK-1 איפוס האינדקס MOV dpl–s , + 0 ; קביעת קונפיגורציה של הבקר MOV TMOD , + 20 H ; MOV TH 1 , + 0 FDH MOV TL 1 , + 0 FDH SETB TR 1 MOV SCON , + 50 H MOV PCON , + 00 H MOV IE , + 90 H SJMP $ שגרת פסיקה serial–int : ; שמירת צובר במחסנית PUSH ACC ; במחסנית DPTR שמירת PUSH DPL ; PUSH DPH ; בדיקה אם נקלט תו JNB RI , leave ; בכתובת תחילת הבלוק DPTR אתחול MOV DPTR , + 200 H ; MOV A , dpl–s ; בדיקה אם הגענו לסוף הבלוק CJNE A , + 8 , ser 1 ; ser 2 אם סוף הבלוק דלג לשורה SJMP ser 2 ; חשב את המיקום בבלוק ser 1 : ADD A , DPL ; עדכן MOV DPL , A ; DPTR קדם את אינדקס הבלוק INC dpl–s ; קרא נתון שנקלט MOV A , SBUF ; אחסן נתון בבלוק MOVX @ DPTR , A ; אפס את דגל הפסיקה ser 2 : CLR RI ; שחזר leave : POP DPH ; DPTR POP DPL ; שחזר צובר POP ACC ; חזרה משגרת פסיקה RETI ;

מטח : המרכז לטכנולוגיה חינוכית

ישראל. משרד החינוך


לצפייה מיטבית ורציפה בכותר