• Tidak ada hasil yang ditemukan

Laporan-Orkom - Bandingkan Dan Lompat

N/A
N/A
Protected

Academic year: 2021

Membagikan "Laporan-Orkom - Bandingkan Dan Lompat"

Copied!
17
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

LAPORAN PRAKTIKUM

ORGANISASI KOMPUTER & BAHASA ASSEMBLY

ORGANISASI KOMPUTER & BAHASA ASSEMBLY

BANDINGKAN

BANDINGKAN DAN LOMPA

DAN LOMPAT

T

K

Keellaass : : IINNF F 22B B PPrraakkttiikk! ! "" N

Naa!!aa : : MMii##$$aaeel l %%lls s ''( ( MM(( NIM

NIM : : %)'"")*)+%)'"")*)+

PROGRAM KEAHLIAN MANA%EMEN INFORMATIKA

PROGRAM KEAHLIAN MANA%EMEN INFORMATIKA

DIREKTORAT

DIREKTORAT PROGRAM DI

PROGRAM DIPLOMA

PLOMA

INSTITUT P

INSTITUT PERT

ERTANIAN BOGOR 

ANIAN BOGOR 

BOGOR 

BOGOR 

2*",

2*",

(2)

KATA PENGANTAR 

Puji dan Syukur Penulis Panjatkan ke Hadirat Tuhan Yang Maha Esa karena berkat limpahan Rahmat dan Karunia-Nya sehingga penulis dapat menyusun laporan ini tepat pada aktunya! "aporan ini membahas mengenai #Pointer$!

%alam penyusunan laporan ini& penulis banyak mendapat tantangan dan hambatan akan tetapi dengan bantuan dari berbagai pihak tantangan itu bisa teratasi! 'lehnya itu& penulis mengu(apkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dalam penyusunan makalah ini& semoga bantuannya mendapat balasan yang setimpal dari Tuhan Yang Maha Esa!

Penulis menyadari baha laporan ini masih jauh dari kesempurnaan baik dari bentuk   penyusunan maupun materinya! Kritik konstrukti) dari pemba(a sangat penulis harapkan untuk   penyempurnaan makalah selanjutnya!

*khir kata semoga laporan ini dapat memberikan man)aat kepada kita sekalian!

+ogor& , %esember .,/

Penulis

(3)

DAFRAR ISI

KATA PENGANTAR2

DAFRAR II 3

I.

T!J!AN PERC"#AAN

$

II.

TE"RI PEN!NJANG

%

&"MPAT TANPA 'ARAT %

MEM#ANDINGKAN DENGAN CMP

%

&"MPAT 'ANG MENGIK!TI CMP

(

&"MPAT #ER'ARAT

)

III.

T!GA PENDA*!&!AN 11

I+.

&ITING PR"GRAM

12

+.

ANA&IA PR"GRAM

13

+I.

PEN!T!P

1%

KEIMP!&AN

1%

ARAN

1%

+II.

