Belajar Assembly--> bilangan ganjil

Assalamualaikum warahmatullahi wabaahkatuh

Kali ini saya akan sedikit berbagi ilmu tentang Bahasa pemrograman Assembly.
Pada kesempatan ini saya akan memberi contoh program membangkitkan 50 data bilangan cacah ganjil dari 1, yang terletak pada memori 1900h

Langsung saja lanjut ke algoritma
Buat cacahan jumlah data dengan 50 di Register C
Set alamat awal tempat simpan data di 1900h di register DI
Set data awal sama dengan 1 di register A
Simpan data di Reg.A ke memori tempat simpan data DI
Jumlahkan data yang ada pada Reg.A dengan 2
Naikkan nilai pencatat alamat Reg.DI satu alamat
Kurangi data cacahan Reg.C dengan 1
Lihat apakah nilai cacahan Reg C sama dengan 0, jika tidak kembali kembali kelangkah ke 4
Berhenti

Flow chart



Program:
1. org 100h
2. mov cx,32h       ;50
3. mov di,1900h   ; alamat memori
4. mov ax,1h
5. ulang:
6. mov [di],ax
7. inc di
8. add ax,2
9. dec cx
10. cmp cx,0
11. jne ulang
ret


- (org 100h) Org 100h digunakan untuk original program / program .com harus menggunakan
- (mov cx,32h) Mov pada code ini digunakan untuk memindahkan nilai 32h(50) ke Reg C

- (mov di,1900h) Set awal penyimpanan data di memori 1900h pada register di

- (mov ax,1h) Memindahkan nilai 1 ke Reg Ax

- (mov [di],ax) Memindahkan data yang ada di Red.Ax ke Reg.di

- (inc di) menaikkan nilai pencatat alamat Reg.DI satu alamat

- (add ax,2) Jumlahkan nilai yang ada di Reg.Ax dengan 2

- (dec cx) Kurangkan satu nilai yang ada di Reg.cx

- (cmp cx,0) Bandingkan nilai yang ada di Reg.cx dengan 0

- (jne ulang) Jika nilai yang yang ada di Reg.cx tidak sama dengan 0 maka lompat ke program ulang:, jika sama maka program lanjut ke line selanjutnya.


Hasil:




Kalau ingin membangkitkan nilai genap maka tinggal di ubah saja nilai yang dipindahkan di Reg. ax menjadi 2h…
Silah kan di coba….
kalau ada yang mau ditanya silahkan langsung tanya saja....hehehe

Comments

Post a Comment

Popular posts from this blog

Menggunakan Driver Motor IBT-2 BTS7960 dengan arduino

Register-Register pada CPU--> Arsitektur komputer

Komunikasi Serial pada Arduino