|
עמוד:408
זיהוי המקש שנלחץ ; : KEY–PRESSED איתור העמודה בה הערך הוא ROL AL , 1 ; 0 נמצא עמודה בה נלחץ המקש , קפוץ לזיהוי הספרה ; JNC FOUND לא נמצא מקש - קידום מונה מספר מקש INC SI ; חזור לבדוק את העמודה הבאה JMP KEY–PRESSED ; זוהה מספר המקש שנלחץ ; : FOUND איתור קוד מתאים לתצוגה על 7 המקטעים MOV AL , ] CODES–TABLE + SI [ ; שמירת הספרה האחרונה שנקלטה MOV LAST–DIGIT [ , AL ; איתור הספרה שעל המקש MOV AL , ] CODES–KEYPAD + SI [; OR AL , 0 F 0 h בדיקה אם זו לחיצת מקש חדשה CMP DIGIT–NUMBER , 0 FFh ; המשך לחיצה קודמת JZ THE–SAME–PRESS ; בדיקה אם סיום קלט מקש שאינו ספרה CMP LAST–DIGIT , 04 h ; לא נקלטה ספרה JZ END–SCAN ; עדכון קוד האזעקה בספרה החדשה ; הזזת ספרות ROL CX , 4 ; קביעת ערך בית עליון באוגר כ MOV Ah , 0 FFh ; FF- מיסוך ספרה חדשה כספרה הכי פחות משמעותית AND CX , AX ; בקוד האזעקה ; THE–SAME–PRESS : שמירת הספרה שנלחצה END–SCAN : RET MOV DIGIT–NUMBER , AL ; קוד המציין שלא נלחצה ספרה כלשהי SCAN–DIGIT ENDP RET MOV DIGIT–NUMBER , 0 FFh ;
|
|