מה זה עושה?
-
global main extern GetStdHandle extern WriteConsoleA extern ExitProcess section .bss buffer resb 8 written resd 1 section .text main: push r12 push r13 sub rsp, 40 mov eax, 10000 lea rdi, [rel buffer+7] mov byte [rdi], 10 dec rdi .convert_loop: xor edx, edx mov ecx, 10 div ecx add edx, '0' mov [rdi], dl dec rdi test eax, eax jnz .convert_loop lea rax, [rel buffer+8] sub rax, rdi mov r13d, eax mov r12, rdi mov ecx, -11 call GetStdHandle mov rcx, rax mov rdx, r12 mov r8d, r13d lea r9, [rel written] mov qword [rsp+32], 0 call WriteConsoleA xor ecx, ecx call ExitProcessזה הקוד המלא, מדפיס 10000 למסך.
לא כ"כ הבנתי למה לחסר אחד מRDI אחרי ההעברה של באפר+7 (מבוסס היסט)
וכו' למה זה ככה? -
ולמה בתוך הלולאה (שורה 27) מחסרים אחד מ-RDI, זה כן הבנת?
בגדול הקוד עובר בסדר הפוך על הבתים של הבאפר וממלא אותם, אחרי שהוא ממלא את הבית האחרון עם התו\nהוא חוזר לבית שלפני זה על ידי ה-decאגב, מאיפה הקוד? זה מועתק מאיפשהו? כי ChatGPT טוען שיש באג בקוד... (אני מאמין לו, אבל לא התעמצתי יותר מדי לוודא את זה)
גלוי נאות: אני אדם עצלן ואני משתמש ב-AI כדי לענות לך. אבל אני לא כותב שום דבר שאני לא מבין טוב. אבל תדע לך שגם אתה יכול להתשתמש ב-AI כדי להבין, ואפשר לשגע אותו עד שאתה מבין כל מילה.
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות