Senin, 12 Januari 2015

presentasi (SIM)




KELOMPOK 1
MATERI : EXTREM PROGRAMING (XP)

NAMA KELOMPOK
DEDE KUSAERIAH 12429038
ABDUL HARIS WANDA 12429001
DIRMAN 12429046

Sabtu, 06 Desember 2014

praktek19

cls MACRO
MOV ax,0600h
XOR cx,cx
MOV dx,184Fh
MOV bh,10
INT 10h
ENDM
goto XY 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,': """ FAKULTAS Di STMIK CIKARANG """ :',13,10
db 9,9,': :',13,10
db 9,9,': TEKNIK INFORMATIKA [S1] :',13,10
db 9,9,': SISTEM INFORMATIKA [S1] :',13,10
db 9,9,': MANAJEMEN INFORMATIKA [D3] :',13,10
db 9,9,': AKUNTANSI KOMPUTER [D3] :',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,12
JMP ulang
NolY:
MOV PosY,12
JMP ulang
selesai:
INT 20h

end Tdata


Jumat, 05 Desember 2014

TUGAS ASSEMBLER 3 PRAK18

tulis_Kar MACRO X,Y,Kar,Attr
MOV AX,0B800h
MOV ES,AX ; ES Menunjuk pada segment layar
MOV AH,Y
MOV AL,160
MUL AH ; Hitung offset baris
MOV BX,AX ; Simpan hasilnya pada BX
MOV AH,X
MOV AL,2
MUL AH ; Hitung offset kolom
ADD BX,AX ; Tambahkan hasilnya pada BX
MOV AL,Kar ; AL=karakter yang akan ditampilkan
MOV AH,Attr ; AH=Atribut yang akan ditampilkan
MOV ES:[BX],AL ; Tampilkan Karakter dan atributnya
MOV ES:[BX+1],AH ; pada posisi kolom X dan baris Y
ENDM
;/===============================================\;
; Program : LAYAR1.ASM ;
; Author : S’to ;
; ;
; Fungsi : Menampilkan karakter dan atributnya ;
; dengan menuliskannya langsung pada ;
; memory layar ;
;\===============================================/;
.MODEL SMALL
.CODE
ORG 100h
Proses :
Tulis_Kar 40 12 'D' 95
Tulis_Kar 41 12 'I' 95
Tulis_Kar 42 12 'R' 95
Tulis_Kar 43 12 'M' 95
Tulis_Kar 44 12 'A' 95
Tulis_Kar 45 12 'N' 95
Tulis_Kar 46 12 ' ' 95
Tulis_kar 47 12 '1' 95
Tulis_Kar 48 12 '2' 95
Tulis_Kar 49 12 '4' 95
Tulis_Kar 50 12 '2' 95
Tulis_Kar 51 12 '9' 95
Tulis_Kar 52 12 '0' 95
Tulis_Kar 53 12 '4' 95
Tulis_Kar 54 12 '6' 95
; Tulis karakter 'S' dengan
; no atribut 95 pada posisi
INT 20h ; kolom 40 dan baris 12
END Proses

HASIL PROSES RUN

Selasa, 02 Desember 2014

tugas praktikum xii

.MODEL SMALL  = tanda directive ini digunakan untuk memberi tahu assembler tentang memori yang digunakan

.CODE         =
ORG 100h =tanda directive ini digunakan untuk memberi tahu assembler untuk mengosongkan memory sebanyak 100h

TData : JMP Proses = LOMPAT KE Proses

Kal DB 07,'LANG LING LUNG $'

Ganti DB 13,10,'$' = tanda directive ini digunakan untuk memberi tahu assembler untuk melakukan perintah ganti baris atau enter

Stacks DW ?=digunakan untuk menyimpan nilai dari suatu register untuk sementara
Proses:

LEA DX,Kal  = dapatkan alamat efektive dari register DX

MOV Stacks,DX =  pindahkan stack pada register DX

MOV AH,09 = Servis cetak kalimat

INT 21h  = Cetak kalimat !

LEA DX,Ganti = dapatkan alamat efektive dari register DX pada perintah GANTI

INT 21h =Cetak kalimat !

MOV DX,Stacks = pindahkan register DX yang ada pada  stack

INT 21h  = Cetak kalimat !

LEA DX,Ganti
INT 21h
MOV DX,Stacks
INT 21h
LEA DX,Ganti
INT 21h
MOV DX,Stacks
INT 21h
LEA DX,Ganti
INT 21h
MOV DX,Stacks
INT 21h
LEA DX,Ganti
INT 21h
MOV DX,Stacks
INT 21h
LEA DX,Ganti
INT 21h
MOV DX,Stacks
INT 21h
Exit : INT 20h =kembali ke DOS
END TData

