Menu
Coddy logo textTech

MOV מיידי

חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 15 מתוך 45.

הצורה הפשוטה ביותר של MOV היא MOV immediate. „מיידי” פירושו שהערך נכתב ישירות בתוך ההוראה עצמה.

תחביר:

mov register, value

הערך מועתק אל האוגר.

דוגמאות:

הוראהמה היא עושה
mov rax, 5מעתיקה את המספר 5 אל rax
mov rbx, 100מעתיקה את המספר 100 אל rbx
mov rcx, 0מעתיקה את המספר 0 אל rcx

הקוד הזה לא עושה שום דבר שנראה לעין (אין עדיין פלט), אבל הוא מכניס בהצלחה מספרים לאוגרים.

הערה: תראו את ההשפעה של הוראות MOV האלה בשיעורים מאוחרים יותר, כשתלמדו להדפיס או לנפות שגיאות. לעת עתה, רק דעו שהמספרים מאוחסנים באוגרים.

כללים חשובים:

כללהסבר
הערך חייב להתאים לגודל האוגרrax יכול להכיל מספרים גדולים מאוד (עד 2⁶⁴-1)
הערך מועתק ולא מועברהמספר המקורי עדיין קיים (זה רק מספר)
אוגרים בצד שמאלmov rax, 5 נכון. mov 5, rax שגוי
challenge icon

אתגר

כתבו שורת קוד אחת באסמבלי עבור כל משימה:

  1. הכניסו את המספר 5 לאוגר rax.
  2. הכניסו את המספר 7 לאוגר rbx.
  3. הכניסו את המספר 3 לאוגר rcx.

נסו בעצמכם

section .data
    msg_rax db 'rax = '
    msg_rax_len equ $ - msg_rax
    msg_rbx db 'rbx = '
    msg_rbx_len equ $ - msg_rbx
    msg_rcx db 'rcx = '
    msg_rcx_len equ $ - msg_rcx

section .bss
    digit resb 1

section .text
    global _start

_start:
    %include "solution.asm"
    
    ; שמור את הערכים
    mov r12, rax
    mov r13, rbx
    mov r14, rcx
    
    ; הדפס "rax = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rax
    mov rdx, msg_rax_len
    syscall
    
    ; הדפס את הערך של rax
    mov rax, r12
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; הדפס "rbx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rbx
    mov rdx, msg_rbx_len
    syscall
    
    ; הדפס את הערך של rbx
    mov rax, r13
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; הדפס "rcx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rcx
    mov rdx, msg_rcx_len
    syscall
    
    ; הדפס את הערך של rcx
    mov rax, r14
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; צא
    mov rax, 60
    mov rdi, 0
    syscall
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Assembly אונליין