Nama : RANDI RAHMAN
Npm : 0651 11 082
Program 1
Penjelasan Program 1:
MVI A, 20H //Pindahkan secara langsung 20H ke register A.
RRC // RRC ( Rotate Accumulator Right ) yang akan menghasilkan I/O di alamat 02 dengan data 8
OUT 02H // Hasil output akan menghasilkan di alamt 02 dengan data 8
HLT // selesai program
Program 2
Penjelasan Program 2:
MVI B, 60H // Pindahkan secara langsung 60H ke register B, dan
MVI C, 20H // Pindahkan secara langsung 20H ke register C,
MOV A,B // Copy register B ke Accumulator
CMP C // Compare Register or Memory with Accumulator C.
JZ EQU // JZ ( Jump on zero )
JC GRT // JC ( Jump on Carry )
OUT 01H // menghasilkan Output di I/O 01H.
HLT // Selesai
EQU: MVI A, 01H // Kemudian pindahkan secara langsung 01H ke Accumulator
OUT 01H // menghasilkan Output di I/O 01H.
GRT: MOV A, C // Selanjutnya Copykan C ke Accumulator
OUT 01H // menghasilkan Output di I/O 01H
HLT // Selesai
Program 3
MVI C,01 // Pindahkan secara langsung 01H ke register C
LDA 2200 // LDA ( Load Accumulator ) 2200.
MOV B, A // Kemudian copykan A ke register B
LDA 2201 // LDA ( Load Accumulator ) 2201
ADD B // tambahkan register B
JNC LABEL1 // JNC ( Jump no Carry ) Label1
INR C // Kemudian ada penambahan register C.
LABEL1 : STA 2202 // Karena dia Jump no Carry berarti loncat langsung ke LABEL1 bawah, Kalo JC harus menambahkan satu.
MOV A, C // Selanjutnya copykan C ke Accumulator yaitu 2203
HLT // Selesai
referensi
Read More