Selasa, 18 November 2014

tugas jawaban uts assembler

soal
1.    sebutkan 8 general purpose register beserta fungsinya.

2.    jelaskan proses tranlasi,phase analysis,syntetis,carry flag,serta base relative addresing dan  register addresing

3.      konversikan bilangan di bawah ini ke decimal

         a.D21h    b.11001010b  c.75o  d.FCA0h  e.00110111b

4.      Buatlah sebuah program untuk tampilan:I H G F E D C

5.      Sebutkan macam model dalam pemrogramaan assembler dan perbedaan exe dan com

 II. Uraikan dan jelaskan

 jelaskan scrip program dan hasil output di bawah berikut:

.model small

code

org 100h

text: jmp mulai

tulis DB  'STMIK CIKARANG  TEKNIK INFORMATIKA'

mulai

MOV AX,1300h

MOV BL,10010101b

MOV BH,00h

MOV DL,20

MOV DH,12

MOV CX,33

LEA BP tulis

INT 10

INT 21

END text

jawaban

1. 8 general purpose

    a.) Register AX (Accumulator register) berfungsi sebagai tempat:

       Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)

                        Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
                        Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
                        Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX).

    b.)Register BX (Base Register)

     Base register adalah register untuk menyimpan alamat offset data yang terletak di memori (BL,  BH, BX dan EBX)

   c.)Register CX (Counter Register)

      Counter register adalah register serbaguna yang berfungsi sebagai:

                        Pencacah untuk operasi loop (CX dan ECX)
                        Pencacah untuk operasi shift dan rotate (CL)
                        Pencacah (counter) untuk operasi string (CX)

  d.)Register DX (Data register)

     Data register adalah register serbaguna yang berfungsi sebagai :

         a. Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).  

         b.Penyimpan hasil pembagian (DX-AX dan EDX-EAX)

         c.Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.

2.
Phase Analysis : mencari arti dari source text, dengan menggunakan    struktur tatabahasa (literal, syntax, semantic)
Phase Synthesis : pemilihan machine operation code yang sesuai dengan mnemonic code
base relative addresing => mengakses suatu tabel dengan mengambil alamat efektifnya.

Register Addressing

Merupakan penyalinan data antar register (transfer register)
MOV reg1, reg2

3.

A. 021b = 5 decimal

B. 11001010b = 202 decimal

C.75o = 61 decimal

D. FCA0h = - 864 decimal

E.00110111b = 55 decimal

4.)

.MODEL SMALL
.CODE
ORG 100h
AWAL:
MOV AX,3
INT 10H

MOV AX,1003H
MOV BX,0
INT 10H

MOV AX,0B800H
MOV DS,AX

MOV [02H],'I'
MOV [04H],'H'
MOV [06H],'G'
MOV [08H],'F'
MOV [0AH],'E'
MOV [0CH],'D'
MOV [0EH],'C'

END


5) model pemrograman assembler
TINY,SMALL,MEDIUM,COMPACT,LARGE,HUGE .

PROGRAM COM : - Lebih pendek dari file EXE
- Lebih cepat dibanding file EXE
- Hanya dapat menggunakan 1 segmen
- Ukuran file maksimum 64 KB (ukuran satu segment)
- sulit untuk mengakses data atau procedure yang terletak pada segment yang lain.
- 100h byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.
- Bisa dibuat dengan DEBUG
PROGRAM EXE : - Lebih panjang dari file COM
- Lebih lambat dibanding file COM
- Bisa menggunakan lebih dari 1 segmen
- Ukuran file tak terbatas sesuai dengan ukuran memory.
- mudah mengakses data atau procedure pada segment yang lain.
- Tidak bisa dibuat dengan DEBUG

II. Uraikan dan jelaskan

jelaskam script program berikut Dan hasil OUTPUT dibawah ini :

.MODEL SMALL ; '= Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita.'

.CODE ;'= Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya disini.'

org 100h ;'= Perintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan

(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte.'

text: jmp mulai ;'= Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang ditunjukkan oleh perintah JUMP '

tulis 'DB STMIK CIKARANG TEKNIK INFORMATIKA'

mulai:

MOV AX,1300h ; = service 13 sub fungsi 00

MOV BL,10010101b ;= atribut tulisan

MOV BH,00h ;= halaman tampilan nol

MOV DL,20 ;= posisi x'

MOV DH,12 ;= posisi y'

MOV CX,33 ;= jumlah karakter dalam string yang akan dicetak'

LEA BP tulis ;= ES:BP  (base pointer) alamat string'

INT 10 ;' = cetak kalimat'

INT 21 ;'= selesai kembali ke dos'

END text