Pemograman Bahasa Rakitan Assembly

download Pemograman Bahasa Rakitan Assembly

If you can't read please download the document

Transcript of Pemograman Bahasa Rakitan Assembly

Pemrograman Bahasa Assembly

Pemograman Bahasa Rakitan AssemblyOleh :

Ninik Yuliana sir200902 A.PengertianBahasa Assembly itu sendiri merupakan bahasa pemograman yang tergolong dalam pemrograman bahasa tingkat rendah (Low Level Lenguage) dan setingkat diatas bahasa mesin ( Machine Language). Dalam pemograman assembly kita akan menemukan apa yang disebut dengan register .Register itu sendiri merupakan memori dalam mikroprosesor yang bekerja dengan kecepatan yang sangat tinggi .dan jenis jenis register itu sendiri dibagi menjadi beberapa bagian yaitu 1.Segmen Register Register CS (Code Segmen) SS (Stack Segmen) DS (Data Segmen ) ES (Extra Segmen) Kegunaan Menujukan tempat segmen yang sedang aktif Untuk letak segmen yang digunakan o/ Stack Ketempat segmen dimana data-data program disimpan Register bonus yang tidak memiliki tugas khusus

2.Pointer dan Index Register Register Pasangan Register SS :SP Kegunaan u/ menunjukan alamat dari stack u/ mencatat almt dimemori t4 data Sama spt Register (DI) u/operasi string dengan makses secara lngsng pd alamat yg ditunjukan ol ke 2 register

SP(Stack Pointer) BP(Base SS:BP Pointer) SI (Source Index) DI(Dstination indx)

3.General Purpose Register Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly Register AX BX CX DX Kegunaan u/ op. aritmatika terutama dlm pembagian & pengurangan u/ menunjukan suatu alamat offset dr suatu segmen u/ op.looping dmn register menentukan bnyknya looping u/ menampung sisa hasil pembagian 16 bit

4. Index Pointer Register Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat dimemory tempat dari intruksi(perintah) selanjutnya yang akan dieksekusi. Register IP juga merupakan register 16 bit. Pada prosesor 80386 digunakan register EIP yang merupakan register 32 bit. 5.Flags Register Flag register menujukan kondisi sari suatu kaadaan [ya atau tidak ].karena setiap keadaan dapat digunakan 1 bit saja ,maka sesuai dengan jumlah bitnya,flag register hanya mampu mencatat sampai 16 keaddan . Flag Kegunaan - OF . Jika terjadi OverFlow pada operasi aritmatika, bit ini akan bernilai 1. - SF . - ZF . - CF . Jika digunakan bilangan bertanda bit ini akan bernilai 1 Jika hasil operasi menghasilkan nol, bit ini akan bernilai 1. Jika terjadi borrow pada operasi pengurangan atau carry pada penjumlahan, bit ini akan bernilai 1. Digunakan untuk menunjukkan paritas bilangan. Bit ini akan bernilai 1 bila bilangan yang dihasilkan merupakan bilangan genap Digunakan pada operasi string untuk menunjukkan arah proses.

- PF .

- DF .

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly - IF . - TF . - AF . - NT . CPU akan mengabaikan interupsi yang terjadi jika bit ini 0. Digunakan terutama untuk Debugging, dengan operasi step by step. Digunakan oleh operasi BCD, seperti pada perintah AAA. Digunakan pada prosesor 80286 dan 80386 untuk menjaga jalannya interupsi yang terjadi secara beruntun. Flag ini terdiri atas 2 bit dan digunakan pada prosesor 80286 dan 80386 untuk mode proteksi Digunakan untuk mengaktifkan mode proteksi. Flag ini akan bernilai 1 pada mode proteksi dan 0 pada mode real. Digunakan bersama flag TS untuk menangani terjadinya intruksi WAIT. Flag ini digunakan untuk mensimulasikan coprosesor 80287 atau 80387 Flag ini tersedia pada 80286 keatas. Flag ini digunakan untuk menentukan jenis coprosesor80287 atau 80387. Register ini hanya terdapat pada prosesor 80386 keatas Bila flag ini bernilai 1 pada saat mode proteksi, mikroprosesor akan memungkinkan dijalankannya aplikasi mode real pada mode proteksi. Register ini hanya terdapat pada 80386 keatas

- IOPL .

- PE .

- MP - EM . - TS . - ET - RF . - VF .

