Sedikit pengetahuan tentang Assembly

Khotiah
STI201200687


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Tahapan mendevelope sebuah software menggunakan bahasa assembly ;

Dalam pembuatan atau mendevelop sebuah software menggunakan bahasa assembly harus memperhatikan langkah-langkah berikut :
1. Buatlah flowchart dari algoritma yang akan digunakan dalam pembuatan software, yaitu maksudnya untuk mempermudah kita dalam menulis script. hal ini dikarenakan assembly merupakan bahasa pemrograman terstruktur.
2. Dalam penulisan script assembly kita bisa menggunakan teks editor seperti Notepad ++ atau lain sebagainya, dan filenya disimpan menggunakan ekstensi ASM , Contoh "assembly.asm" tanpa tanda " , dan pada Save as type pilih All files. karena jika tidak All files akan tetap berekstensi .exe  .
3. Kemudian untuk menjalankan file asm tersebut, kita membutuhkan kompiler untuk assembly. Dalam hal ini yang biasa dipakai adalah TASM (Turbo ASM dari Borland) dan MASM (Microsoft ASM).
4. Jika kita menggunakan TASM maka langakah yang dilakukan antara lain :
Jalankan TASM dalam Command Prompt, dan ketik perintah : tasm "nama file asm". 
Contoh : tasm assembly.asm
5. Kemudian lanjutkan dengan perintah link pada file OBJ hasil proses dari langkah di atas. ketik perintah : tlink  "nama file asm" /t
Contoh : tlink assembly /t
6. Setelah itu baru kita jalankan file hasil link tadi.  ketik perintah : "nama file asm"
Contoh : assembly 
lalu anda tekan enter



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Perbedaan linking file OBJ dengan menggunakan parameter /t dan tanpa menggunakan /t

Perbedaan ini terlihat di extensi programnya.
Jika menggunakan parameter /t, maka program tersebut akan ber-ekstensi [.com]. tetapi jika tanpa menggunakan /t, program tersebut akan ber-ekstensi [.exe]
Lalu apakah jika program berextensi .exe nantinya akan bermasalah?
menurut percobaan saya akan bermasalah.
berikut keterangan error yang di tampilkan :




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Cara running / menjalankan program assembly di linuk :
Buka terminal di linuk
Pastikan Anda berada di direktori yang sama dengan tempat Anda menyimpan program.asm. Untuk merakit program, jenis NASM-f elf program.asm
Jika ada kesalahan, NASM akan memberitahu Anda pada apa baris Anda melakukan apa yang salah.
Sekarang ketik ld-s-o halo program.o
Ini akan menghubungkan NASM file objek yang dihasilkan menjadi file executable.
Jalankan program anda dengan mengetikkan. / program
(Untuk menjalankan program / ??script di direktori saat ini, Anda harus selalu mengetik. / Sebelum nama, kecuali direktori saat ini di jalan.)



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Contoh program yang didalamnya terdapat looping :
mencetak karakter A s/d Z Z s/d A
.model small
.code
ORG 100h
mulai:
mov ah,02h;service cetak karakter
mov dl,65;dl=A
mov cx,26;26 kali
ulang:
int 21h;cetak karakter
inc dl;naikan nilai dl
loop ulang
mov ah,02
mov dl,90
mov cx,26
ulang1:
int 21h
dec dl
loop ulang1
int 20h; selesai
end mulai


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Apakah program assembly dapat mengatur setting hardware? 
 Insyaallah bisa 
Contohnya kita dapat mematikan (shutdown) komputer dengan program assembly.
berikut contoh programnya :


;Connect to APM API
MOV     AX,5301
XOR     BX,BX
INT     15

;Try to set APM version (to 1.2)
MOV     AX,530E
XOR     BX,BX
MOV     CX,0102
INT     15

;Turn off the system
MOV     AX,5307
MOV     BX,0001
MOV     CX,0003
INT     15

;Exit (for good measure and in case of failure)
RET



Previous
Next Post »