עבור לתוכן

פקודת הזזה SLL במעבד מיפס-אסמבלר

Featured Replies

פורסם

בתיעוד כתוב

Format: SLL rd, rt, shamt

Purpose:

To left-shift a word by a fixed number of bits: SHAMT

Description: GPR[rd] = GPR[rt] << shamt:

The contents of the low-order 32-bit word of GPR rt are shifted left, inserting zeros into the emptied bits; the word

result is placed in GPR rd. The bit-shift amount is specified by shamt

כיוון שזה R TYPE ברור לי ששדה ה OP-CODE ( 6 ביטים משמאל אפסים)

ראיתי בתיעוד שם שגם שדה ה FUNC אפסים-מדוע? איך יזהה את הוראה?

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

אך לא הבנתי את התהליך שמתואר כאן , מדוע RT ניכנס RD

ומה זה בידיוק SHAMT (זו המילה שרוצים להזיז? גם כן איך יקודדו אותו ל 32 ביט בבינארי?)

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

תודה

פורסם
  • מחבר
בתיעוד כתוב

Format: SLL rd, rt, shamt

Purpose:

To left-shift a word by a fixed number of bits: SHAMT

Description: GPR[rd] = GPR[rt] << shamt:

The contents of the low-order 32-bit word of GPR rt are shifted left, inserting zeros into the emptied bits; the word

result is placed in GPR rd. The bit-shift amount is specified by shamt

כיוון שזה R TYPE ברור לי ששדה ה OP-CODE ( 6 ביטים משמאל אפסים)

ראיתי בתיעוד שם שגם שדה ה FUNC אפסים-מדוע? איך יזהה את הוראה?

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

אך לא הבנתי את התהליך שמתואר כאן , מדוע RT ניכנס RD

ומה זה בידיוק SHAMT (זו המילה שרוצים להזיז? גם כן איך יקודדו אותו ל 32 ביט בבינארי?)

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

תודה

בבקשה?

פורסם

ShAmt זו הכמות של הזזות שאתה עושה. לדוגמה אם rt מכיל ערך בינרי 0110 ו ShAmt הוא 2 אזי לאחר בפעולה הערך של rd יהיה 011000.

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

ארכיון

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

דיונים חדשים