Perintah Perintah Debug A : Merakit intruksi simbolik (kode mesin) D : menampilkan isi suatu daerah memori E : memasukan data ke memori yang dimulai pad lokasi tertentu Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly G : run executable program ke memori N : menamai program P : eksekusi sekumpulan intruksi yang terkait Q : quit R : menampilkan isi satu atau lebih register T : trace isi sebuah intruksi U : unassembled kode mesin ke kode simbolik W : menulis program ke disk Langkah-langkah Pemrograman Bahasa assembly 1.Buatlah Folder asm di C:/ 2.Dan untuk menuliskan program assemblynya kita bisa gunakan notepad .dan penyimpananya dimasukan di folder ASM yang sudah kita buat tadi, Dan penyimpanannya kita tambahkah .asm misalnya latihan.asm 3.Dan selanjutnya yang kita lakukan adalah meng-compire /menjalankan program tadi apakah sudah benar atau masih terdapat kesalahan yaitu dengan Klik AllProgram Accessorise- pilih Command Prompt. Apabila sudah kita pilh maka akan munjul tampilan seperti ini

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Apabila sudah masuk ke command prom berarti kita tinggal mengejalankan program kita tadi .yaitu dengan langkah-langkah dibawah ini. yang pertama cara supaya kita bisa masuk kedalam folder penyimpanan asm yang sudah kita simpan tadi yaitu di C:/

selanjutnya kita masukan ke TASM {NAMA PROGRAM }.asm TASM digunakan untuk mengetest apakah masih terdapat kesalahn dalam program atau tidak.

Dan kita masukan ke TLINK / t { NAMA PROGRAM }.OBJ TLINK / t untuk me link-kaan program menjadi program COM TLINK untuk melink-kan program menjadi program EXE

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Selanjutnya kita tinggal memanggil program kita misalnya Lathan,.COM. Kemudian ENTER.

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Cara cepat mencompire-nya lebih cepat maka kita digukan dengan extensi .BAT. Buka notepad baru dan ketikasn program seperti ini @echooff Tasm {nama program} .asm Tlink/t {nama program} .obj {nama program}.com kemudian di folder ASM dan simpan misalnya Latihan.bat

Praktikum-praktikum Bahasa Assembly Pencetakan Satu KarakterPraktikum 1Program pencetakan satu karakter A ========================================== ========================== .MODEL SMALL ; memulai program .CODE ORG 100h ; menujukan bahwa program yang akan dibuat berupa.COM Mulai: Mov ah,02 ; service unk mencetak satu karakter Mov dl , A INT 21h ; interrupt untk menampilkan / mencetak isi program INT 20h ; intrurrupt untk menghentikan program End mula ; mengahiri program ========================================== ========================== Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly Hasil program : pencetakan satu Karakter A

Ket : pada saat terjadi interuptsi pada 21h,maka register akan

melihat isi pada AH Jika berisi 02,maka akan mencetak satu karaktr berdasarka kode ASCII yang terdapat di DL.

PENCETAKAN BEBERAPA KARAKTER dengan Service 02hPraktikum 2Program pencetakkan beberapa karakter dengan service 02h. Program.misal kita akan mencetak BUNGA menggunakan

======================================= Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly ============================= .MODEL SMALL .CODE org 100h Mulai: mov ah,02 ; service mencetak satu karakter mov dl,B ; register yang akan dicetak B INT 21h mov dl,U ; INT 21h mov dl,N ; INT 21h mov dl,G ; INT 21h mov dl,A ; INT 21h register yang akan dicetak U register yang akan dicetak N register yang akan dicetak G register yang akan dicetak A

INT 20h End mulai ======================================= ============================= Hasil Program :Pencetakan beberapa karakter dg menggunakan servive 02h

Ket : Pencetakan yang digunakan masih menggunakan service 02h,tetapi disini masih menggunakan secara manual yaitu pada DL.pada program masih menggunakan DL secra berulang-ulang yaitu akan disi sejumlah karakter yang akan ditampilkan.

Perulangan (LOOP)Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly Dalam pencetakan beberapa karakter,selain menggunakan service 02h dapat juga menggunakan looping atau dengan register CX. Register CX digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.

