Keterangan di Setiap Program Assembler GnuSim8085.
1. Program Assembler untuk mengalikan sebuah bilangan dengan 8.
MVI A, 30H (Pindahkan 30 heksa ke A)
RRC (Merotasi Accumulator ke sebelah kanan)
RRC
RRC
OUT 01H (Keluaran/output disimpan di memory 01H)
HLT (Coding untuk mengakhiri suatu program)
2. Program Assembler untuk menentukan bilang terbesar antara dua bilangan.
MVI B, 30H (Pindahkan 30H ke B)
MVI C, 40H (Pindahkan 40H ke C)
MOV A, B (Copy kan B ke A)
CMP C (Bandingkan Register C dengan Accumulator)
JZ EQU (Loncat ketika terjadi zero)
JC GRT (Loncat ketika carry)
OUT 01H (Keluaran disimpan di memory 01H jika tidak terjadi zero dan carry)
HLT (Mengakhiri Program)
EQU: MVI A, 01H (Jika terjadi zero Accumulator akan disimpan di 01H dengan nilai 1)
OUT 01H (Keluaran disimpan di 01H)
HLT (Mengakhiri program)
GRT: MOV A, C (Jika terjadi carry maka C di copykan ke A)
OUT 01H (Output di simpan di 01H)
HLT (Mengakhiri Program)
Keterangan : EQU dan GRT hanyalah label dan bisa diganti dengan nama apa saja asalkan label atas dengan yang bawah sma.
3. Program Assembler untuk menjumlahkan dua bilangan.
MVI C, 00 (Pindahkan 00 ke C)
LDA 4200 (Memanggil/load Accumulator 4200)
MOV B, A (Copy A ke B)
LDA 4201 (Load Accumulator 4201)
ADD B (Tambahkan dengan B)
JNC LABEL1 (Loncat jika ada carry ke label1)
INR C (Menambahkan register ke memory sebanyak 1)
LABEL1: STA 4202
MOV A, C (Copy C ke A)
STA 4203
HLT (Mengakhiri Program)
Keterangan : LABEL1 bisa diganti dengan nama apa saja yang penting harus sama dengan yang diwabahya.
Alhamdulillah
Tidak ada komentar:
Posting Komentar