התגובות שלי בפורום
-
מאתתגובות
-
CodeGuruמנהל בפורום
שלום דניאל,
הפקודה
LOOP
משתמשת באוגר
CX
ולכן הקוד לדוגמא יצייר מאה פרצופונים שמחים, ואם תשנה את הערך הוא יצייר מספר אחר של פרצופונים.CodeGuruמנהל בפורוםהעלאנו גם את השורדים של התחרות האחרונה
https://github.com/codeguru-il/corewars8086-survivorsCodeGuruמנהל בפורוםשלום,
תודות לדני, כל השורדים (החל מתחרות הראשונה ועד תחרות שמונה וחצי האחרונה) הועלו לCodeGuruמנהל בפורוםנכון, יואב, חילוק משפיע על 32 ביט
אבל
אלו אוגרים, לא זכרון – ולכן לא ישפיע על שורדים אחרים בזירהCodeGuruמנהל בפורוםCodeGuruמנהל בפורוםפצצה חכמה
RetfCodeGuruמנהל בפורוםחצות
CodeGuruמנהל בפורוםגם הפקודה
CALL
היא יחסית.CodeGuruמנהל בפורוםהפקודה
JMP
יכולה להיות יחסית
EB או E9
או קבועה
EA
במקרה של קבועה הכתובת היא 32 ביט – כולל מקטע
אפשר גם לשים כתובת במחסנית ולבצע
RET
ואפשר גם לבצע באופן דומה על ידי
CALLולמה לא להשתמש באוגרים?
CodeGuruמנהל בפורוםשלום ערן,
קפיצה יחסית היא
jmp label
והיא מתורגמת ל
EB offset
למשל קפיצה לעצמך היא
EB FE
שזה לקפוץ שני בתים אחורה (הקפיצה היא יחסית לפקודה שהייתה מתבצעת הבאה אלמלא הקפיצה
דוגמא לקפיצה למקום קבוע
jmp ax
קופצת לכתובת שנמצאת באוגר בלי קשר למקום ממנה בוצעה
FF E0CodeGuruמנהל בפורוםכן, גם
JMP
וגם
LOOP
הם יחסייםCodeGuruמנהל בפורוםשורד יכול לשגר את עצמו למקום אחר על ידי שני שלבים:
- להעתיק (או לייצר) קטע קוד חדש בכתובת כלשהי
- לעבור לביצוע מהכתובת החדשה
אם אתה מעתיק פקודה אל הכתובת שמייד אחריך, תוכל לחסוך את השלב השני כי אתה מגיע לשם ממילא. כך אפשר לרוץ מהר יותר, אבל במחיר של שיגור מילה אחת בלבד.
CodeGuruמנהל בפורוםתוריד את התוכנה
https://github.com/kirill578/corewars8086/releases/download/Nightly-2014-02-09/Nightly-2014-02-09.zip
ואז לחיצה על
Nightly-2014-02-09.jar
מפעילה את המנועCodeGuruמנהל בפורוםשלום,
בדרך כלל אנחנו מציגים את הזירה בהתחלה, ואח"כ מורידים אותה כדי להריץ את התחרות מהר יותר.
אתה יכול להריץ את השורדים בעצמך על המחשב שלך בכל תצורה שתבחר במקביל.את התוצאות של ריצת 14.2 נפרסם, כנראה, בבוקר התחרות.
עודד
CodeGuruמנהל בפורוםבקשר לשאלה הראשונה – כן, אתה יכול להביא כל מחשב שתרצה עם כל מערכת הפעלה שנוחה לך וכל כלי שיעזור לך.
בקשר לריצה – אלף סיבובים זה כבר לוקח כמה שעות טובות, לא יהיה לנו זמן ליותר מדי ריצות. את המספרים המדוייקים נקבע ביום התחרות כשנראה כמה צוותים הגיעו. -
מאתתגובות