Minggu, 07 Desember 2014

PRAKTIKUM 19

Cls MACRO
MOV AX,0600h
XOR CX,CX
MOV DX,184Fh
MOV BH,10
INT 10h
ENDM
GotoXY MACRO X,Y
MOV AH,02
XOR BX,BX
MOV DH,Y
MOV DL,X
INT 10h
ENDM
SimpanL MACRO
LOCAL Ulang
MOV AX,0B800h
MOV ES,AX
MOV CX,4000
XOR BX,BX
Ulang:
MOV AL,ES:[BX]
MOV LayaR[BX],AL
INC BX
LOOP Ulang
ENDM
BalikL MACRO
LOCAL Ulang
MOV CX,4000
XOR BX,BX
Ulang:
MOV AL,Layar[BX]
MOV ES:[BX],AL
INC BX
LOOP Ulang
ENDM
Sorot MACRO X,Y
LOCAL Ulang
MOV BL,Y
MOV AL,160
MUL BL
MOV BX,AX
MOV AL,X
MOV AH,2
MUL AH
ADD BX,AX
INC BX
MOV CX,25
Ulang  :
MOV BYTE PTR ES:[BX],4Fh

ADD BX,2
LOOP Ulang
ENDM
Readkey MACRO
MOV AH,00
INT 16h
ENDM
MenuL MACRO String
MOV AH,09
LEA DX,String
INT 21h
ENDM
.MODEL SMALL
.CODE
ORG 100h
TData: JMP Proses
Layar  DB   4000   DUP    (?)
Menu   DB  9,9,'+=============================+',13,10
DB  9,9,':  """   STMIK CIKARANG   """  :',13,10
DB  9,9,'+=============================+',13,10 
DB  9,9,':                              :',13,10
DB  9,9,':  1.  Teknik Informatika      :',13,10
DB  9,9,':  2.  Sistem Informasi        :',13,10
DB  9,9,':  3.  Manajemen Informatika   :',13,10
DB  9,9,':  4.  KOmputer Akuntansi      :',13,10
DB  9,9,':                              :',13,10
DB  9,9,'+=============================+$'
PosX    DB  22
PosY    DB  12
Panah_Atas EQU 72
Panah_Bawah EQU 80
TEnter EQU 0Dh
Proses:
Cls
GotoXY 0 8
MenuL Menu
SimpanL
Ulang:
BalikL

Sorot PosX,PosY
Masukan:
Readkey
CMP AH,Panah_Bawah
JE Bawah
CMP AH,Panah_Atas
JE CekY:
CMP AL,TEnter
JNE Masukan
JMP Selesai
CekY:
CMP PosY,12
JE MaxY
DEC PosY
JMP Ulang
MaxY:
MOV PosY,15
JMP Ulang
Bawah:
CMP PosY,15
JE NolY
INC PosY
JMP Ulang
NolY:
MOV PosY,12
JMP Ulang
Selesai:
INT 20h
END TData

PRAKTIKUM 18

Tulis_Kar MACRO  X,Y,Kar,Attr
MOV AX,0B800h
MOV ES,AX

MOV AH,Y
MOV AL,160
MUL AH
MOV BX,AX

MOV AH,X
MOV AL,2
MUL AH
ADD BX,AX

MOV AL,Kar
MOV AH,Attr
MOV ES:[BX],AL
MOV ES:[BX+1],AH
ENDM

.MODEL SMALL
.CODE
ORG 100h
Proses:
Tulis_Kar 40 12 '1' 95
Tulis_Kar 41 12 '2' 95
Tulis_Kar 42 12 '4' 95
Tulis_Kar 43 12 '2' 95
Tulis_Kar 44 12 '9' 95
Tulis_Kar 45 12 '0' 95
Tulis_Kar 46 12 '2' 95
Tulis_Kar 47 12 '4' 95
INT 20h
END Proses

Selasa, 02 Desember 2014

TUGAS PRAKTIKUM XII