Praktikum 3Program pencetakan karakter huruf ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFED CBA ========================================== ================================= .MODEL SMALL .CODE ORG 100h mulai: mov ah,02h ;service mencetak karakter mov dl,'A' mov cx,25 ; akan melooping sebanyak 25 ulang: int 21h inc dl ; tambah DL sebanyak 1 loop ulang ; akan mengulang label ulang sebanyak 25 kali mov dl,'Y' mov cx,25 maning: int 21h ; akan mencetak / menampilkan karakter dec dl ; kurangi DL senyak 1 loop maning ; akan menulang label maning sebanyak 25 kali int 20h End mulai

==================================== ============================

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Hasil program praktikum 3 : Mencetak karakter ABCDEFGHIJKLMNOPQRSTUVWXYYXWVUTSRQPONMLKJIHGFED CBA

Ket :looping atau perulangan ini sama dengan perintah jump.semua instruksi loop menggunakan register CX memiliki 16 bit dan nilai maksumum dapat mencangkau 65535. Praktikum 4 Program menampilkan karakter BDFHJLNPRTVXZ ========================================== ================================ .MODEL SMALL .Code org 100h mulai: mov ah,02h;service mencetak karakter mov dl,'B' mov cx,13 ;register untuk me-looping ulang: int 21h inc dl ;Tambah DL Sebanyak 1 inc dl Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

loop ulang ;Lompat ke label ulang int 20h ;service menghentikan program end mulai ========================================== ================================= Hasil program praktikum 4

Membuat Karakter Huruf menjadi BerwarnaTadi kita sudah bisa menampilkan beberapa karakter,dan sekarang kita akan mengmodif tampilan karakter tdi menjadi tulisan berwarna agar lebih menarik.dengan menggunakan register BL. Praktikum 5 Program tampilan karakter berwarna ========================================== ================================= .MODEL SMALL .CODE ORG 100h mulai: mov ah,09h ;service untuk mencetak kalimat mov al,'A' ;masukan A ke AL mov bl,00000001b ;service mengubah karakter menjadi berwarna mov cx,25 ;register untuk me-looping ulang: int 10h inc al ;tambah AL inc bl ;tambah BL loop ulang int 20h Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly end mulai ========================================== =================================

Hasil program praktikum 5

Membuat Warna BackgroundPraktikum 6 Program membuat warna background ========================================== ================================= .model small .code org 100h mulai: mov mov mov mov ah, 09h ;service untuk mencetak kalimat al, 'A bl, 01001101b ; service membuat baground warna cx, 10 ;looping senyak 10 kali

ulang: int 10h inc al loop ulang int 20h end mulai

;tambah AL ;lompat ke ulang

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly ========================================== ================================= Hasil Program Praktikum 6

Membuat Program dengan JMPPerintah JMP (jump) merupakan perintah yang digunakan untuk melompat daerah data progam. Praktikum 7 ========================================== =============================== .Model Small .Code org 100h mulai: jmp proses vkal db ' my love $ ' vkalr db 'is blink $ ' proses : mov ah,09h lea dx,vkal int 21h lea dx,vkalr int 21h int 20h end mulai ========================================== ================================= Hasil program Prktikum 7

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Ket : LEA : Perintah untuk mendapatkan alamat dari sebuah variable.. JMP: Perintah untuk melakukan lompatan ke label tertentu. DB (Define Byte) : suatu jenis data yang besarnya 1 byte

Program Pengoprasian AritmatikaPraktikum 8 ========================================== ================================= .model small .code org 100h proses : mov ah,15h;AH = 15 h mov al,4 ;AL= 4 add ah,al ;AH = AH + AL = 19h mov ax,1234h ;AX=1234 h CF=0 mov bx,0f221h ;BX=01221h add ax,bx ;AX=AX+BX=1234h+01221h =2455h mov bx,9ABCh ;BX=9ABCh CF=0 mov cx,5678h ;BX=5678h CF=0 mov dx,0DEF0h :DX=DEF0h CF=0 add cx,dx ;5678h+0DEF0h adc ax,bx ;1234h+9ABCh inc al int 20h end proses ========================================== ================================= Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Ket ; ADD , ADC dan INC digunakan untuk menambah. ADD Tujuan,Asal Mov ah,15h Mov al,4 Add ah,al ;ah=ah+al jadi AH=19h Dan pada ADD ini antara tujuan dan asal harus mempunyai daya tampung yang sama,jika AH =8bit dan AL=8bit , AX=16bit dan BX= 16 bit. Adapun hasil penjumlahan akan ditampung pada register AX:CX yaitu ACF13568h .adapun Flag-flag yang terpengaruh oleh perintah ADD dan ADC adalah CF,PF,AF,ZF,SF dan OF INC (increment)digunakan khusus untuk pertambahan dengan 1.