DAFTAR P!TAKA 1(

(4)

I(

TU%UAN PER'OBAAN

Tujuan dari praktikum ini adalah agar mahasisa dapat0

"( Memahami serta mengetahui berbagai ma(am tipe data di dalam bahasa assembly&

2( Mengetahui bagaimana komputer menyimpan suatu nilai di dalam memori&

)( Mengetahui bagaimana (ara untuk menggunakan pointer&

,( Mengetahui bagaimana (ara memanipulasi data dengan menggunakan berbagai ma(am gerbang logika!

-( Mengetahui bagaimana (ara menggunakan addressing modes sesuai dengan kebutuhan!

II(

TEORI PENUN%ANG

(5)

o LOMPAT TANPA SYARAT

Perintah 1MP 21ump3& sudah pernah kita gunakan& dimana perintah ini digunakan untuk  melompati daerah data program! Perintah 1MP digunakan dengan synta40

1MP Tujuan

Perintah 1MP ini dikategorikan sebagai 5n(onditional 1ump& karena perintah ini tidak  menyeleksi keadaan apapun untuk melakukan suatu lompatan! Setiap ditemui perintah ini maka lompatan pasti dilakukan!

Selain dari perintah jump tanpa syarat& masih banyak perintah 1ump yang menyeleksi suatu keadaan tertentu sebelum dilakukan lompatan! Perintah jump dengan penyeleksian kondisi terlebih dahulu biasanya diikuti dengan perintah untuk melihat kondisi& seperti membandingkan dengan perintah 67MP627ompare3!

o MEMBANDINGKAN DENGAN 'MP

Perintah 7MP 27ompare3 digunakan untuk membandingkan . buah operand& dengan synta40

7MP 'perand/&'perand.

7MP akan membandingkan operand/ dengan operand. dengan (ara mengurangkan operand/ dengan operand.! 7MP tidak mempengaruhi nilai 'perand/ dan 'perand.& perintah 7MP hanya akan mempengaruhi )lags register sebagai hasil perbandingan! *dapun )lag-)lag yang terpengaruh oleh perintah 7MP ini adalah0

- '8 akan /& jika operand/ lebih ke(il dari operand. pada operasi bilangan bertanda

- S8 akan /& bila operand/ lebih ke(il dari operand.& pada operasi bilangan bertanda

- 98 akan /& jika operand/ nilainya sama dengan operand.

- 78 akan /& jika operand/ lebih ke(il dari operand. pada operasi bilangan tidak bertanda

Perlu anda ingat baha 7MP tidak dapat membandingkan antar . lokasi memori!

(6)

o LOMPAT YANG MENGIKUTI 'MP

Perintah 7MP yang hanya mempengaruhi )lag register& umumnya diikuti dengan perintah lompat yang melihat keadaan pada )lags register ini! 1enis perintah lompat yang biasanya mengikuti perintah 7MP& terdapat /. buah seperti pada Tabel /:!/!

Pada Tabel /:!/! terlihat baha terdapat dua operasi yang berbeda& yaitu operasi bilangan  bertanda dan tidak bertanda! +ilangan bertanda adalah bilangan yang akan membedakan  bilangan negati) dan positi)2Mis! :; dan -:;3! Sedangkan bilangan tidak bertanda adalah  bilangan yang tidak akan membedakan positi) dan negati)& jadi angka -/ untuk operasi bilangan  bertanda akan dianggap 88h pada bilangan tidak bertanda! "ebih jauh mengenai bilangan  bertanda dan tidak ini bisa anda lihat pada +*+ <!

Ta.el ")("( Peri/ta$ %!0 a/1 !e/1ikti 'MP

NO

( PERINTAH LOMPAT KONDISI

/ %A=1ump <) *bo>e? "ompat& jika 'perand/ ? 'perand. untuk bilangan tidak  bertanda

. %G=1ump <) @reater? "ompat& jika 'perand/ ? 'perand. untuk bilangan bertanda

: %E=1ump <) EAual? "ompat& jika 'perand/ B 'perand.

 %NE=1ump <) Not EAual? "ompat& jika 'perand/ tidak sama dengan 'perand.

C %B=1ump <) +elo? "ompat& jika 'perand/ = 'perand. untuk bilangan tidak  bertanda

D %L=1ump <) "ess? "ompat& jika 'perand/ = 'perand. untuk bilangan bertanda

; %BE =1ump <) +elo or  EAual?

"ompat& jika operand/ =B 'perand. untuk bilangan tidak  bertanda

 %LE =1ump <) "ess or EAual? "ompat& jika 'perand/ =B 'perand. untuk bilangan bertanda

F %AE =1ump <) *bo>e or "ompat& jika 'perand/ ?B 'perand. untuk bilangan tidak  Michael Julyus C. M. | J3C113038 (

(7)

EAual? bertanda

/, %GE =1ump <) @reater or  EAual?

"ompat& jika 'perand/ ?B 'perand. untuk bilangan bertanda

Me/11/aka/ Peri/ta$ L!0at Bersarat

+ila program /:!/! dijalankan& maka akan tampak pada layar0

+ilangan * lebih besar dari bilangan +

*nda bisa mengganti nilai pada >ariabel Bil A dan Bil B untuk melihat hasil yang akan ditampilkan pada layar!

o LOMPAT BERSYARAT

Pada gambar /:!/! anda telah melihat sebagian dari perintah lompat bersyarat! Kini akan

(8)

kita lihat lompat bersyarat lainnya yang tersedia& seperti pada gambar /:!.! Tidak seperti lompat tanpa syarat& "ompat bersyarat hanya dapat melompat menuju label yang berjarak -/. sampai G/.; byte dari tempat lompatan!

Ta.el ")(2( Da3tar Peri/ta$ %!0

NO

( PERINTAH LOMPAT KONDISI

/ %A=1ump <) *bo>e? "ompat& jika 'perand/ ? 'perand.& untuk bilangan tidak    bertanda

. %G=1ump <) @reater? "ompat& jika 'perand/ ? 'perand.& untuk bilangan  bertanda

: %E=1ump <) EAual? "ompat& jika 'perand/ B 'perand.

 %NE=1ump <) Not EAual? "ompat& jika 'perand/ tidak sama dengan 'perand.

C %B=1ump <) +elo? "ompat& jika 'perand/ = 'perand.& untuk bilangan tidak    bertanda

D %L=1ump <) "ess? "ompat& jika 'perand/ = 'perand.& untuk bilangan  bertanda

; %BE =1ump <) +elo or EAual? "ompat& jika operand/ =B 'perand.& untuk bilangan tidak bertanda

 %LE =1ump <) "ess or EAual? "ompat& jika 'perand/ =B 'perand.& untuk bilangan  bertanda

F %AE=1ump <) *bo>e or EAual? "ompat& jika 'perand/ ?B 'perand.& untuk bilangan tidak bertanda

/, %GE=1ump <) @reater or EAual? "ompat& jika 'perand/ ?B 'perand.& untuk bilangan  bertanda

// %' =1ump 7arry? "ompat& jika 7arry )lagB/

(9)

/. %'45 =1ump <) 7 is 9ero? "ompat& jika 7B,

/: %NA =1ump <) Not *bo>e? "ompat& j ika 'perand/ = 'perand. d engan 7 8B/ a tau 98B/

/ %NAE =1ump <) Not *bo>e nor  EAual?

"ompat& jika 'perand/ = 'perand. dengan 7B/

/C %NB =1ump <) Not +elo? "ompat& jika 'perand/ ? 'perand. dengan 78B, /D %NBE =1ump <) Not +elo nor 

EAual?

"ompat& jika 'perand/ ? 'perand. dengan 78B, dan 98B,

/; %N' =1ump <) No 7arry? "ompat& jika 78B,

/ %NG =1ump <) Not @reater? "ompat& jika 'perand/ =B 'perand. dengan 98B/ atau S8 tidak sama '8

/F %NGE =1ump <) Not @reater Nor  EAual?

"ompat& jika 'perand/ =B 'perand. dengan S8 tidak  sama '8

., %NL =1ump <) Not "ess? "ompat& jika 'perand/ ?B 'perand. dengan S8B'8 ./ %NLE =1ump <) Not "ess Nor EAual? "ompat& jika 'perand/ ? 'perand. dengan 98B, dan

S8B'8

.. %NO =1ump <) No '>er)lo? "ompat& jika tidak terjadi tidak terjadi '>er)lo .: %NP =1ump <) Not Parity? "ompat& jika @anjil

. %NS =1ump <) No Sign? "ompat& jika S8B, .C %N5 =1ump <) Not 9ero? "ompat& jika tidak , .D %O =1ump 'n '>er)lo? "ompat& jika '8B/ .; %P =1ump 'n Parity? "ompat& jika @enap . %PE =1ump <) Parity E>en? "ompat& jika P8B/ .F %PO =1ump <) Parity 'dd? "ompat& jika P8B, :, %S =1ump 'n Sign? "ompat& jika S8B/

(10)

:/ %5 =1ump <s Iero? "ompat& jika ,