PRAKTIKUM XII
.MODEL SMALL (Menunjukan bentuk memory yang digunakan dalam program )
.CODE (Menunjukan code segmennya) ORG 100H (Menunjukan program yang dijalankan akan disimpan pada offset 100h)
TData: JMP proses (Lompat ke proses) Kal DB 'LANG LING LUNG  $' (Karakter DB LANG LING LUNG dengan karakter $ sebagai tanda akhir tulisan)
Ganti DB 13,10,'$'(Menunjukan ganti baris)
Stacks DW  ? (Menunjukan akan dilakukan stack)
Proses:
LEA DX , Kal (Ambil alamat offset Kal) PUSH DX (Menyimpan nilai register DX pada stack)
Mov AH,09 (Memindahkan nilai data 09 ke register AH)
INT 21h (Mencetak Karakter)
LEA DX , Ganti (Ambil alamat offset Ganti)
INT 21h (Mencetak karakter )
POP DX (Ambil nilai pada puncak stack dan masukkan ke DX)
INT 21h (Mencetak karakter)
Exit:  INT 20h (Selesai kembali ke DOS ) End TData

Sabtu, 22 November 2014

Jawaban UTS Assembler kelas Malam

1. Apa yang dimaksud  dengan register,memory,interrupt dan sebutkan 8 general purpose register!
Jawaban
Register : Sebagian memory dari mikroposesor yang dapat diakses dengan kecepatan yang sangat tinggi.
Memory : Bagian dari komputer yang digunakan untuk membuat program dan menyimpan/menampung hasil proses.
Interrupt : Suatu permintaan khusus kepada mikroprosesor untuk melakukan sesuatu.
8 general purpose register :
AX - the accumulator register (dibagi menjadi AH / AL
BX - the base address register (dibagi menjadi BH / BL).
CX - the count register (dibagi menjadi CH / CL).
DX - the data register (dibagi menjadi DH / DL).
SI - source index register.
DI - destination index register.
BP - base pointer.
SP - stack pointer

2. Gambarkan arsitektur computer dan jelaskan tiap-tiap bagiannya!
Jawaban:

Arsitektur komputer menggunakan system bus (menghubungkan dengan bermacam-macam komputer)
CPU : Jantung komputer ,hampir seluruh perhitungan dilakukan di dalam CPU.Menjalankan program-program yang disimpan dalam memori utama dengan cara mengambil instruksi-instruksi.
RAM: Tempat dimana program diloading untuk dieksekusi.
Keyboard: untuk input data dokumen.

3.       Apa  yang dimaksud OpCode,bahasa assembly,dan bahasa mesin,beri alasan kenapa kita mempelajari  bahasa assembly?
Jawaban:
OpCode : Kode operasi (bagian perintah yang harus dikerjakan)
Bahasa assembly : Bahasa yang termasuk low-level-languange,dapat dibaca dan dimengerti oleh manusia sebagai hasil irepresentasi binary code yang dieksekusi oleh komputer.
Bahasa mesin : Bahasa yang intruksinya dinyatakan dalam bilangan numerik (binary) yang tersimpan sebagai byte di memory.
Alasan mempelajari bahasa assembly :
a.       Program yang ditulis dengan assembly akan lebih cepat dan lebih kecil dibandingkan dengan kode yang dihasilkan dengan menggunakan compiler.
b.      Mempelajari assembly akan membantu pengertian yang lebih mendalam bagaimana komputer bekerja.
c.       Dengan mengerti bahasa assembly kita  dapat melakukan proses diassembly untuk menganalisa program tertentu.

4. Konversikan bilngan berikut ke binary:
a.       125                 b. 47h       c.33o      d.0AAAh     e.68
Jawaban:
a. 1111101
b. 01000111
c. 011011
d. 101010101010
e. 1000100

5.Buatlah sebuah  program untuk menampilkan : P Q R S T U V
Jawaban
.model small
.code
Org 100h
Proses:
Mov AH,02h
Mov DL,’P’
Mov CX,7
Ulang:
INT 21h
INC  DL
Loop ulang
INT 20h
End proses

II. Jelaskan script program dan hasil output dibawah berikut:
.model small (bentuk memori yang digunakan)
.code  (menggunakan code segmennya disini)
org 100h (program yang dijalankan disimpan pada offset 100h)
Text: JMP mulai (lompat ke mulai)
Tulis DB 'STMIK CIKARANG TEKNIK INFORMATIKA'(33 karakter)
Mulai:
xor bx,bx (bx=0 untuk petunjuk offset)
mov cx,33 (counter loop)
Ulang:
mov dl,tulis[bx] (ambil karakter yang ke bx)
mov ah,02 (servis untuk cetak karakter)
int 21h (cetak karakter)
inc bx (tambah bx dengan 1)
loop ulang (lompat ke ulang sampai cx=0)
int 20h (selesai ,kembali ke DOS)
end text