שאלה בקשר לאסמבלי

  • פותח הנושא xrat
  • פורסם בתאריך

xrat

New member
שאלה בקשר לאסמבלי

אני קצת מתקשה ליישם העתקה של ערכים ממערך למערך, כלומר יש לי מערך מסויים ואני רוצה לעבור עליו, וכל ערך שעונה על קריטריון מסויים( לדוגמא הוא אות) אני רוצה להעביר למערך השני. הבעיה שלי היא עם האינדקסים והאוגרים, פשוט "נגמרים" לי האוגרים שאני יכול להשתמש בהם... בכל מיקרה יש למישהו אפשרות לתת לי קטע קוד קצר שיבצע העברה כזו, או הדרכה איך לכתוב אחד כזה? תודה!
 

DarkSwell

New member
תשובה,

push ds pop es xor di,di xor si,si mov cx, lengthSrc :copyBy [mov ah,src[di 'cmp ah, 'a jb notEqu 'cmp ah, 'b ja notEqu mov buff[si], ah inc si :notEqu inc di loop copyBy
 

xrat

New member
לא הבנתי

תודה רבה רק שני דברים לא ברורים לי בקוד. 1: push dh pop es מה זה נותן לי? 2: לפי הידוע לי כשאני משתמש באינדקסים si,di האוגר bx אמור להצביע לoffset של המערך, ופה הבעיה שלי, כי יש מצד אחד offset buffer ומצד שני offset source. איך זה בא לידי ביטוי בקוד שלך? תודה רבה!
 

xrat

New member
אכן לא עובד

לדעתי זה קשור לאופן הפנייה למערך באסמבלי, כמו שכתבתי bx אמור להצביע על הoffset אבל יש שני offset איך פותרים את זה?? בבקשה...
 

xrat

New member
טוב השירשור הזה הופך להיות פרטי...

מצטער שהפכתי את השירשור הזה לפרטי 1000 תגובות שלי ואחת לא... בכל מיקרה הבנתי מה עשית שם, זה עובד פשוט בלי [buffer[index אלא רק [index]. תודה.
 
למעלה