נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
מדעי המחשב
RSS UnderWarrior Forums : RSS מדעי המחשב
נושא

נושא: אסמבלר תת תוכנית

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
תלמיד
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 27 March 2007 בשעה 09:52 | IP רשוּם
ציטוט תלמיד

האם מישהו יודע איך עושים תת תוכניות באסמבלר? אני יודע שזה אחרי ה INT 21H
משהו כזה
stam:
add al,cl
cmp al,bl
ופה מה? איך מסיימים את התת תוכנית?
חזרה לתחילת העמוד הצג את כרטיס החבר של תלמיד חפש הודעות אחרות של תלמיד בקר בדף הבית של תלמיד
 
leo123
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 31 March 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 12
נשלח בתאריך: 01 April 2007 בשעה 21:20 | IP רשוּם
ציטוט leo123

אתה מדבר על פרוצדרות עם כן

הינה מדריך קטן:

פרוצדורה היא תת תוכנית בתוך התוכנית המרכזית.
לשימוש בפרוצדורות יש כמה יתרונות :
  • * גודל התוכנית קטן.
  • * התוכנית הופכת לברורה יותר.
  • * תחזוקות התוכנית קלה יותר, מכיוון שאם יש צורה לבצע תיקונים במנגנון הפרוצדורה ,
  • דע לעשות זאת בקטע הקוד של הפרוצדורה עמצה - במקום לבצע תיקונים רבים במקומות
  • שונים.
הגדרת הפרודצוקרה


 

בתוך סגמנט התוכנית אנו מגדירים וכתובים את הפרוצדורה.
פרוצדורה מתחילה בתווית ומסתיימת בפקודה RET.
הקריאה לפרוצודרה בתוך התוכנית נעשית על ידי הפקודה CALL, מלווה בשם הפרוצדורה.


 

דגומה:
תוכנית מציגה משפט על המסך על ידי שימוש בפרוצדורה.
 
sta segment
db 100h dup (0)
sta ends
code segment
assume cs:code,ds:code,ss:sta
main:
mov ax,code
mov ds,ax
call printmessage     ; קריראה לפרוצדורה להדפסת משפט על המסך
mov ax,4c00h
int 21h
;------------------פרוצדורות
printmessage:
mov dx,offset message
mov ah,9
int 21h
ret
;---------------------הגדרות
message db 'Wellcome To Procedures$' ;msg
code ends
end main
* שים לב שבין התוכנית לבין הפרודורה יש הפרדה מוחלטת, כדי לוודא שקוד הפרוצדורה יתבצא
רק כאשר יש קריאה באמצעות הפקודה CALL.


כל הזכויות שמורת ללאו(leo123)


__________________
ואללה אין לי חתימה
חזרה לתחילת העמוד הצג את כרטיס החבר של leo123 חפש הודעות אחרות של leo123 בקר בדף הבית של leo123
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה