CARA MENGELUARKAN DATA BIT SECARA BERURUTAN DENGAN 4 MODEL INSTRUKSI GESER

4 Model Instruksi Geser
Ilustrasi 4 Model Instruksi Geser

PEMBAHASAN :
  1. Mengeluarkan data secara berurutan dengan beberapa varian instruksi geser
  2. Mengkondisikan accu = 01 --> A = A+A dalam pengulangan
  3. Menggunakan 4 varian instruksi geser, seperti :

SLA (Shift Left Arithmetic) 

Shift Left Arithmetic

SRA (Shift Right Arithmetic)

Shift Right Arithmetic
Shift Right Arithmetic

SRL (Shift Right Logic)

Shift Right Logic
Shift Right Logic

RLC (Rotation Left Circular)

Rotation Left Circular
Rotation Left Circular

CARA 1

Struktur Algoritma
Isi Accu dengan data kendali port A = B = C = OUT 80h
Keluarkan isi Accu ke Register Control
Cycle end less
           Isi Accu dengan data 01
           keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 02
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 04
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 08
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 10
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 20
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 40
           Keluarkan isi Accu ke port A
           Tunda Waktu
           Isi Accu dengan data 80
           Keluarkan isi Accu ke port A
           Tunda Waktu
Isi Accu dengan data 00
Keluarkan isi Accu ke port A
Akhiri program

































Subroutine 1A00
Isi Pas Register HL = FF FF
H = 0
           L = 0
                    Kurangi denga 1 isi Register L
           Kurangi dengan 1 isi Register H
RET UNC








Struktur Program
Alamat
Assembly
Mesin
1800
LDA, 80
3E 80
1802
OUT (43), A
D3 43
1804
NOP
00
1805
LDA, 01
3E 01
1807
OUT (40), A
D3 40
1809
CALL UNC 1A00
CD 00 1A
180B
LDA, 02
3E 02
180E
OUT (40), A
D3 40
1810
CALL UNC 1A00
CD 00 1A
1812
LDA, 04
3E 04
1815
OUT (40), A
D3 40
1817
CALL UNC 1A00
CD 00 1A
1819
LDA, 08
3E 08
181C
OUT (40), A
D3 40
181E
CALL UNC 1A00
CD 00 1A
1820
LDA, 10
3E 10
1823
OUT (40), A
D3 40
1825
CALL UNC 1A00
CD 00 1A
1827
LDA, 20
3E 20
182A
OUT (40), A
D3 40
182C
CALL UNC 1A00
CD 00 1A
182D
LDA, 40
3E 40
1831
OUT (40), A
D3 40
1833
CALL UNC 1A00
CD 00 1A
1835
LDA, 80
3E 80
1838
OUT (40), A
D3 40
183A
JPNC 1804
C3 04 18
SUBROUTINE
1A00
LDHL, FF FF
21 FF FF
1A03
NOP
00
1A04
NOP
00
1A05
DEC L
2D
1A06
JPNZ 1A04
C2 04 18
1A09
DEC H
25
1A0A
JPNZ 1A03
C2 03 18
1A0D
RET UNC
C9


CARA 2
Struktur Algoritma
Isi Accu dengan data kendali port A
Keluarkan isi Accu ke Register Control
Cycle end less
           A = 01
           B = 08
                      B = 0
                                 OUT (40) A
                                 Tunda Waktu
                                 A = A+A = SLA
                      DEC B

Subroutine 1A00
Isi Pas Register HL = FF FF
H = 0
           L = 0
                    Kurangi denga 1 isi Register L
           Kurangi dengan 1 isi Register H
RET UNC








Struktur Program
Alamat
Assembly
Mesin
1800
LDA, 80
3E 80
1802
OUT (43), A
D3 43
1804
NOP
00
1805
LDA, 01
3E 01
1807
LDB, 07
06 07
1809
NOP
00
180A
OUT (40), A
D3 40
180C
CALL UNC 1A00
CD 00 1A
180F
ADD A
87
1810
DEC B
05
1811
JPNZ 1809
C2 09 18
1814
JPUNC 1804
C3 04 18
SUBROUTINE
1A00
LDHL, FF FF
21 FF FF
1A 03
NOP
00
1A 04
NOP
00
1A05
DEC L
2D
1A06
JPNZ 1A04
C2 04 18
1A09
DEC H
25
1A0A
JPNZ 1A03
C2 03 18
1A0D
RET UNC
C9


Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال