Nama Praktikan:
Hanif Mahfuzzalfi (191331047)
Nama Instruktur :
Ferry Satria, BSEE.,M.T.
. Rahmawati Hasanah,S.ST.,M.T.
o MOVSW
Fungsi dari perintah ini yaitu untuk menyalin data 1 word dari alamat DS:SI
ke alamat ES:DI. Bila nilai DF=0(CLD) maka ketika perintah MOVSW dijalankan
maka register SI dan DI akan ditambah 2 sebaliknya jika nilai DF=1 (STD) maka
register SI dan DI akan dikurang 2
Algoritma MOVSW:
ES[DI]=DS:[SI]
Jika DF=0 maka
SI=SI+2
DI=DI+2
Jika DF =1 maka
SI = SI - 2
DI = DI – 2
Algoritma STOSW:
ES:[DI]=AL
Jika DF=0 maka
DI=DI+2
Selain itu
DI = DI – 2
o CMPSB (Compare String Byte)
Fungsi dari perintah CMPSB ini yaitu untuk membandingkan satu byte
pada alamat DS:SI dengan ES:DI. Jika directional flag bernilai 1 maka setiap
selesai perbandingan register SI dan DI akan ditambah dengan 1, sebaliknya jika
directional flag bernilai 0 maka setiap selesai perbandingan akan dikurang dengan
1.
o CMPSW (Compare String Word)
Fungsi dari perintah CMPSW ini yaitu untuk membandingkan satu word pada
alamat DS:SI dengan ES:DI. Jika directional flag bernilai 1 maka setiap selesai
perbandingan register SI dan DI akan ditambah dengan 2, sebaliknya jika
directional flag bernilai 0 maka setiap selesai perbandingan akan dikurang dengan
2.
o SCASB (Scan String For Byte)
Fungsi dari perintah SCASB yaitu untuk membandingkan isi registrasi AL
dengan data pada alamat ES:DI
o SCASW
Fungsi dari perintah SCASW yaitu untuk membandingkan isi register AX
dengan data pada alamat ES;DI
START
DS ←AX
ES←AX
SI←[BM1]
DI←[BM2]
DF=0
CX←I6
REP MOVSB
END
PROGRAM :
HASIL :
2. Buat Diagram Alir dan Program untuk memindahkan (meng-copy) 16 data 16-bit dari
Blok Memori 1 ke Blok Memori 2. Tentukan sendiri data yang dipergunakan.
FLOWCHART :
START
DS ←AX
ES←AX
SI←[BM1+30]
DI←[BM2+30]
DF=1
CX←I6
REP MOVSW
END
PROGRAM :
HASIL :
3. Buat Diagram Alir dan Program untuk mengisi 16 data Heksadesimal 8-bit
(0,1,2,3,4,5,6,7,8,9,A,B,C,D, E,F) pada suatu Blok Memori.
FLOWCHART :
START
DS ←AX
ES←AX
DI←[BM1]
AL←0
DF=0
STOSB
INC AL
AL : 16
Y
ZF=0
END
PROGRAM :
HASIL :
4. Buat Diagram Alir dan Program untuk mengisi 16 data Heksadesimal 16-bit
(0,1111H,2222H,3333H,4444H,5555H,6666H,7777H,8888H,9999H,AAAAH,BBBBH,C
CCCH,DDDDH, EEEEH,FFFFH) pada suatu Blok Memori.
FLOWCHART :
START
DS ←AX
ES←AX
DI←[BM1]
AX←0
DF=0
STOSB
AX←AX+1111H
INC BL
BL : 16
Y
ZF=0
END
PROGRAM :
HASIL :
5. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 8bit: 23h,56h,22h,8AH, F3H,66H,8,7CH. Tempatkan nilai data Terkecil tersebut
pada Reg CL.
FLOWCHART :
START
DS ←AX
ES←AX
CX←8
AL←0FFH
DI←[BM1]
DF=0
SCASB
Y CF=0
AL←BM1[DI-1] &&
ZF=0
T
CX=1
CL←AL
END
PROGRAM :
HASIL :
6. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 8bit: 23h,56h,22h,8AH, F3H,66H,8,7CH. Tempatkan nilai data Terkecil tersebut
pada Reg CL
FLOWCHART :
START
DS ←AX
ES←AX
CX←8
AL←07FH
DI←[BM1]
DF=0
SCASB
Y ZF=0
AL←BM1[DI-1] &&
SF=0
T
CX=1
CS←AL
END
PROGRAM :
HASIL :
7. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 16 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg DX.
FLOWCHART :
START
DS ←AX
ES←AX
CX←8
AL←0FFFH
DI←[BM1]
DF=0
SCASW
Y CF=0
AX←BM1[DI-1] &&
ZF=0
T
CX=1
DX←AX
END
PROGRAM :
HASIL :
8. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 16 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg DX.
FLOWCHART :
START
DS ←AX
ES←AX
CX←8
AL←7FFFH
DI←[BM1]
DF=0
SCASW
Y ZF=0
AX←BM1[DI-1] &&
SF=0
T
CX=1
DX←AX
END
PROGRAM :
HASIL :
9. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 24 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg BL:DX.
FLOWCHART :
START
DS ←AX
ES←AX
BL←0FFH
DH←0FFH
DL←0FFH
AL←BL
DI←BM[DI+2]
DF=1
SCASB
Y T
T Y
T BL←BM1[DI+1]
DH←BM1[DI] Y END
CX=1 DL←BM[DI-1] AL←[BM1]
AL←BM1[DI+1]
Y DI←DI+4
T
END AL←DH
DI←BM1[DI]
SCASB
T
Y
CF=1 DI←DI+4 CX=1
Y
T
BL←BM1[DI+2]
T DH←BM1[DI+1] Y END
CX=1 DL←BM[DI] DH←[BM1]
AL←BM1[DI+2]
DI←DI+5
Y T
END
AL←DH
DI←BM1[DI]
SCASB
T
Y
CF=1 DI←DI+4 CX=1
Y
T
BL←BM1[DI+3]
T DH←BM1[DI+2] Y END
CX=1 DL←BM[DI+1] DL←[BM1]
AL←BM1[DI+3]
DI←DI+6
Y
T
END
DI←DI+5
T
CX=1
END
PROGRAM :
HASIL :
10. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 24 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg BL:DX.
FLOWCHART :
START
DS ←AX
ES←AX
BL←7FH
DH←0FFH
DL←0FFH
AL←BL
DI←BM[DI+2]
DF=1
SCASB
Y T
T Y
T BL←BM1[DI+1]
DH←BM1[DI] Y END
CX=1 DL←BM[DI-1] AL>[BM1]
AL←BM1[DI+1]
Y DI←DI+4
T
END AL←DH
DI←BM1[DI]
SCASB
T
Y
DH<[BM1] DI←DI+4 CX=1
Y
T
BL←BM1[DI+2]
T DH←BM1[DI+1] Y END
CX=1 DL←BM[DI] DH>[BM1]
AL←BM1[DI+2]
DI←DI+5
Y T
END
AL←DH
DI←BM1[DI]
SCASB
T
Y
DL<[BM1] DI←DI+4 CX=1
Y
T
BL←BM1[DI+3]
T DH←BM1[DI+2] Y END
CX=1 DL←BM[DI+1] DL>[BM1]
AL←BM1[DI+3]
DI←DI+6
Y
T
END
DI←DI+5
T
CX=1
END
PROGRAM :
HASIL :
VI. ANALISIS
Pada praktikum kali ini yaitu membuat program dari perintah String. Praktikum di
lakukan dengan menggunakan 10 soal dimana :
1. Buat Diagram Alir dan Program untuk memindahkan (meng-copy) 16 data 8-bit dari Blok
Memori 1 ke Blok Memori 2. Tentukan sendiri data yang dipergunakan.
2. Buat Diagram Alir dan Program untuk memindahkan (meng-copy) 16 data 16-bit dari
Blok Memori 1 ke Blok Memori 2. Tentukan sendiri data yang dipergunakan.
3. Buat Diagram Alir dan Program untuk mengisi 16 data Heksadesimal 8-bit
(0,1,2,3,4,5,6,7,8,9,A,B,C,D, E,F) pada suatu Blok Memori.
4. Buat Diagram Alir dan Program untuk mengisi 16 data Heksadesimal 16-bit
(0,1111H,2222H,3333H,4444H,5555H,6666H,7777H,8888H,9999H,AAAAH,BBBBH,C
CCCH,DDDDH, EEEEH,FFFFH) pada suatu Blok Memori.
5. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 8bit: 23h,56h,22h,8AH, F3H,66H,8,7CH. Tempatkan nilai data Terkecil tersebut
pada Reg CL.
6. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 8bit: 23h,56h,22h,8AH, F3H,66H,8,7CH. Tempatkan nilai data Terkecil tersebut
pada Reg CL
7. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 16 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg DX.
8. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 16 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg DX.
9. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner tidak
bertanda 24 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg BL:DX.
10. Buat Diagram Alir dan Program untuk mencari nilai data terkecil dari 8 data biner
bertanda 24 bit. Tentukan sendiri data uji yang diperlukan. Tempatkan nilai data Terkecil
tersebut pada Reg BL:DX.
VII. KESIMPULAN