1. Apakah perbedaan push button dan toggle button, pada saat masing-masing tombol ini digunakan?
2. Apakah perbedaan operasi bit dan byte, pada saat apa masing-masing operasi ini digunakan?
3. Apakah kepanjangan dan maksud dari kode program di bawah ini!
EQU, ORG, MOV, ACALL, LCALL, SETB, CLR, SJMP, AJMP, DJNZ, RET, XCH, PUSH,
POP, ANL, ORL, XLR, CPL, RL, RLC, RR, RRC, SWAP, ADD, ADDC, SUBB, INC,
DEC, MUL, DIV, DA, JZ, JNZ, DJNZ, JB, JNB, CJNE, NOP
4. Jelaskan aturan penggunaan dan aturan pengisian nilai pada perintah MOV!
5. Jelaskan tentang Accumulator (A/ACC) pada mikrokontroller MCS51!
Ketentuan:
a. dikerjakan dengan rapi, dikumpulkan Selasa sebelum praktikum perdana (lihat jadwal), di depan pintu lab dan ditata yang rapi (di clip, jepit, dll.)
b. semua tugas pendahuluan disusun berdasar kebutuhan praktikan pada saat praktikum, jadi harap dikerjakan dengan ikhlas dan diniati untuk belajar...
by Randi
Jawaban:
1. push button : membentuk tombol yang jika di klik akan tertekan dan segera kembali ke posisi semula toggle button : membentuk tombol yang jika di klik akan tertekan terus dan baru kembali ke kondisi semula jika di klik lagi
2. operasi byte merupakan operasi yang melibatkan 8bit data sekaligus eshingga disebut operasi byte, misalnya mengisi accumulator dengan data 8bit sekaligus isi accumulator yang 8bit dijumlahkan dengan isi memori yang 8bit juga. Sedangkan operasi bit adalah operasi yang mengolah data per bit untuk keperluan ini, bit carry dalam PSW diperlukan sebagai "accumulator bit". Operasi bit yang bisa ditangani oleh MCS51 antara lain: pemberian nilai pada data biner 1bit, perpindahan data 1bit, operasi logika 1bit
3. kepanjangan dan maksud dari opcode berikut:
EQU: (equivalent) mendefisisikan suatu yang constan(Tetap),data yang telah didefinisikan dengan perintah EQU tidak dapat dirubah
ORG: (origin) menunjukkan lokasi memori tempat instruksi atau perintah yang ada di bawahnya disimpan
MOV: (move from memory) mengcopy nilai atau angka menuju suatu register,variabel atau memory
ACALL: (absolute call) memanggil sub rutin program
LCALL: (long call) menjalankan blok rutin di tempat lain sampai selesai, dan kemudian kembali menjalankan instruksi-instruksi dibawah instruksi LCALL tadi, yang sempat ditinggalkannya
SETB: (set bit) memberikan logika "1" ( tegangan positif ) pada bit operand
CLR: (clear) memberikan logika 0 pada bit operand
SJMP: (Short Jump) lompat tanpa syarat jarak pendek. Disebut juga sebagai Jump relatif 8-bit
AJMP: (Absolute JUMP) lompat tidak bersyarat jarak menengah. Disebut juga sebagai Jump 11-bit
DJNZ: (Decrement and Jump if not Zero) mengurangi 1 nilai register serbaguna (R0..R7) atau memori-data, dan Jump jika ternyata setelah pengurangan 1 tersebut hasilnya tidak nol.
RET: (Return) digunakan untuk mengembalikan Kontrol program pada si-pemanggil procedure
XCH: (Exchange Bytes) memberikan data transfer dua arah yang sangat baik untuk mempercepat operasi
PUSH: menambah item pada stack pada tumpukan paling atas
POP: mengambil item pada stack pada tumpukan paling atas
ANL: (AND Logic) Operasi logika AND banyak dipakai untuk me-‘0’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ANL-kan bilangan asal
ORL: (OR Logic) Operasi logika OR banyak dipakai untuk me-‘1’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ORL-kan bilangan asal
XLR: (XOR Logic) Operasi logika Exclusive-OR banyak dipakai untuk membalik nilai (complement) beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-XRL-kan bilangan asal
CPL: (complement) Instruksi CPL dipakai untuk membalik
RL: (rotate left) melakukan operasi pergeseran ke kiri sebanyak 1 bit
RLC: (rotate left through carry) menggeser isi register A ke kiri
RR: (Rotate Right) melakukan operasi pergeseran ke kanan sebanyak 1 bit
RRC: (Rotate Right through Carry) menggeser isi register A ke kanan
SWAP: (Swap Nibbles) melakukan operasi pertukaran data low nible dan high nible
ADD: melakukan operasi penjumlahan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator
ADDC: (Add with Carry) sama dengan add tetapi addc akn mengikuti carry bit dalam setiap operasi penjumlahan
SUBB: Melakukan operasi pengurangan.Isi Akumulator A dikurangi dengan bilangan 1 byte dengan nilai bit Carry, hasil pengurangan akan ditampung kembali dalam Akumulator
INC: (Increment) digunakan khusus untuk pertambahan dengan 1
DEC: (Decrement) digunakan khusus untuk pengurangan dengan 1
MUL: (multiply) Melakukan operasi perkalian,misal MUL AB : bilangan biner 8 bit dalam Akumulator A dikalikan dengan bilangan biner 8 bit dalam register B. Hasil perkalian berupa bilangan biner 16 bit
DIV: (divide) Melakukan operasi pembagian, misal DIV AB : bilangan biner 8 bit dalam Akumulator A dibagi dengan bilangan biner 8 bit dalam register B
DA: (Decimal Adjust) dipakai setelah perintah ADD; ADDC atau SUBB, dipakai untuk merubah nilai biner 8 bit yang tersimpan dalam Akumulator menjadi 2 buah bilangan desimal yang masing-masing terdiri dari nilai biner 4 bit
JZ: (Jump if Zero) Instruksi ini akan memeriksa isi A. Jika dia 00, maka program akan melompat ke alamat yang ditunjuk
JNZ: (Jump if not Zero) Instruksi ini tidak akan memeriksa isi A. Jika dia 00, maka program akan melompat ke alamat yang ditunjuk Instruksi JC (Jump on Carry) dan instruksi JNC (Jump on no Carry) adalah instruksi jump bersyarat yang memantau nilai bit Carry di dalam Program Status Word (PSW)
DJNZ: (Decrement and Jump if not Zero) mengurangi 1 nilai register serbaguna (R0..R7) atau memori-data, dan Jump jika ternyata setelah pengurangan 1 tersebut hasilnya tidak nol
JB: (Jump on Bit Set) membaca data per satu bit, jika data tersebut adalah 1 maka akan menuju ke alamat kode dan jika 0 tidak akan menuju ke alamat kode
JNB: (Jump on not Bit Set) membaca data per satu bit, jika data tersebut adalah 0 maka akan menuju ke alamat kode dan jika 1 tidak akan menuju ke alamat kode
CJNE: (Compare and Jump if Not Equal) membandingkan dua nilai yang disebut dan MCS akan Jump kalau kedua nilai tersebut tidak sama
NOP: (No Operation) tidak melakukan Operasi apa - apa
4. Format MOV Operand1, Operand2
Fungsi Menyalin isi dari Operand2 kedalam Operand1
Kalimat Matematika Operand1 = Operand2
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
5. Accumulator adalah suatu register (memori) yang dapat melakukan semua operasi perhitungan dan semua instruksi yang dimiliki oleh prosesor dari mikrokontroler. Contohnya adalah operasi perkalian, penjumlahan, pengurangan, dan instruksi pengaksesan register lainnya, atau pengaksesan RAM
2. Apakah perbedaan operasi bit dan byte, pada saat apa masing-masing operasi ini digunakan?
3. Apakah kepanjangan dan maksud dari kode program di bawah ini!
EQU, ORG, MOV, ACALL, LCALL, SETB, CLR, SJMP, AJMP, DJNZ, RET, XCH, PUSH,
POP, ANL, ORL, XLR, CPL, RL, RLC, RR, RRC, SWAP, ADD, ADDC, SUBB, INC,
DEC, MUL, DIV, DA, JZ, JNZ, DJNZ, JB, JNB, CJNE, NOP
4. Jelaskan aturan penggunaan dan aturan pengisian nilai pada perintah MOV!
5. Jelaskan tentang Accumulator (A/ACC) pada mikrokontroller MCS51!
Ketentuan:
a. dikerjakan dengan rapi, dikumpulkan Selasa sebelum praktikum perdana (lihat jadwal), di depan pintu lab dan ditata yang rapi (di clip, jepit, dll.)
b. semua tugas pendahuluan disusun berdasar kebutuhan praktikan pada saat praktikum, jadi harap dikerjakan dengan ikhlas dan diniati untuk belajar...
by Randi
Jawaban:
1. push button : membentuk tombol yang jika di klik akan tertekan dan segera kembali ke posisi semula toggle button : membentuk tombol yang jika di klik akan tertekan terus dan baru kembali ke kondisi semula jika di klik lagi
2. operasi byte merupakan operasi yang melibatkan 8bit data sekaligus eshingga disebut operasi byte, misalnya mengisi accumulator dengan data 8bit sekaligus isi accumulator yang 8bit dijumlahkan dengan isi memori yang 8bit juga. Sedangkan operasi bit adalah operasi yang mengolah data per bit untuk keperluan ini, bit carry dalam PSW diperlukan sebagai "accumulator bit". Operasi bit yang bisa ditangani oleh MCS51 antara lain: pemberian nilai pada data biner 1bit, perpindahan data 1bit, operasi logika 1bit
3. kepanjangan dan maksud dari opcode berikut:
EQU: (equivalent) mendefisisikan suatu yang constan(Tetap),data yang telah didefinisikan dengan perintah EQU tidak dapat dirubah
ORG: (origin) menunjukkan lokasi memori tempat instruksi atau perintah yang ada di bawahnya disimpan
MOV: (move from memory) mengcopy nilai atau angka menuju suatu register,variabel atau memory
ACALL: (absolute call) memanggil sub rutin program
LCALL: (long call) menjalankan blok rutin di tempat lain sampai selesai, dan kemudian kembali menjalankan instruksi-instruksi dibawah instruksi LCALL tadi, yang sempat ditinggalkannya
SETB: (set bit) memberikan logika "1" ( tegangan positif ) pada bit operand
CLR: (clear) memberikan logika 0 pada bit operand
SJMP: (Short Jump) lompat tanpa syarat jarak pendek. Disebut juga sebagai Jump relatif 8-bit
AJMP: (Absolute JUMP) lompat tidak bersyarat jarak menengah. Disebut juga sebagai Jump 11-bit
DJNZ: (Decrement and Jump if not Zero) mengurangi 1 nilai register serbaguna (R0..R7) atau memori-data, dan Jump jika ternyata setelah pengurangan 1 tersebut hasilnya tidak nol.
RET: (Return) digunakan untuk mengembalikan Kontrol program pada si-pemanggil procedure
XCH: (Exchange Bytes) memberikan data transfer dua arah yang sangat baik untuk mempercepat operasi
PUSH: menambah item pada stack pada tumpukan paling atas
POP: mengambil item pada stack pada tumpukan paling atas
ANL: (AND Logic) Operasi logika AND banyak dipakai untuk me-‘0’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ANL-kan bilangan asal
ORL: (OR Logic) Operasi logika OR banyak dipakai untuk me-‘1’-kan beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ORL-kan bilangan asal
XLR: (XOR Logic) Operasi logika Exclusive-OR banyak dipakai untuk membalik nilai (complement) beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-XRL-kan bilangan asal
CPL: (complement) Instruksi CPL dipakai untuk membalik
RL: (rotate left) melakukan operasi pergeseran ke kiri sebanyak 1 bit
RLC: (rotate left through carry) menggeser isi register A ke kiri
RR: (Rotate Right) melakukan operasi pergeseran ke kanan sebanyak 1 bit
RRC: (Rotate Right through Carry) menggeser isi register A ke kanan
SWAP: (Swap Nibbles) melakukan operasi pertukaran data low nible dan high nible
ADD: melakukan operasi penjumlahan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator
ADDC: (Add with Carry) sama dengan add tetapi addc akn mengikuti carry bit dalam setiap operasi penjumlahan
SUBB: Melakukan operasi pengurangan.Isi Akumulator A dikurangi dengan bilangan 1 byte dengan nilai bit Carry, hasil pengurangan akan ditampung kembali dalam Akumulator
INC: (Increment) digunakan khusus untuk pertambahan dengan 1
DEC: (Decrement) digunakan khusus untuk pengurangan dengan 1
MUL: (multiply) Melakukan operasi perkalian,misal MUL AB : bilangan biner 8 bit dalam Akumulator A dikalikan dengan bilangan biner 8 bit dalam register B. Hasil perkalian berupa bilangan biner 16 bit
DIV: (divide) Melakukan operasi pembagian, misal DIV AB : bilangan biner 8 bit dalam Akumulator A dibagi dengan bilangan biner 8 bit dalam register B
DA: (Decimal Adjust) dipakai setelah perintah ADD; ADDC atau SUBB, dipakai untuk merubah nilai biner 8 bit yang tersimpan dalam Akumulator menjadi 2 buah bilangan desimal yang masing-masing terdiri dari nilai biner 4 bit
JZ: (Jump if Zero) Instruksi ini akan memeriksa isi A. Jika dia 00, maka program akan melompat ke alamat yang ditunjuk
JNZ: (Jump if not Zero) Instruksi ini tidak akan memeriksa isi A. Jika dia 00, maka program akan melompat ke alamat yang ditunjuk Instruksi JC (Jump on Carry) dan instruksi JNC (Jump on no Carry) adalah instruksi jump bersyarat yang memantau nilai bit Carry di dalam Program Status Word (PSW)
DJNZ: (Decrement and Jump if not Zero) mengurangi 1 nilai register serbaguna (R0..R7) atau memori-data, dan Jump jika ternyata setelah pengurangan 1 tersebut hasilnya tidak nol
JB: (Jump on Bit Set) membaca data per satu bit, jika data tersebut adalah 1 maka akan menuju ke alamat kode dan jika 0 tidak akan menuju ke alamat kode
JNB: (Jump on not Bit Set) membaca data per satu bit, jika data tersebut adalah 0 maka akan menuju ke alamat kode dan jika 1 tidak akan menuju ke alamat kode
CJNE: (Compare and Jump if Not Equal) membandingkan dua nilai yang disebut dan MCS akan Jump kalau kedua nilai tersebut tidak sama
NOP: (No Operation) tidak melakukan Operasi apa - apa
4. Format MOV Operand1, Operand2
Fungsi Menyalin isi dari Operand2 kedalam Operand1
Kalimat Matematika Operand1 = Operand2
Contoh MOV EAX, 0Ah ; EAX = 0000000Ah
5. Accumulator adalah suatu register (memori) yang dapat melakukan semua operasi perhitungan dan semua instruksi yang dimiliki oleh prosesor dari mikrokontroler. Contohnya adalah operasi perkalian, penjumlahan, pengurangan, dan instruksi pengaksesan register lainnya, atau pengaksesan RAM
Posting Komentar