Membuat Program Password FLOWCHART

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

praktikum 9 ========================================== ================================= .Model Small .Code org 100h mulai: jmp proses vkal db 10, 'ENTER PASSWORD:',13,10,' $ ' vkalr db 13,10,'INCORECT $' vkals db 10, 'WELCOME GUYS ',10,' $' proses: mov ah,09h lea dx,vkal int 21h mov ah,08h int 21h cmp al,'Y' JE OK1 JNE NO1 Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

OK1: mov ah,02h mov dl,2Ah int 21h mov ah,08h int 21h cmp al,'O' JE OK2 JNE NO2 NO1: mov ah,09h lea dx,vkalr int 21h jmp proses OK2: mov ah,02h mov dl,2Ah int 21h mov ah,08h int 21h cmp al,'U' JE OK3 JNE NO3 NO2: mov ah,09h lea dx,vkalr int 21h jmp proses OK3: mov ah,02h mov dl,2Ah int 21h mov ah,08h int 21h cmp al,'R' JE OK4 JNE NO4 NO3: Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly mov ah,09h lea dx,vkalr int 21h jmp proses OK4: mov ah,02h mov dl,2Ah int 21h mov ah,09h lea dx,vkals int 21h int 20h NO4: mov ah,09h lea dx,vkalr int 21h jmp proses end mulai ========================================== ================================= Hasil program praktikum 9

KET: Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly LEA : Perintah untuk mendapatkan alamat dari sebuah variable.. JMP: Perintah untuk melakukan lompatan ke label tertentu. DB (Define Byte) : suatu jenis data yang besarnya 1 byte JE ( JUMP IF EQUAL ):Lompat ,jika operant1=operant 2 JNE (JUMP NOT EQUAL) :Lompat jika operant 1 tidak sama dengan operant 2

Membuat Program InputanPraktikum 10 ========================================== ================================= .Model Small .Code org 100h Proses : jmp mulai vkal db 13,' apakah anda sudah belajar :??(y/t) $ ' vkalr db 10, ' Berarti anda bisa memahaminya !! $ ' vkals db 10, ' sayang sekali belum !! $ ' Mulai : mov ah,09h lea dx,vkal int 21h mov ah,01h int 21h cmp al,'y' cmp al,'Y' Je ya JNE Tidak ya: mov ah,09h lea dx,vkalr int 21h int 20h Tidak: mov ah,09h lea dx,vkals int 21h int 20h Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly end proses ========================================== ================================= Hasil Program

Ket : Pada program diatas adalah suatu perbandingan yang apabila inputan yang diberikan berupa Y Maka akan mendeteksi yang sama dengan operant1 atau JE ya:Berarti anda bisa memahaminya!! tapi tidak berlaku jika yang kita masukan adalah y atau huruf-huruf yang lain maka hasilnya akan mendeteksi yang sekali belum !! Jika Inputan yang berikan adalah T maka akan mendeteksi JNE tidak. LEA : Perintah untuk mendapatkan alamat dari sebuah variable.. JMP: Perintah untuk melakukan lompatan ke label tertentu. DB (Define Byte) : suatu jenis data yang besarnya 1 byte JE ( JUMP IF EQUAL ):Lompat ,jika operant1=operant 2 JNE (JUMP NOT EQUAL) :Lompat jika operant 1 tidak sama dengan operant 2 CMP(COMPERE) :Digunakan untuk membandingkan antara operant 1dengan operant2. Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09 JNE tidak: sayang

Pemrograman Bahasa Assembly

Membuat program pencarian hurufPraktikum 11 ========================================== ================================= .Model Small .Code org 100h data: jmp mulai asal db 'widyautama ',13,10,'$' kata db 'masukan huruf yang dicari : ',13,10,' $' ket1 db 'Huruf ditemukan ',13,10,'$' ket2 db 'huruf tidak ditemukan ',13,10,' $' mulai: xor bx,bx ;cek panjang kalimat cek : mov al,asal [bx] ;pindahan asal [index] ke al inc bx cmp al,'$' jne cek dec bx mov cx,bx

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly xor bx,bx mov ah,9 mov dx,offset asal int 21h mov ah,2 mov dl,13 int 21h mov dl,10 int 21h mov ah,9 mov dx,offset kata int 21h mov ah,1 int 21h ulang: mov dl,asal [bx] inc bx cmp dl,'$' je salah cmp al,dl jne ulang jmp benar salah: mov ah,2 mov dl,13 int 21h Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly mov dl,10 int 21h mov ah,9 mov dx,offset ket2 int 21h jmp barisbaru benar: mov ah,2 mov dl,13 int 21h mov dl,10 int 21h mov ah,9 mov dx,offset ket1 int 21h jmp barisbaru barisbaru: mov ah,2 mov dl,13 int 21h mov dl,10 int 21h int 20h end data ========================================== ================================= Hasil program praktikum 11

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Program POP dan PUSHPop Dan Push dapat kita bayingkansebagai sebuah tabung yang panjang.sedangkan nilai pada register dapat dibayangkan berbentuk koin yang dimasukan dalam tabung tersebut.dan push itu sendiri diibaratkan kita sedang memasukan koin PUSH AX :Simpan nilai AX pada stack PUSH BX: Simpan nilai BX pada stack PUSH CX: Simpan nilai CX pada stack Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly Sedangkan POP akan mengambil koin nilai pada stack yang paling atas dan dimasukan pada register 16 bit .dari sini bisa kita lihat bahwa data terakhir dimasukan akan merupakan yang pertama dikeluarkan .Inillah sebanya operasi stack dinamakan LIFO ( Last In First Out ) Sebagai contoh untuk mengambil nilai dari register AX,BX dan CX yang disimpan pada stack harus dilakukan pada register CX dahulu brulah BX dan AX seperti : POPCX: Ambil nilai pada puncak stack,masukan ke CX POPBX: Ambil nilai pada puncak stack,masukan ke BX POPAX: Ambil nilai pada puncak stack,masukan ke AX Bila terbalik dalam menngambil nilai pada stack dengan POP AX kemudian POP BX dan POP CX,maka nilai yang akan didapatkan pada register AX,BX,CX akan terbalik. Praktikum 13 ========================================== ================================= .Model Small .Code org 100h mulai: mov ax,15 mov bx,80 add ax,bx mov bx,10 xor cx,cx ulang: xor dx,dx div bx push dx inc cx cmp ax,0 jne ulang cetak: pop dx add dl,'0' call cetak_k loop cetak int 20h cetak_k proc near Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly mov ah,02 int 21h ret cetak_k endp end mulai ========================================== =================================

Hasil Program

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Praktikum 14 ========================================== ================================= .Model Small .Code org 100h mulai: mov bl,10 mov al,14 div bl push ax ;simpan nilai ax pd stack mov dl,al add dl,30h mov ah,2 int 21h pop ax ;ambil nilai pada puncak stack masukan ke ax mov dl,ah mov ah,2 add dl,30h int 21h int 20h end mulai ========================================== ================================ Hasil program

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Praktikum 15 ========================================== ================================= .model small .code org 100h Tdata: jmp proses test_angka DW 345 Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly Proses: mov ax,test_Angka mov bx,10 xor cx,cx ulang: xor dx,dx div bx push dx inc cx cmp ax,0 jne ulang cetak: pop dx add dl,'0' mov ah,02 int 21h loop cetak int 20h end tdata ========================================== ================================= Hasil program

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Praktikum 16 ========================================== ================================= code segment assume cs:code org 100h start: jmp mulai tanya db 'hello','$' mulai: mov ah,09h mov dx,offset tanya int 21h mov ah,01h int 21h cmp al,'y' jne boot int 20h boot: int 18h code ends end start ========================================== ================================= Hasil program

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Praktikum 17 ========================================== ================================= .model small .code org 100h tdata: jmp res_kan pesan db 'dibelokan' noint equ 05h bag_res proc push ax push bx push dx push es push di push ds push si mov ax,1300h mov bl,01001111b mov bh,00h mov,20h mov dh,12h mov cx,44h push cx push es lea bp,pesan Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly 1nt 10h push si push ds push di push es push dx push cx push bx push ax bag_res endp res_kan : mov ah,25h mov al,noint lea dx,res_kan int 27h end tdata ========================================== =================================

Lampiran Code ASCII

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09

Pemrograman Bahasa Assembly

Ninik Yuliana TI / SIR200902 STMIK WIDYA UTAMA PURWOKERTO 09