Menu
Coddy logo textTech

MOV 즉시값

Coddy Assembly 여정의 기초 섹션에 포함된 레슨 — 45개 중 15번째.

MOV의 가장 단순한 형태는 MOV immediate입니다. "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실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