עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שני Interrupt-ים שקשורים לזמן, לא עובדים ב-Assembly, ב-Windows?

Featured Replies

פורסם

שלום

אחרי שנים שלא נגעתי באסמבלי, רציתי לבנות תוכנית ממש קטנה שעושה Delay קטן, למשל של שנייה או כמה שניות.

אני משתמש ב-Windows XP SP3.

פתחתי חלון DOS, הרצתי debug.exe

והזנתי את התוכנית הבאה:

MOV CX,3D
MOV DX,0900
MOV AH,86
INT 15

פונקציה מספר 86h ב-Interrupt 15h, מבצעת delay,

כאשר הזמן להשהייה(במיקרושניות) נמצא באוגרים CX,DX

כך, אם אנחנו רוצים שהפונקציה תמתין 4 שניות, אז 4,000,000 מיקרושניות, בהקסה-דצימלי זה 3D0900h,

וזה בדיוק מה שהזנתי ל-CX,DX

הרצה של התוכנית הקטנה הזו מסתיימת מייד, בלי שום השהייה..

ניסיתי אופציה אחרת.

פונקציה מספר 0, ב-Interrupt 1Ah, אמורה להחזיר לנו את ערך השעון של המחשב, לתוך האוגרים CX,DX

הרצתי את התוכנית הזו:

MOV AH,0
INT 1A

וערך האוגרים CX,DX בסיומה הוא 0000..

יש סיבה ששני אינטרפטים שקשורים לשעון לא עובדים מתוך חלון DOS ב-Windows?

זה אמור להיות כך?

והאם יש משהו שיכול לאפשר את זה בחזרה?

תודה

נערך על-ידי card

פורסם
  • מחבר

מתברר שהסיבה לבעיות היא ש-Windows מריץ עבורנו את DOS במצב של Protected Mode,

ובמצב הזה הרבה גישות ל-BIOS (כמו דברים שקשורים לשעון) לא מאופשרים...

פורסם

מה עושה INT 15 זה כמו SLEEP?

לא יודע לי שיש בווינדוס פונקצייה שפשוט עושה DELAY או חוסמת לזמן מסויים אלא אם כן אתה מדבר על SLEEP שזה לא בדיוק אותו הדבר.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.