+ila dilihat pada Tabel /:!.!& perintah untuk lompat sebenarnya sangat mudah untuk  digunakan karena setiap huru) melambangkan suatu kata! %engan demikian kita tidak perlu untuk mengingat-ingat semua perintah diatas& kita hanya harus ingat baha huru) 1B1ump& EBEAual& NBNot& SBSign& 9B9ero& PBParity& 'B'>er)lo& 7B7arry& @B@reater Than& *B*bo>e& "B"ess dan +B+elo!

7atatan0

Huru) @ dan " yang artinya Greater Than  dan  Less  digunakan khusus untuk operasi  bilangan bertanda! Sedangkan Huru) * dan + yang artinya *bo>e dan +elo digunakan khusus

untuk operasi bilangan tidak bertanda!

Pr1ra! ")(2( Per.a/6i/1a/ karakter

+ila program /:!.! dijalankan& maka pada layar akan ditampilkan0

(11)

Teknik Komputer <P+

The +est %iplome in <P+ !!!!JJ

*ngka ; pada akhir kalimat digunakan untuk menghasilkan suara beep! +ila anda masih ingat pada addressing mode  yang telah kita pelajari& maka program /:!.! tentunya tidak ada masalah!

(12)

III(

TUGAS PENDAHULUAN

/! +uatlah program asssembly yang dapat men(etak kalimat #M*N*1EMEN <N8'RM*T<K*$ jika menekan tombol spasi pada keyboard

1aab0

(13)

I7(

LISTING PROGRAM

/!

(14)

7(

ANALISA PROGRAM

M6el SMALL

Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita!

('ODE

Tanda directive ini digunakan untuk memberitahukan kepada assembler baha kita akan mulai menggunakan 7ode Segment-nya disini! 7ode segment ini digunakan untuk menyimpan  program yang nantinya akan dijalankan!

ORG "**$

Pada program 7'M perintah ini akan selalu digunakan! Perintah ini digunakan untuk  memberitahukan assembler supaya program pada saat dijalankan 2diload ke memory3 ditaruh mulai pada o))set ke /,,h 2.CD3 byte! %apat dikatakan juga baha kita menyediakan /,,h byte kosong pada saat program dijalankan! /,,h byte kosong ini nantinya akan ditempati oleh PSP 2 Program Segment Prefix3 dari program tersebut! PSP ini digunakan oleh %'S untuk mengontrol  jalannya program tersebut!

INT 2*$

Perintah <NT adalah suatu perintah untuk menghasilkan suatu interupsi dengan synta40

<NT No<nt

(15)

<nterupsi .,h ber)ungsi untuk mengakhiri program dan menyerahkan kendali sepenuhnya kepada %os! Pada program 7'M (ara ini bukanlah satu-satunya tetapi (ara inilah yang paling e)ekti) untuk digunakan! +ila anda lupa untuk mengakhiri sebuah program maka program anda tidak akan tahu kapan harus selesai& hal ini akan menyebabkan komputer menjadi hang!

/!

A/alisa:

Pada listing di atas& Kal bernilai #M*N*1EMEN <N8'RM*T<K*$& kemudian agar dapat menginputkan karakter& digunakan interupsi <NT /Dh! <nterupsi ini digunakan agar dapat memba(a karakter yang diinputkan oleh user! Kemudian setelah mendapatkan inputan dari user& selanjutnya akan menghasilkan nilai he4adesimal di register * atas karakter yang telah diinputkan oleh user! Kemudian bandingkan nilai yang ada di register * dengan nilai :F.,h dengan menggunakan synta4 7MP *& :F.,h! Nilai :F.,h digunakan sebagai nilai  perbandingan karena karakter spasi akan menghasilkan nilai :F.,h di register *! Selanjutnya digunakan synta4 1E yaitu proses yang akan melompat jika nilai di register * juga bernilai :F.,h dan digunakan synta4 1NE yaitu proses yang akan melompat jika nilai di register *

(16)

tidak bernilai :F.,h! 1adi& jika ketika program dijalankan dan user menginputkan karakter selain spasi& maka proses selanjutnya adalah lompat ke E4it& yaitu mengakhiri program dan menyerahkan kendali sepenuhnya kepada %os dengan menggunakan interupsi <NT .,h lalu akhiri program dengan perintah EN% Proses! Tetapi jika user menginputkan spasi 2menekan tombol spasi3& maka proses berikutnya akan langsung lompat ke "akukan& yaitu mendapatkan nilai K*" yang bernilai #M*N*1EMEN <N8'RM*T<K*$ dengan menggunakan synta4 "E* %& K*"! "alu gunakan nilai ser>is untuk men(etak kalimat dengan menggunakan synta4 M' *H& ,Fh! Kemudian selanjutnya adalah mengakhiri program dan menyerahkan kendali sepenuhnya kepada %os dengan menggunakan interupsi <NT .,h lalu akhiri program dengan  perintah EN% Proses!

7I(

PENUTUP

o KESIMPULAN

%ari program-program di atas& dapat disimpulkan baha dalam bahasa *ssembly& kita dapat meleati beberapa synta4 dengan (ara melompat langsung ke proses yang dituju dengan (ara menggunakan perintah 15MP! Perintah lompat yang kita gunakan di sini adalah perintah lompat  bersyarat! 7ontohnya yaitu perintah lompat yang mengiktuti 7MP! Selain itu juga terdapat  perintah lompat bersyarat lainnya yang dapat kita gunakan& yaitu 1*& 1@& 1E& 1NE& 1+& 1"& 1+E& 1"E& 1*E& 1@E& 17& 179& 1N*& 1N*E& 1N+& 1N+E& 1N7& 1N@& 1N@E& 1N"& 1N"E& 1N'& 1NP& 1NS& 1N9& 1'& 1P& 1PE& 1S& dan 19 dengan berbagai kondisi yang kita perlukan dan gunakan sesuai dengan yang kita butuhkan!

(17)

o SARAN

Sebelum menggunakan perintah lompat& sebaiknya dianalisa telebih dahulu perintah lompat yang mana yang merupakan perintah lompat yang benar yang kita butuhkan sehingga  proses lompat tersebut dapat berjalan dengan baik tanpa terjadi kesalahan!

7II(

DAFTAR PUSTAKA

Suheri& *sep& ST& MT!  Modul Praktikum Organisasi Komuter ! Bahasa Assembl"! .,/.! +ogor0 Program %iploma <nstitut Pertanian +ogor!

Referensi

Dokumen terkait

Membentuk model dengan ARIMA, Time Series Regression dan ARIMAX sehingga diperoleh model terbaik untuk meramalkan data inflow dan outflow uang kartal Bank

Kemudian, perubahan juga terjadi karena adanya sebab serta tujuan dari masing-masing perubahan, seperti tokoh Asih yang memiliki visualisasi berbeda antara novel dan

Lampiran Surat Keputusan Ketua Senat Mahasiswa Fakultas Kedokteran Universitas Katolik Indonesia Atma Jaya Nomor: 022/SK/SM-FKUAJ/V/2017 tertanggal 11 Mei 2017.

Sedangkan penelitian diatas mengkategorikan komunikasi sebagai salah satu faktor yang berhubungan dengan kemampuan mahasiswa profesi ners dalam menjalin hubungan

Garis-Garis Besar Haluan Organisasi Ikatan Senat Mahasiswa Farmasi Seluruh Indonesia (ISMAFARSI) adalah pedoman dalam melaksanakan kegiatan-kegiatannya yang dirumuskan

Pemberian paklobutrazol pada dosis tersebut juga meningkatkan jumlah bunga, jumlah buah, namun menurunkan fruit-set, lebih cepat munculnya bunga durian dan

Agar harapan dalam investasi dapat tercapai, maka sebelum melakukan investasi di pasar modal, investor akan mengumpulkan sebanyak mungkin informasi yang berguna

Angka Beban Tanggungan adalah angka yang menyatakan perbandingan antara banyaknya orang yang tidak produktif (umur di bawah 15 tahun dan umur 65 tahun ke atas) dengan