CHAP 6 SET INSTRUKSI MEMORI
SET INSTRUKSI
Perlu diperhatikan
• Pertambahan dengan 1 Adapun perintah untuk pertambahan dengan 1 dalam assembler adalah INC, dengan tata penulisan perintah INC adalah : INC [Register/Variable] Contoh programnya : MOV CX,05 MOV DL,41 # MOV AH,02 INT 21 INC DL LOOP # INT 20 • Pertambahan Selain 1 Perintah yang digunakan untk pertambahan selain 1 dalam assembler yaitu ADD, dengan tata penulisan perintah ADD adalah: ADD [operand1],[operand2]
• Pengurangan Selain Satu Bila dalam pertambahan kita gunakan ADD maka dalam pengurangan selain satu digunakan SUB dengan tata penulisannya adalah : SUB [operand1],[operand2]
- Perkalian Operasi perkalian dalam assembler dapat menggunakan perintah MUL yang berarti perkalian. Adapun tata penulisannya adalah : MUL [Register] Bila memerintahkan dengan perintah MUL, maka yang dilakukan komputer adalah : • Mengambil nilai register terlampir pada perintah MUL. Contoh MUL BL, maka isi register BL yang diambil • Kemudian komputer mengambil isi register AL dan dikalikan dengan isi register BL • Hasilnya dapat dilihat pada register AX. Langkah diatas adalah oprasi 8 bit, sedang untuk operasi 16 bit yang dilakukan komputer adalah : • Mengambil nilai register terlampir yang besarnya 16 bit. Contohnya : MUL BX • Kemudian komputer mengambil isi register AX dan dikalikan dengan isi register BX • Hasilnya dapat dilihat pada register OX Contoh programnya : MOV AH,02 MOV BH,32 MOV AL,01 MUL BH MOV DL,AL INT 21 INY 20
Pembagian Seperti juga perkalian, pembagian pun membedakan cara kerja pembagian dengan 8 bit dan 16 bit. Adapun cara kerja operasi pembagian adalah : - Pembagian 8 Bit - Pembagian 16 Bit Tata penulisan : Tata Penulisan: DIV [Register 8 bit] DIV [Register 16 Bit] Contoh : Contoh: DIV BL DIV BX Dibagi dengan AX Dibagi dengan DX:AX Hasil dilihat di AL Hasil dilihat di DX Sisa dilihat di AH Sisa dilihat di AX Contoh Programnya : MOV BL,0A MOV AX,0101 DIV BL MOV AH,02 MOV DL,AL INT 21 INT 20
LOOPING DAN STACK Looping Dalam Assembler perintah untuk melakukan perulangan digunakan perintah LOOP. Yang mempunyai tata penulisan sebagai berikut : Loop [lokasi memory] Adapun syarat lain untuk operasi Loop adalah harus mengisi register CX untuk setiap kali pengulangan. Coba anda lihat contoh program looping dibawah ini : MOV CX,05 :0103 MOV AH,02 MOV DL,41 INT 21 LOOP 0103 INT 20
Untuk setiap kali looping komputer akan mengurangi isi register CX satu sampai dengan CX menunjukan nol dan komputer akan melanjutkan ke baris berikutnya dibawah loop. Jika anda meletakan Loop ke tempat MOV CX,05 maka hasil running program tidak akan berhenti. Stack Secara umum stack adalah tempat peletakan sementara isi register. Stack pada file.COM terdapat di akhir segment dan ketika pertama kali dijalankan program penunjuk stack (SP) akan langsung ke byte terakhir dari segment. Operasi Stack mempunyai dua fungsi yaitu fungsi untuk memasukan isi suatu register/variable ke dalam stack dan mengeluarkan isi register / variable dari Stack. Adapun perintah untuk memasukan isi register pada stack adalah perintah PUSH dengan tata penulisannya adalah : PUSH [operand 16 bit]
MOV CX,009 ;9 baris MOV DL,31 ;angka 1 MOV AH,02 INT 21 PUSH DX PUSH CX MOV CX,001A ;26 kolom MOV DL,61 ;cetak huruf a INT 21 INC DL ; a jadi b LOOP 0110 MOV DL,0D ; INT 21 MOV DL,0A INT 21 POP CX POP DX INC DL LOOP 0107 INT 20