עבור לתוכן

רמת מתחיל | שאלה באסמבלי

Featured Replies

פורסם

אני מתחיל ללמוד אסמבלי.

עד עכשיו זה רץ יופי אבל נתקלתי פה בתרגיל שאני לא בדיוק יודע איך לגשת אליו:

"כתוב תוכנית המקבלת עשרה מספרים דרך פורט 1 ובודקת כמה מהם זוגיים. את תוצאת הבדיקה יש לכתוב לפורט 2.

בתהליך הסימולציה יש לקלוט כל פעם נתון דרך פורט 1 ולבדוק האם הנתון שנקלט זוגי. במידה וכן, יש לעלות את ערך פורט 2.

במידה ולא, יש לקלוט נתון חדש."

אני יודע שפת C ממש טוב, עכשיו...מה אני צריך לעשות כדי לקלוט בלולאה בכלל 10 מספרים?

כי אני מכיר שבאסמבלי אם אני לא מאתחל את הפורט בתוכנית אז לא ניתן להכניס לו נתונים אחרת.

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

תודה רבה!

פורסם

אני נותן רק את הרעיון, לא מתחילת התוכנית.

קליטת הערכים (אני לא יודע עם איזה אסמבלי אתה עובד.. עבדתי עם 51)


next: mov r7,10
mov a,p1
mov data1,a
dec r7
mov a,p2
mov data2,a
dec r7
.
.
.

בדיקת זוגי


zogi: mov a,data1
div ab
mov a,b
cjne a,#0,end1
inc p2
.
.
.
.
end1: ljmp next

זה באופן פשוט ביותר, כמובן שאפשר להכניס למערכים, לזיכרון ועוד..

זה אך ורק בתור דוגמא ולא יותר מזאת.

אם תרצה עזרה נוספת, אתה תמיד יוכל לפנות אלי.

כמובן, שאין להפיץ קטע תוכנית זה, כי הוא אינו גמור.

פורסם
  • מחבר

איך ניתן ליצור איתך קשר אחי?

ארכיון

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

דיונים חדשים