|
صفحة: 335
בעת הקריאה לשגרה , האוגר DX צריך להצביע על תחילת אזור הזיכרון בו הוגדרה המחרוזת . נוהל הקריאה לשגרה מוצג בקטע התכנית הבא , המדגים קליטה של מחרוזת שיש בה 10 תווים לכל היותר . א . הגדרת משתנה מטיפוס מחתזת אורך המחרוזת 10 תווים DB 10 ; inpBuffer מספר התווים שנקלטו בפועל ; DB 0 מקום עבור המחרוזת עצמה DB 11 dup ( 0 ) ; בתו האחרון של המחרוזת נשמר קוד ( D ) ASCII של המקש . return ב . מהל לקליטת מחרוזת אוגר dx מצביע לחוצץ הקלט ; mov dx , inpBuffer קבע את מספר שגרת השירות mov ah , 1 ; זמן את שגרת השירות ; int 21 h 9 . 2 zvnxn כדוגמה מסכמת , נציג תכנית הקולטת מחרוזת מהמשתמש ומציגה אותה על הצג . התכנית מגדירה ומשתמשת בשגרות האלה השגרה - printString מקבלת פרמטר מטיפוס מחרוזת ומציגה אותו על הצג ; השגרה - getString קולטת ומחזירה מחרוזת > השגרה printChar מקבלת כפרמטר תו ומציגה אותו על הצג . בתכנית הגדרנו שני משתנים rrt משתני פלט מטיפוס מחרוזת בשם ; 0 utMessage 2-1 outMessagel המחרוזות מכילות הודעות להצגה למשתמש . ב . משתנה פלט מטיפוס מחרוזת בשם ; inpBuffer במשתנה נשמרת המחרוזת שנקלטה . בסוף כל מחרוזת פלט יש לרשום את התווים ODh , OAh הגורמים למעבר לשורה חדשה . ללא התווים הללו , הפלט יירשם תמיד בתחילת אותה שורה , כלומר , הפלט הקודם יימחק ובמקומו יוצג הפלט החדש . התו " $ " מסמן סוף מחרוזת .
|
|