כמעט פטרתי את הבעיה היום, אך נגמר לי הזמן. (לא חשבתי על פצצות חכמות)
צריך למצוא פטרון למשוואה הריבועית
2X^2 + X – A
הוא הערך שהסורד כתב אל הכתובת 0 A
אפשר למצוא את הפטרון למשוואה על ידי שימוש בנוסחה:
x1, x2 = (-b +- sqrt(b^2 – 4ac)) / 2a
זאת אומרת, שצריך לכתוב תוכנית אסמבלי מהצורה:
move ax, [0] ; move to ax the value that alef wrote to 0x0
mul 8
add ax, 1
sqrt ax ; (replace the non-existent sqrt opcode with your own code to find a square root)
dec ax
mov cl, 4
div cl
ALהפטרון למשוואה נמצאת ב
(אני כמעט בתוח שאין צורך לחשב את הפתרון השני למשוואה [כי הוא יהיה שלילי], אבל לא חשבתי על זה מספיק להיות 100% בתוח)
עוד הערה: כמובן, צריך להחליף את השורה הרביעית במשהו מתאים (אפשר למצוא אלגוריתם למציאת שורש ריבועי על האינטרנת בקלות)
עוד לא בדקתי את התוכנה במחשב, ולכן תרגיש חופשי לתקן אותי אם תעיתי למעלה