לדלג לתוכן

1.5 - מחרוזות ומערכים - תרגול

תרגול 1 - סכימת ערכי מערך בגודל 8 ביט

הוראות:
הגדר מערך array db 10, 20, 30, 40, 50.
כתוב קוד שמסכם את כל הערכים ושומר את הסכום ב-sum8.

תרגול 2 - העתקת מערך של מספרים בגודל 16 ביט

הוראות:
צור שני מערכים:

src dw 1, 2, 3, 4, 5  
dst dw 0, 0, 0, 0, 0

העתק את הערכים מ-src ל-dst בעזרת לולאה.

תרגול 3 - גישה לאיבר לפי אינדקס

הוראות:
בהינתן המערך:

arr db 5, 10, 15, 20, 25

שלוף את הערך במיקום 3 (כלומר 20) ל-AL.

תרגול 4 - חישוב ממוצע של מערך

הוראות:
בהינתן מערך באורך 8 תווים:

arr db 1, 3, 5, 7, 9, 11, 13, 15

חשב את הממוצע שלהם (ללא שבר). שמור את התוצאה ב-AL.

תרגול 5 - חיפוש ערך במערך

הוראות:
כתוב קוד שמחפש את הערך 42 במערך הבא:

arr db 5, 8, 13, 42, 99, 17

אם נמצא, שמור את האינדקס ב-foundIndex, אחרת שמור -1.

תרגול 6 - העתקת מחרוזת בעזרת MOVSB ו-REP

הוראות:
צור מחרוזת מקור:

src db 'hello', 0
dst db 6 dup(?)

העתק אותה בעזרת movsb + rep.

תרגול 7 - ספירת תווים במחרוזת (עד 0)

הוראות:
בהינתן מחרוזת:

msg db 'abcdef', 0

כתוב לולאה שסופרת את כמות התווים עד שתגיע ל-0. שמור את האורך ב-CX.

תרגול 8 - השוואת שתי מחרוזות

הוראות:
השווה בין:

str1 db 'hello', 0
str2 db 'hello', 0

אם הן שוות, שים 1 ב-equalFlag, אחרת שים 0.

תרגול 9 - שימוש ב-LODSB + STOSB

הוראות:
כתוב קוד שמעביר תו-תו ממערך מקור ליעד ע"י שימוש ב-lodsb ו-stosb, עד 0.

תרגול 10 - העתקת מערך של 10 מספרים עם rep movsb

הוראות:
צור שני מערכים בגודל 10 בתים:

src db 1,2,3,4,5,6,7,8,9,10  
dst db 10 dup(?)

העתק אותם בעזרת rep movsb.