כותב |
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 19 March 2008 בשעה 10:54 | | IP רשוּם
|
|
|
|
שלום לכולם,
אני לומד אסמבלי, אני רוצה לשאול לגבי מספרים מסומנים, אני יודע שהם קשורים למספרים שלילים, לא כ"כ הבנתי איך משתמשים בהם ומה המשמעות של שימוש במספרים מסומנים מול לא מסומנים.
אשמח לקבל עזרה במהירות.
תודה,
|
חזרה לתחילת העמוד |
|
|
Dark Phoenix משתמש פעיל
הצטרף / הצטרפה: 22 December 2007 מדינה: Israel
משתמש: מנותק/ת הודעות: 50
|
נשלח בתאריך: 19 March 2008 בשעה 11:24 | | IP רשוּם
|
|
|
|
מספרים מסומנים זה מספרים חיוביים, שליליים ואפס. בעקרון כשאנחנו מסתכלים על בייט ורוצים להתייחס אליו בתור מספר מסומן, אנחנו מחלקים את 255 המספרים החיוביים לשתי קבוצות (חיוביים ושליליים). כדי לזהות האם המספר הוא חיובי או שלילי, צריך להסתכל ב-MSB, הסיבית השמאלית ביותר. 1-מספר שלילי, 0 לא. כדי להמיר מספר חיובי לשלילי ולהך, צריך להשתמש בשיטת המשלים לשתי. בשיטה הזאת הופכים את כל הספרות ומוסיפים למספר ההפוך אחד. דוגמא:
55D - = -(00110111)B = 110010111 + 1 = 110011000B
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 19 March 2008 בשעה 19:41 | | IP רשוּם
|
|
|
|
תודה רבה
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 20 March 2008 בשעה 10:04 | | IP רשוּם
|
|
|
|
אני זקוק דחוף לעזרה בכל מה שקשור בהגדרת משתנים, פוינטרים, מקרויים וכו',
האם מישהו מכיר מסמך שיכול לעזור לי ללמוד את זה? משהו מעבר למה שנותנים בויקיפדיה?
אנגלית תופס טוב...
תודה מראש
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 20 March 2008 בשעה 23:35 | | IP רשוּם
|
|
|
|
אם יש לך כוח......... חפש את הספר Art Of Assembly תמצא אותו חופשי להורדה...
זה ספר של 1000 ומשהו עמודים אז תהנה! וכן זה באנגליתץץץ
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 26 March 2008 בשעה 10:19 | | IP רשוּם
|
|
|
|
שלום לכולם,
יש לי עוד כמה שאלות...
1. ADC- add with carry - לא הבנתי מה זה בעצם מבצע? זה מוסיף כשיש דגל נשא? מוסיף את ערך הסיבית???
2. AAA - אין לי מושג מה זה מבצע...
3. ORG 100H - זה מופיע בDATA SEGMENT, מישהו יכול להגיד לי מה זה עושה? ניחוש שלי שזה קשור למרחק מהנתונים... היסט...
תודה מראש לכל העוזרים...
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 26 March 2008 בשעה 11:33 | | IP רשוּם
|
|
|
|
adc- חיבור עם ערך של Cary. זאת אומרת נגיד ב-Carry יש אחד וב-ax יש 0 אז
ADC ax,0
מוסיף לערך ax את הערך שיש ב-Carry פלוס 0.
הפקודה AAA קשורה ל-BCD אם אני לא טועה זה חיבור של BCD מרווח...
ו-ORG זה באמת קשור להיסט...
זאת אומרת שאם אני כותב ORG 10 אזיי ב-Data Segment הצהרת המשתנה תתחיל
מבית 10 (0+10). המקום הנוכחי + הערך שכותבים ב-ORG.
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 26 March 2008 בשעה 12:21 | | IP רשוּם
|
|
|
|
לא כ"כ הבנתי...
הCARRY FLAG הוא או 0 או 1, אין לו ערך... איך אני יכול להוסיף אותו?
לגבי AAA בכלל לא הבנתי...
|
חזרה לתחילת העמוד |
|
|
11010010110 פורומיסט על
הצטרף / הצטרפה: 23 April 2006
משתמש: מנותק/ת הודעות: 2621
|
נשלח בתאריך: 26 March 2008 בשעה 12:36 | | IP רשוּם
|
|
|
|
הוא 0 או 1. אתה מוסיף אותו כמו 0 או 1
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 26 March 2008 בשעה 13:32 | | IP רשוּם
|
|
|
|
לא ברור מבחינה חישובית איך זה מוסיף את הערך של הCARRY FLAG...
דוגמא:
MOV AL,5
MOV BL,6
ADC AL,BL
איך תחשב?
ד.א אם למישהו יש הסבר פשוט יותר לפקודת AAA, אני אשמח לשמוע...
|
חזרה לתחילת העמוד |
|
|
11010010110 פורומיסט על
הצטרף / הצטרפה: 23 April 2006
משתמש: מנותק/ת הודעות: 2621
|
נשלח בתאריך: 26 March 2008 בשעה 13:58 | | IP רשוּם
|
|
|
|
אני חושב משהוא כזה
קוד:
ADC X Y
X = X + Y + CF
if CF 1
X = X + Y + 1
if CF 0
X = X + Y |
|
|
|
חזרה לתחילת העמוד |
|
|
yoniseg משתמש מתחיל
הצטרף / הצטרפה: 19 March 2008
משתמש: מנותק/ת הודעות: 8
|
נשלח בתאריך: 26 March 2008 בשעה 16:37 | | IP רשוּם
|
|
|
|
הCF הוא לא 1, הוא 1 בבינארי, אין לו ערך כמו לX, ככה שלא נראה לי שזה הגיוני...
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 26 March 2008 בשעה 18:07 | | IP רשוּם
|
|
|
|
אם הערך ב-CF הוא אחד אז בהוספה הוא נחשב כ-1 ואם הערך ב-CF הוא אפס אז
בהוספה הוא נחשב אפס.
ADC ax,5=ax+5+CF
מה כל כך קשה???? זאת פקודה בסך הכל לא איזה משהו מסובך....
|
חזרה לתחילת העמוד |
|
|
11010010110 פורומיסט על
הצטרף / הצטרפה: 23 April 2006
משתמש: מנותק/ת הודעות: 2621
|
נשלח בתאריך: 26 March 2008 בשעה 18:08 | | IP רשוּם
|
|
|
|
תתייחס אליו כמו 1 ב 32 ביט
1 = 000000000000001
|
חזרה לתחילת העמוד |
|
|
yohai מנהל פורומים
הצטרף / הצטרפה: 11 November 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 354
|
נשלח בתאריך: 26 March 2008 בשעה 18:10 | | IP רשוּם
|
|
|
|
מה זה משנה איך להתייחס לזה מצדי שיהיה במחשב מאפן עם 8 ביט
כל עוד ב-LSB יש אחד זה נחשב אחד אחרת זה אפס.
סוף סיפור.....
|
חזרה לתחילת העמוד |
|
|
אורח אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 27 March 2008 בשעה 09:45 | | IP רשוּם
|
|
|
|
AAA - חיבור בקוד BCD (קוד(כמו טבלת ASCII() שמאפשר להעביר את קלט האותיות/מספרים שנקלטו מהמשתמש מהר יותר לשימוש במקום להוריד שלושים, הסיבה שזה מהר יותר בגלל שהוא גם קרוב יותר לASCII וגם קרוב יותר לHEX representation)
|
חזרה לתחילת העמוד |
|
|