Menu
CoddyTech

MOV dengan Nilai Langsung

Termasuk bagian Dasar-Dasar dalam perjalanan Assembly di Coddy. Pelajaran 15 dari 45.

Bentuk MOV yang paling sederhana adalah MOV immediate. "Immediate" berarti nilai ditulis langsung di dalam instruksi itu sendiri.

Sintaks:

mov register, value

Nilai disalin ke dalam register.

Contoh:

InstruksiFungsinya
mov rax, 5Menyalin angka 5 ke dalam rax
mov rbx, 100Menyalin angka 100 ke dalam rbx
mov rcx, 0Menyalin angka 0 ke dalam rcx

Kode ini tidak melakukan apa pun yang terlihat (belum ada output), tetapi berhasil memasukkan angka ke dalam register.

Catatan: Kamu akan melihat efek instruksi MOV ini di pelajaran berikutnya saat kamu belajar mencetak atau melakukan debug. Untuk sekarang, cukup ketahui bahwa angka-angka tersebut disimpan di dalam register.

Aturan penting:

AturanPenjelasan
Nilai harus muat di registerrax dapat menampung angka yang sangat besar (hingga 2⁶⁴-1)
Nilai disalin, bukan dipindahkanAngka aslinya tetap ada (itu hanya sebuah angka)
Register di sebelah kirimov rax, 5 benar. mov 5, rax salah
challenge icon

Tantangan

Tulis satu baris kode assembly untuk setiap tugas:

  1. Masukkan angka 5 ke dalam register rax.
  2. Masukkan angka 7 ke dalam register rbx.
  3. Masukkan angka 3 ke dalam register rcx.

Coba sendiri

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"
    
    ; Simpan nilainya
    mov r12, rax
    mov r13, rbx
    mov r14, rcx
    
    ; Cetak "rax = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rax
    mov rdx, msg_rax_len
    syscall
    
    ; Cetak nilai rax
    mov rax, r12
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; Cetak "rbx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rbx
    mov rdx, msg_rbx_len
    syscall
    
    ; Cetak nilai rbx
    mov rax, r13
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; Cetak "rcx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rcx
    mov rdx, msg_rcx_len
    syscall
    
    ; Cetak nilai rcx
    mov rax, r14
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; Keluar
    mov rax, 60
    mov rdi, 0
    syscall
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Assembly