באופן כללי לגמרי
כבר לא כתבתי באסמבלר מספר שנים, אז אני יכול לספר לך על העיקרון, אבל את המימוש תכתוב לבד. המימוש שלהלן אינו מייצר השהייה מדויקת מאוד וגם אינו השיטה היעילה ביותר האפשרית, אבל זו שיטה פשוטה יחסית. לכל PC יש פסיקת שעון קבועה שמתרחשת 18.2 פעמים בשניה, ובכל פעם שהיא מתרחשת מתבצעות בדיקות שונות ע"י ה-PC כמו למשל האם המשתמש הקיש על מקש כלשהו במקלדת וכו´. כדי ליצור השהייה, אתה מייצר 2 משתנים, אחד יהיה מונה והשני יהיה בינארי (הוא יקבע האם הזמן עבר כבר או עדיין לא). ברגע שאתה צריך את השהייה אתה מאפס את הבינארי, ומפעיל את פונקציית ההשהייה. בפונקציית ההשהייה יש קוד שמשתלט על פסיקת השעון, ומוסיף בפסיקה קטע שמגדיל את המונה, ובודק האם המונה כבר הגיע לערך מסויים אז הופך את הבינארי ל-1. כמו-כן בסוף הקטע צריך לקפוץ ולבצע גם את קטע הפסיקה המקורי. הערך המסויים נקבע ע"י חלוקת הזמן הדרוש ב-18.2 עתה פונקציית ההשהייה נכנסת ללולאה אינסופית שבודקת האם הבינארי הפך ל-1, ברגע שהבינארי השתנה ל-1, משוחזרת פסיקת השעון המקורית, והפונקציה מסתיימת, ואז התוכנית הראשית ממשיכה כרגיל. זה נשמע מסובך, אבל זה משהו כמו 20 שורות. ביי גיליוטין