סיכום: אתגר MOV
חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 22 מתוך 45.
אתגר
האתגר הזה יבחן את ההבנה שלך בנושאים הבאים:
- טעינת ערכים מהזיכרון
- שמירת ערכים בזיכרון
- העתקה בין אוגרים
- שימוש בגודל האוגר הנכון
אתגר
השלם את המשימות הבאות לפי הסדר. כתוב שורת אסמבלי אחת עבור כל משימה.
הנתונים שסופקו מראש:
num1: מכיל את הערך 8 (בית אחד)num2: מכיל את הערך 3 (בית אחד)result: מקום ריק (בית אחד)
משימות:
- טען את הערך מ-
num1אלal - טען את הערך מ-
num2אלbl - העתק את הערך מ-
blאלcl - שמור את הערך מ-
alאלresult
אחרי הקוד שלך:
alאמור להכיל 8blאמור להכיל 3clאמור להכיל 3- הזיכרון ב-
resultאמור להכיל 8
נסו בעצמכם
section .data
msg_al db 'al = '
msg_al_len equ $ - msg_al
msg_bl db 'bl = '
msg_bl_len equ $ - msg_bl
msg_cl db 'cl = '
msg_cl_len equ $ - msg_cl
msg_result db 'result = '
msg_result_len equ $ - msg_result
newline db 0xa
section .bss
digit resb 1
section .text
global _start
_start:
; הקוד של התלמיד פועל ראשון
%include "solution.asm"
mov r12, rax
mov r13, rbx
mov r14, rcx
mov r15, 0
mov r15b, [result]
mov rax, 1
mov rdi, 1
mov rsi, msg_al
mov rdx, msg_al_len
syscall
mov rax, r12
add rax, 48
mov [digit], al
mov rax, 1
mov rdi, 1
mov rsi, digit
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, newline
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg_bl
mov rdx, msg_bl_len
syscall
mov rax, r13
add rax, 48
mov [digit], al
mov rax, 1
mov rdi, 1
mov rsi, digit
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, newline
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg_cl
mov rdx, msg_cl_len
syscall
mov rax, r14
add rax, 48
mov [digit], al
mov rax, 1
mov rdi, 1
mov rsi, digit
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, newline
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg_result
mov rdx, msg_result_len
syscall
mov rax, r15
add rax, 48
mov [digit], al
mov rax, 1
mov rdi, 1
mov rsi, digit
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, newline
mov rdx, 1
syscall
mov rax, 60
mov rdi, 0
syscallכל השיעורים ביחידה יסודות
3ההוראה הראשונה – MOV
מהו MOV?MOV מיידיMOV מאוגר לאוגרMOV מזיכרון לאוגרMOV מאוגר לזיכרוןLEA – טעינת כתובתMOV בגדלים שוניםתרגול: החלפת אוגריםסיכום: אתגר MOVתרגלו בעצמכם: Assembly אונליין