פורסם 2007 בפברואר 1118 שנים רציתי לדעת מס' פרטים בנוגע לתוכנית הבאה:CMPR: MOV SI,100H MOV CX,20H MOV BX,0HAGAIN: MOV AX,[sI] CMP AX,2233H JNE NOT_COUNT INC BXNOT_COUNT: INC SI INC SI DEC CX JNE AGAIN RETהאם התוכנית סורקת התאים בקפיצות של 2H כלומר: 100H 102H 104H וכו' ובודקת באילו תאים זוגיים אלועד תא 138H ישנו הערך 2233H, ועבור כל תא כזה שיימצא ערך BX יועלה ב- 1H. ואז ערך BX ייצג מס' התאים הזוגיים מתא 100H ועד 138H, המכילים הנתון 2233H.או שלחילופין התוכנית בודקת רצפים של 22H בתא אחד ואז 33H בתא שמיד לאחריו,כמובן שהחל מתא 100H ועד 138H , ואם מזהה רצף כזה אזי מעלה BX ב-1.בבקשה אני חייב עזרה כי זהו משהו מאוד עקרוני בהבנה שלי את ה- 8086.אילו משתי באופציות היא עושה ???? זה מאוד חשוב בשבילי ע"מ להבין איך עובדת השפה של 8086.
פורסם 2007 בפברואר 1118 שנים אני לא רואה איך התוכנית הזאת אמורה לגרום לך להבין את שפת האסמבלי...האפשרות השניה זה בעקרון מה שקורה אבל הוא קופץ למקומות שלא כתבת... אתה בטוח שזה כל התוכנית?
פורסם 2007 בפברואר 1118 שנים מחבר זאת כל התוכנית המוגדרת בשאלה כתת שגרה.מדוע אתה חושב שהיא קופצת למקומות שלא רשמתי ?
פורסם 2007 בפברואר 1118 שנים רציתי לדעת מס' פרטים בנוגע לתוכנית הבאה:CMPR: MOV SI,100H MOV CX,20H MOV BX,0HAGAIN: MOV AX,[sI] CMP AX,2233H JNE NOT_COUNT INC BXNOT_COUNT: INC SI INC SI DEC CX JNE AGAIN RET
פורסם 2007 בפברואר 1118 שנים מחבר מה הבעיה עם זה ? ישנה קפיצה ל- AGAIN בשורה מס' 4.ותגיד לי... כאשר הוא בודק תא של 22H ותא של 33H, הוא בודק באופן הבא: ??????כאשר נמצא רק בתא זוגי הערך 22H ובאי זוגי (שלאחריו כמובן) 33H או להיפך ???
פורסם 2007 בפברואר 1118 שנים הוא בודק אם התאים הזוגיים יש 2233H אם כן הוא מעלה DX ב1 וכל זה יקרה 20 פעמים עד שCX יהיה שווה 0
פורסם 2007 בפברואר 1118 שנים מחבר למה הוא מעלה את DX ב-1 ולא את BX כפי שמצויין בתוכנה?ומדוע הוא בודק אם ישנו 2233H בתא זוגי ולא בודק 22H בתא ואז 33H בתא שלאחריו באופן רציף ?הרי גם רשמת:האפשרות השניה זה בעקרון מה שקורה
פורסם 2007 בפברואר 1118 שנים 1. התכוונתי לBX2. התכוונתי לאפשרות הראשונה3. למה שזה יבדוק בתא זוגי ולא זוגי?
פורסם 2007 בפברואר 1118 שנים למה הוא מעלה את DX ב-1 ולא את BX כפי שמצויין בתוכנה?ומדוע הוא בודק אם ישנו 2233H בתא זוגי ולא בודק 22H בתא ואז 33H בתא שלאחריו באופן רציף ?אם אני זוכר נכון זה בדיוק מה שהוא עושה, האוגר AX הוא בגודל 2BYTE אבל כול תא בזיכרון הוא בגודל BYTE1 לכן הוא בודק בתכלס את AX מול שני תאים רצופים בזיכרון.
פורסם 2007 בפברואר 1118 שנים מחבר ציטוט:"אם אני זוכר נכון זה בדיוק מה שהוא עושה, האוגר AX הוא בגודל 2BYTE אבל כול תא בזיכרון הוא בגודל BYTE1 לכן הוא בודק בתכלס את AX מול שני תאים רצופים בזיכרון."האם זה אומר כי הוא בודק אם בתא 100H יש 33H ואז הוא יבדוק 22H בתא 101H או שהכוונה היא שב-100H הוא יבדוק 22H וב- 101H הוא יבדוק 33H ????? <------ עניין עקרוני וחשוב מאוד !!!!
פורסם 2007 בפברואר 1118 שנים אם זה אומר כי הוא בודק אם בתא 100H יש 33H ואז הוא יבדוק 22H בתא 101H זאת התשובה, אגב מעקב קצר אחרי התוכנית ייתן לך את התשובה.
פורסם 2007 בפברואר 1118 שנים מחבר זאת התשובה, אגב מעקב קצר אחרי התוכנית ייתן לך את התשובה.אתה יכול רק לומר לי איך הגעת למסקנה זו מהתוכנית ?והאם ישנה מטרה נוספת בתוכנית הגלומה בביצוע פעולות אלו ?
פורסם 2007 בפברואר 1118 שנים ברור לך שלמדתי אסמבלי בקורס מסודר כמו שצריך, ובגלל זה אני יודע את זה, האמת אני לא ממש בטוח ספציפית בקטע הזה אבל הגיונית זה נראה לי נכון, הוא ייקח את הBYTE הנמוך של האוגר ויבדוק מול התא הנמוך בזיכרון.מה זאת אומרת מטרה נוספת בבפעולות האלה ?
פורסם 2007 בפברואר 1118 שנים מחבר הכוונה היא שכאשר שואלים אותי מה עושה התת שיגרה אז אני אמור לומר כי היא מחפשת רצף של 2 תאים כאשר האחד 22H והשני 33H החל מכתובת 100H ועד כתובת 138H או עד 139H ??? והאם זה מספיק להסבר ?אגב היכן למדת הקורס ?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.