BAB II LANDASAN TEORI 2.1 TEORI MODUL
Program 4. Operasi XOR .MODEL SMALL ORG 100H
4.1 HASIL PENGUJIAN .1 Percobaan 1
4.1.6 Percobaan 6
Dennis Auldentio Wenas 202011359 4.2 ANALISA PEMBAHASAN
Pada Modul III ini membahas Operasi Logika Dan Manipulasi Bit dengan tujuan Memahami perintah dan proses operasi logika pada mikroprosesor, Dapat melakukan operasi logika NOT, AND, OR dan XOR pada mikroprosesor, Memahami perintah dan proses operasi manipulasi bit pada mikroprosesor, dan Dapat melakukan manipulasi bit geser kiri dan geser kanan. Pada Operasi logika di praktikum ini menggunakan 4 gerbang, yaitu yang pertama adalah Gerbang Not, And, OR dan XOR. Gerbang Not adalah operator pembalik atau sebagai inverter dimana ketika inputkan nilai satu maka outputnya akan bernilai nol, pada operati NOT akan disimpan pada tujuan sebagai contoh nilai AL, 3Fh akan menghasilkan nilai C0h bagi AL. kemudian Gerbang AND dimana operator AND akan menghasilkan nilai nol bila kedua operandnya bernilai satu, setiap bit yang di AND dengan O pasti akan menghasilkan bit O juga, sedangkan setiap bit yang di AND dengan 1 akan menghasilkan bit itu sendiri. Kemudian Gerbang OR dimana Operator logika OR akan menghasilkan nilai nol bila kedua operannya bernilai nol dan satu nila salah satunya bernilai satu, jadi setiap bit yang di OR dengan O pasti menghasilkan bit itu sendiri sedangkan setiap bit yang di OR dengan 1 pasti menghasilkan 1. Dan Gerbang XOR dimana pada operator XOR akan menghasilkan nol untuk dua nilai yang sama nilainya dan satu untuk yang berbeda, jadi setiap bilangan yang diXOR dengan bilangan yang sama pasti menghasilkan bilangan nol. Kemudian dimodul ini membahas tentang Manipulasi Bit adalah Tindakan memanipulasi atau menggeser atau operan secara bit , perintah untuk memanipulasi bit disini ada dua yaitu. Ada Perintah SHL (Shift Left) dimana Operator SHL akan menggeser operand sat uke kiri sebanyak operand-operand secara per bit. Kemudian bit kosong yang telah tergeser disebelah kanannya akan diberi nilai nol dan ada SHR (Shift Right) dimana Operand ke kanan sebanyak operand -operand secara bit dan menambahkan nilai nol pada bit yang tergeser seperti halnya pada operator SHL.
Pada Program 1 ini adalah Program Gerbang NOT , dengan menggunakan header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL
Dennis Auldentio Wenas 202011359 SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain, intStart disini sebagai label.
Kemudian ada MOV AL, 3FH dimana nilai 3 FH ini disimpan diregister AL, kemudian ada NOT AL dimana NOT disini sebagai inverter atau pembalik jadi nilai 3FH yang disimpan di register AL akan di NOT kan. Untuk lebih memudahkan nilai 3FH yang adalah nilai heksadesimal ini diubah menjadi bilangan binner , nilai binnernya adalah 00111111 kemudian nilainya di NOTkan maka hasilnya adalah 1100 0000 atau bilangan heksadesimalnya C0.
Jadi NOT dari 3F adalah C0 dan nilainya masuk pada register AL.
Program 2 disini adalah Program Gerbang AND atau program pengali dimana dengan menggunakan header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain. Start disini sebagai label. Kemudian ada MOV AL, 3FH dimana nilai 3 FH ini disimpan diregister AL, kemudian MOV BL dimana nilai 5Bh akan dimasukkan pada register BL, dan ada AND AL.BL dimana disini kita akan AND kan nilai AL dan BL . Untuk lebih memudahkan nilai 3FH yang adalah nilai heksadesimal ini diubah menjadi bilangan binner , nilai binnernya adalah 00111111 dan nilai 5Bh yang adalah nilai heksadesimal diubah menjadi nilai binner, nilai binnernya adalah 01011011. kemudian nilainya dari AL dan BL di ANDkan atau dikalikan maka hasilnya adalah 0001 1011 dan nilai heksadesimalnya 1B. Jadi nilai AND AL , BL yaitu 00011011 atau 1B.
Program 3 adalah Program OR atau penjumlahan, Program 2 disini adalah Program Gerbang AND atau program pengali dimana dengan menggunakan
Dennis Auldentio Wenas 202011359 header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain. Start disini sebagai label.
Kemudian ada MOV AL, 3FH dimana nilai 3 FH ini disimpan diregister AL, kemudian MOV BL dimana nilai 5Bh akan dimasukkan pada register BL, dan ada OR AL.BL dimana disini kita akan ORG kan nilai AL dan BL . Untuk lebih memudahkan nilai 3FH yang adalah nilai heksadesimal ini diubah menjadi bilangan binner , nilai binnernya adalah 00111111 dan nilai 5Bh yang adalah nilai heksadesimal diubah menjadi nilai binner, nilai binnernya adalah 01011011. kemudian nilainya dari AL dan BL di ORkan atau dijumlahkan maka hasilnya adalah 0111 1111 dan nilai heksadesimalnya 1B. Jadi nilai OR AL , BL yaitu atau 7F.
Program 4 adalah Program XOR atau penjumlahan, Program 2 disini adalah Program Gerbang AND atau program pengali dimana dengan menggunakan header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain. Start disini sebagai label.
Kemudian ada MOV AX, 0A12H dimana nilai 0A12H ini disimpan diregister AX, kemudian ada XOR AX.AX dimana disini kita akan XOR kan nilai dari register AX dan register AX . Untuk lebih memudahkan nilai 3FH yang adalah nilai heksadesimal ini diubah menjadi bilangan binner , nilai binnernya adalah 0000 1010 0001 0010. Kemudian nilainya dari AX dan AX dam di XORkan atau dijumlahkan maka hasilnya adalah 0000 0000 0000 0000 maka untuk nilai heksadesimalnya 0000H. Jadi nilai XOR AX , AX yaitu atau 0000H, nilai 0
Dennis Auldentio Wenas 202011359 disini dikarenakan nilai input operand 1, dan operand 2. Dam ada INT 20h merupakan intrupt untuk mengakhiri program dan Kembali ke system DOS dan END Start untuk mengakhiri dari label Start pad aprogram.
Pada percobaan ke 5 yaitu Operasi SHL , Operator SHL akan menggeser operand 1 ke kiri sebanyak operand2 secara per bit. menggunakan header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain. Start disini sebagai label.
Kemudian ada MOV AL, 3FH dimana nilai 3 FH ini disimpan diregister AL, kemudian MOV CL dimana nilai 3 akan dimasukkan pada register CL, dan ada SHL AX.BL dimana perintah ini menggeser nilai 3FH kearah kiri sebanyak 3 kali. Sebelumnya 3FH di ubah ke bilangan binner yaitu nilainya 0000 0000 0011 1111 kemudian dengan perintah SHL maka nilai tersebut digeser ke kiri.
Pergeseran pertama menjadi 0000 0000 0111 1110 atau 007EH, pergeseran ke dua menjadi 0000 0000 1111 1100 atau 00FCH, dan pergeseran ketiga yaitu 0000 001 1111 1000 atau 01F8H.
Pada percobaan ke 6 yaitu Operasi SHR , Operator SHR akan menggeser operand! ke kanan sebanyak operand2 secara per bit dan menambahkan nilai nol pada bit yang tergeser seperti halnya pada operator SHL. menggunakan header .MODEL SMALL, .ORG 100 H , dan .CODE dimana .MODEL SMALL itu adalah untuk memberitahukan kepada Assembler bentuk memori yang digunakan pada program kita yaitu kurang dari 64 Kb, .ORG 100H dimana untuk memberitahukan kepada assembler bahwa program yang dijalankan ada pada OFFSET ke 100 H atau ke 256 byte dan ada .CODE yaitu untuk memberitahukan kepada assembler bahwa didalam program ini terdapat beberapa perintah yaitu MOV,NOT, dan lain-lain. Start disini sebagai label.
Kemudian ada MOV AL, 3FH dimana nilai 3 FH ini disimpan diregister AL, kemudian MOV CL dimana nilai 3 akan dimasukkan pada register CL, dan ada
Dennis Auldentio Wenas 202011359 SHR AX.CL dimana perintah ini menggeser nilai 3FH kearah kanan sebanyak 3 kali. Sebelumnya 3FH di ubah ke bilangan binner yaitu nilainya 0000 0000 0011 1111 kemudian dengan perintah SHR maka nilai tersebut digeser ke kanan. Pergeseran pertama menjadi 0000 0000 0001 1111 atau 1EH, pergeseran ke dua menjadi 0000 0000 0001 atau 0FH, dan pergeseran ketiga yaitu 0000 0000 0000 0111 atau 07H.
Dennis Auldentio Wenas 202011359 4.3 TUGAS AKHIR
NIM GANJIL
Ubahlah angka dari (140)8 ke (…)16 dan (359)10 ke (…)16, kemudian operasikan kedalam gerbang AND, OR, XOR dan sertakan hasil screenshot!
(140)8 ke (60)16 = 1100000 (359)10 ke (167)16 = 101100111
A. AND
B. OR
Dennis Auldentio Wenas 202011359 C. XOR
Dennis Auldentio Wenas 202011359 BAB V PENUTUP