Bahasa assembly merupakan bahasa yang digunakan untuk mesin. Ini merupakan bahasa tingkat rendah sehingga butuh pemahaman khusus untuk mengerti bahasa ini. Disini saya akan memberikan tutorial cara melakukan perulangan bersarang ascending dan descending.
ini source kode yang saya gunakan dan disana sudah ada keterangannya
.MODEL SMALL ; jenis memori U/ data dan code ukuran kecil < 64kb
.CODE ; Untuk menyimpan program yang nantinya akan dijalankan atau memberitahu kita memulai code segment dari sini
ORG 100h ; ORG adalah ORIGIN , 100h artinya memesan 256 byte di ram yang nantinya akan digunakan untuk menjalankan program
data : JMP Proses ; Data itu Label jadi bisa diganti kalo JMP(register) artinya lompat. Jadi dimulai dari Label lalu JMP lompat ke Proses(label)
nama DB 'KISRON' ; nama itu simbol.
; DB itu karakternya dimasukkan satu satu dari 100h bit sesuai nama. Jadi kalo karakter namanya 20 menjadi bit 120.
Proses: ; label ini proses yang lompat tadi
MOV BX,6 ; jumlah karakter yang ditampilan di database
MOV CX,6 ; Jumlah looping yang dilakukan ke bawah CX DEC
L2:
PUSH CX ;Melatakkan nilai cx dalam tempat penampungan data / stuck
MOV CX,BX ;Meletakkan nilai bx pada cx
PUSH BX ; meletakkan nilai bx kedalam stuck
MOV BX,0 ; logika untuk mengenolkan bx
L1:
MOV DL,nama[BX] ; DL menampung nilai dari nama karakter, Ambil karakter yang ke BX
MOV AH,02h ; Servis persiapan untuk cetak karakter
INT 21h ; untuk Cetak Karakter
INC BX ; inc(increment) bx ditambahkan
LOOP L1
POP BX ; untuk mengambil nilai BX
MOV DX,0AH ; 0AH=ENTER
MOV AH,02H ; servis perisapan untuk mencetak
INT 21H ; menampilkan karakter
DEC BX ;Decrement(mengurangi karakter )
POP CX ;Mengambil nilai cx untuk ditampilkan
LOOP L2
INT 20h ; interrupt untuk kembali ke dos
END data ; untuk mengakhiri program
untuk mengganti perulangannya supaya ascending atau descending tinggal mengganti mov bx dan DEC bx.
Sekian yang dapat saya sampaikan, mohon maaf apabila ada kekurangan
Terima kasih
Tidak ada komentar:
Posting Komentar