P. 1
Pemrograman Bahasa Assembly

Pemrograman Bahasa Assembly

4.89

|Views: 24,082|Likes:
Published by Affandy
Edisi Online dari pemrogrman bahasa assembly ditulis oleh S'to (sto@poboxes.com)

Bahasan bahasa "susah" yang disajikan dengan sangat ringan, cocok buat reader yang baru belajar bahasa assembly. Sebagai saran silahkan reader belajar terlebih dahulu mengenai sistem bilangan, konsep kerja dan organisasi komputer (terutama kerja processor), dan sedikit algoritma.

Kunci tambahan buat belajar assembly adalah "have fun" karena memprogram dalam assembly hampir sama dengan main puzzle :) trus "sabar" soalnya environmentnya yang serba minim (tapi maskulin lho) bikin beberapa programmer yang sudah terbiasa dengan developer yang multi fitur jadi agak mudah sewot.

selamat belajar
.: Affandy :.

mas_affandy@yahoo,com


mas_affandy
Edisi Online dari pemrogrman bahasa assembly ditulis oleh S'to (sto@poboxes.com)

Bahasan bahasa "susah" yang disajikan dengan sangat ringan, cocok buat reader yang baru belajar bahasa assembly. Sebagai saran silahkan reader belajar terlebih dahulu mengenai sistem bilangan, konsep kerja dan organisasi komputer (terutama kerja processor), dan sedikit algoritma.

Kunci tambahan buat belajar assembly adalah "have fun" karena memprogram dalam assembly hampir sama dengan main puzzle :) trus "sabar" soalnya environmentnya yang serba minim (tapi maskulin lho) bikin beberapa programmer yang sudah terbiasa dengan developer yang multi fitur jadi agak mudah sewot.

selamat belajar
.: Affandy :.

mas_affandy@yahoo,com


mas_affandy

More info:

Published by: Affandy on Sep 01, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/04/2014

pdf

text

original

Untuk menghasilkan suatu frekwensi yang tidak terpengaruh oleh kecepatan

komputer, bisa dilakukan dengan memrogram timer yang digunakan oleh

speaker ini. Frekwensi yang dihasilkan dengan menggunakan tetapan waktu akan

lebih mudah dihasilkan dan lebih tepat.

PIT merupakan suatu timer yang dapat

diprogram. Keluaran dari PIT ini digunakan antara lain oleh detik jam

waktu(IRQ0) dan RAM dinamik untuk me-refresh dirinya. Keluaran ketiga (OUT2)

dari PIT untuk menghasilkan sinyal gelombang persegi yang digunakan oleh

speaker.

Karena frekwensi yang dihasilkan oleh PIT ini dapat diatur melalui

software maka dapat dimanfaatkan untuk membentuk nada pada speaker.

Untuk memrogram timer ini, pertama-tama kita harus mengirimkan

nilai B6h pada port 43h. Pengiriman nilai ini akan menyebabkan port 42h siap

untuk menerima nilai 16 bit untuk dijadikan tetapan perhitungan.

Untuk nilai counter yang diberikan pada port 43h ini digunakan rumus :

Counter = 123540h / Hz Hz=

Hasil dari perhitungan ini kemudian dimasukkan kedalam timer melalui

port 42h dan akan disimpan dalam regiser internal 16 bit. Tetapi karena Timer

ini hanya mempunyai 8 bit masukan maka kita tidak bisa memasukkan 16 bit

sekaligus. Hal ini dapat anda bayangkan sebagai suatu kamar yang dapat

menampung 2 orang tetapi pintunya hanya dapat dilalui oleh 1 orang. Untuk itu

masukkanlah byte rendahnya terlebih dahulu kemudian masukkan byte tingginya.

Setelah timer diprogram, maka speaker tinggal diaktifkan untuk

menghasilkan frekwensi yang sesuai dengan timer. Secara teori frekwensi yang

dapat dihasilkan berupa 1 Hz - 1,193 Mhz (bandingkan dengan kemampuan dengar

manusia 20 Hz - 20 Khz).

Dengan frekwensi yang tepat, sebenarnya banyak hal yang dapat kita

lakukan. Kita dapat saja membuat program Pengusir Nyamuk ataupun program

pengusir Burung dan Tikus. Binatang- binatang ini biasanya takut pada

frekwensi yang tinggi seperti frekwensi 20 Khz - 40 Khz. Untuk mengusir nyamuk

frekwensi 25 Khz sudah memadai, tetapi bila anda ingin mengusir tikus

sebaikkan frekwensinya dibuat suatu layangan. Artinya frekwensi yang

dihasilkan diubah-ubah antara 20 Khz - 40 Khz.

NoPCsound MACRO

IN AL,61h ; Ambil data Port 61h

124

AND AL,0FCh ; Matikan bit ke 6 & 7
OUT 61h,AL ; Masukkan nilainya pada Port 61h
ENDM

PCsound MACRO Hz

MOV AL,0B6h ;
OUT 43h,AL ; Persiapkan Timer

MOV DX,0012h ;
MOV AX,3540h ; Bagi 123540H dengan frekwensi
MOV BX,Hz ; yang akan dihasilkan.
DIV BX ; < 123540:Hz > , hasil pada AX

OUT 42h,AL ; Masukkan byte rendah dahulu.
MOV AL,AH ; Port hanya dapat melalui AL/AX
OUT 42h,AL ; Masukkan byte tingginya.

IN AL,61h ; Ambil data port 61h
OR AL,03 ; Jadikan Bit ke 6 & 7 menjadi 1
OUT 61h,AL ; Bunyikan speaker
ENDM

;/=========================================================\;
; Program : NYAMUK.ASM ;
; Author : S’to ;
; Fungsi : membunyikan speaker dan mengatur ;
; frekwensinya melalui Timer. ;
; Frekwensi yang dihasilkan dapat ;
; digunakan untuk mengusir nyamuk ;
;\=========================================================/;

.MODEL SMALL
.CODE
ORG 100h

Proses :

PCsound 25000 ; Frekwensi untuk mengusir nyamuk.

MOV AH,00
INT 16h ; Readkey

NoPCsound ; Matikan suara.
INT 20h ; selesai

END Proses

Program 21.2. Pengontrolan speaker dan timer

Frekwensi yang dihasilkan pada program 21.2. tidak akan terdengar, oleh

karena itu bila anda ingin mendengar suatu frekwensi cobalah ubah nilai 25000

dengan nilai 20 - 20000.

125

BAB XXII

PROGRAM BERPARAMETER

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->