PORT MOUSE

PORT MOUSE

Sabtu, 29 Desember 2012

alamat intruksi yang digunakan

berikut adalah contoh alamat assembly :
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
-g 10


Berikut ini contoh pprogram menggunakan Bahasa Assembly
.MODEL SMALL
.CODE
ORG 100H
   
AWAL:    
    MOV CL,30H                                    
    JMP PROSES
    KAL0 DB 'Ketikkan satu kalimat:$'
    KAL1 DB 13,10,'Kalimat yang diinput adalah:$'
    KAL2 DB 13,10,'Cetak dari belakang:$',13,10  
    KAL3 DB 13,10,'panjang string adalah:$' 
    KALX DB 13,10,'$'
    KAL4 DB 13,10,'Jumlah Huruf Vokal:$'  
    KAL5 DB 13,10,'Jumlah Huruf Konsonan:$'
    KATA DB 20,?,20 DUP (?)                   
    
    
VOKAL:  INC CL                    
        JMP PLUS                        
        

                          
PROSES:            
    ;============= CETAK STRING ================
    
    MOV AH,09H
    MOV DX,OFFSET KAL0
    INT 21H  
    
    
    ;============= INPUT STRING ================
    
    MOV AH,0AH
    LEA DX,KATA
    INT 21H
    
    ;============= CETAK STRING ================
    
    MOV AH,09H
    MOV DX,OFFSET KAL1
    INT 21H
    
    ;============ CETAK VARIABEL STRING DG MODEL COMPARASI ==========
    
    MOV BX,OFFSET KATA+2        
    
    
CETAK:
    MOV DL,[BX]                    
    CMP DL,0DH                    
    JE BELAKANG                    
        
    MOV AH,02H
    INT 21H
    
        CMP DL,'a'
        JE VOKAL   
        CMP DL,'i'
        JE VOKAL
        CMP DL,'u'
        JE VOKAL
        CMP DL,'e'
        JE VOKAL
        CMP DL,'o'
        JE VOKAL
        CMP DL,'A'
        JE VOKAL
        CMP DL,'I'
        JE VOKAL
        CMP DL,'U'
        JE VOKAL
        CMP DL,'E'
        JE VOKAL
        CMP DL,'O'
        JE VOKAL 
        
PLUS:INC BX
     JMP CETAK    
   
    ;============= CETAK KATA DARI BELAKANG ==================

BELAKANG:MOV AH,09H
         MOV DX,OFFSET KAL2
         INT 21H   
         MOV AH,09H
         MOV DX,OFFSET KALX            
         INT 21H                     

CETAK1:    
    MOV DL,[BX]                    
    CMP DL,KATA+1                
    JE VOKAL1                   
                     
    MOV AH,02H    
    INT 21H
    DEC BX
    JMP CETAK1
      
            
    ;============ CETAK JUMLAH VOKAL ================
    
VOKAL1:
    MOV AH,09H
    MOV DX,OFFSET KAL4
    INT 21H
    
    MOV DL,CL
    ;ADD DL,30H
    MOV AH,02H
    INT 21H 
    
                   
    ;============ CETAK JUMLAH KONSONAN ===============
    
KONSONAN:
    MOV AH,09H
    MOV DX,OFFSET KAL5
    INT 21H
   
    MOV BX,OFFSET KATA+1        
    MOV DL,[BX]                 
    ADD DL,30H                    
    SUB DL,CL                    
    ADD DL,30H                    
    MOV AH,02H
    INT 21H  
    
    
    ;============= CETAK PANJANG STRING ================
    
AKHIR:
    MOV AH,09H
    MOV DX,OFFSET KAL3
    INT 21H
    
    MOV BX,OFFSET KATA+1
    MOV DL,[BX]
    ADD DL,30H
    MOV AH,02H
    INT 21H  
            
SELESAI:
    INT 20H
    
END AWAL
    
adsense here 



PENGERTIAN BAHASA ASSEMBLY

.MODEL SMALL ;memberitahu assembler berapa memori yang akan dipakai
.CODE ; Mendeklarasikan bahwa bagian dibawah ini adalah instruksi program
ORG 100h ;Mengatur awal dari program
TData : JMP Proses
T_ASCII DB 13,10,’Ini adalah tombol ASCII : $’
T_Extended DB 13,10,’Ini adalah tombol Extended $’
Proses : ;Deklarasi Proses
MOV AH,0 ; Servis Input satu karakter dan memasukan nilai 0 ke AH
INT 16h ; Menjalankan
PUSH AX ; Menyimpan hasil dari pembacaan pada stack
CMP AL,00 ; Percabangan apakah ini karakter extended ?
JE Extended ; Jika Betul !, Lompat ke Extended
ASCII: ;Deklarasi ASCII
LEA DX,T_ASCII ; Mengambil alamat T_ASCII
MOV AH,09 ; Memasukan nilai 09 ke AH
INT 21h ; Cetak kalimat !
POP AX ; Mengambil kembali nilai AX pada stack
MOV DL,AL ; Mengambil kode ASCII yang ditekan, Menduplikasikan isi register AL ke DL
MOV AH,2 ; Memasukan Nilai 2 ke AH
INT 21h ; Cetak karakter !
CMP AL,’Q’ ; Apakah yang ditekan huruf ‘Q’ ?
JE exit ; Jika Betul !, lompat ke Exit
CMP AL,’q’ ; Apakah yang ditekan huruf ‘q’ ?
JE exit ; Jika betul !, lompat ke Exit
JMP Proses ; Lompat ke Proses
Extended: ;Deklarasi Extended
LEA DX,T_Extended ; Mengambil alamat T_Extended
MOV AH,09 ; Memasukan nilai 09 ke AH
INT 21h ; Cetak dan menampilkan kalimat !
JMP Proses ; Lompat ke Proses
exit: INT 20h ; Pengembalian Nilai ke DOS !
END TData ; Program Selesai !

Jenis - jenis intruksi

jenis-jenis intruksi assembly  terbagi menjadi beberapa bagian ,antara lain sebagai berikut :

- Data Processing
- Data Storage (main memory)
- Data Movement (I/O)
- Program flow control

jenis operand
- address
Number
integer/floating point.

Character
ASCII

Logical data
Bits or flags

format intruksi assembly

terdiri dari Op-code 8bit 
+
operand(data, register,dll)
MOV,AX,BX ßà89 (opcode) D8 (operand)

coding 
sesungguhnya bahasa mesin diciptakan untuk kemudahan programer (manusia)
control unit di CPU hanya mengerti pola bit perintah 
MOV AX,BX         ßà  89 D8
MOV AL,[2400]    ßà     A0 00 24  
ADD AX,BX ßà 01 D8

KODE UNTUK PERINTAH MOV

Artikel elemen assembly

elemen dasar assembly

simbol intruksi tunggal adalah simbolik intruksi mesin tunggal,dalam bentuk sederhana yang terdiri dari satu mnemonic , kode alphabet yang membantu secara singkat / membantu memori dalam mengingat intruksi CPU,berikut contoh operand :
clc : hanya sebuah mnemonic
inc ax : operand tunggal
mov ax , bx : dua operand
operand berupa variable , register , lokasi memori, nilai immediate.
contohnya :
10 ( nilai immediate)
count (variable)
AX (register)
[0200] (lokasi memori)

contoh program pada assembly, operand langsung adalah konstanta 5 dan 10. berikut ini contoh program untuk menjumlah 3 bilangan dan menyimpan dalam variable yang diasumsikan sum dalam heksadesimal.
mov ax, 5 ; memindahkan 5 kedalam register ax
add ax, 10 ; menambahkan nilai 10h terhadap register ax
add ax, 20 ; menambahkan nilai 20h terhadap register ax
mov sum,ax ; menyimpan ax dalam variable sum
int 20 ; akhir program
intruksi MOV memerintahkan CPU untuk memindahkan atau menyalin data, dari operand sumber operand. Baris 1 memindahkan 5 kedalam register ax, baris 2 memindahkan 10heksa kedalam ax membuat sama dengan 15,baris 3 menambahkan 20 ke ax membuatnya sama dengan 35, dan baris 4menyalin ax kedalam variable dalam memori yang disebut SUM dan baris terakhir digunakan untuk menghentikan program.
perintah DEBUG untuk menyusun dan menguji program adalah :
A100; assembly dimulai pada 100h
Mov ax 5; perintah program pertama
Add ax 10
Add ax 20
Mov [0120]; ax hasil jumlah pada lokasi 0120h
int 20; akhir program (tekan enter untuk mengakhiri assembly)
R; menampilkan register
T; Trace satu intruksi
T
T
G; eksekuensi sisa program
Q; keluar dari DEBUG dan kembali ke DOS
setelah intruksi kedua akan diperoleh tampilan hasil sebagai berikut
Mov ax,5         ax: 5
Add ax,10       ax: 10
Add ax,20       ax: 20
Mov sum,ax     ax: 35   sum: 35
AX = 0015  BX=0000       CX=0000       DX=0000             SP=FFEE

BP =0000    SI=0000        DI=0000         DS=23AD            ES=23AD

SS= 23AD   CS=23AD     IP=0106         NV UP EI PL NZ NA PO NC

23AD:0106  052000                                 ADD AX,0020
Register AX merupakan hasil penjumlahan 5 dan 10 sehingga AX= 15. Register IP menyimpan alamat intruksi berikutnya yang akan dieksekusi 0106 intruksi berikutnya akan di eksekusi ADD AX,0020.
konstanta mungkin nomor atau karakter string,dia tidak dapat diubah saat program dijalankan
kumpulan karakter dalam assembly
Letter : A-Z, a-z
digit : 0-9

VARIABLE adalah lokasi memori yang dapat berubah saat program dijalankan.
ABC
2134
5*6
(1+2)/3
INTEGER dibagun oleh digit-digit angka tanpa decimal diikuti oleh karakter radix (d=decimal, h=hexa, q=okal, b=biner)
Contoh
Radix
11110000b
200
300d
4A6Bh
2047q
2047o
Biner
Decimal
Decimal
Heksadesimal
Octal
oktal



Bilangan Rill. angka rill mengandung digit, titik desimal tunggal
[{+/-}]digit.digit[E{+/-}]digit
contoh :
2.3
+200.576E+05
0.243526E-05
6.08e3
Notasi sintak
kata kunci yang diperlukan ditulis dalam huruf capital. kata dengan huruf kecil miring adalah istilah-istilah yang didefinifikasikan sebelumnya seperti identifier, operand ,dan register . karekter ASCII tunggal atau string karakter yang ditutup oleh quotasi tunggal atau ganda
contoh :
"a"
'B'
"stack overflow"
'012#?%&'



Selasa, 16 Oktober 2012

Pengertian Dan Cara Kerja Topologi BUS

PENGERTIAN DAN CARA KERJA TOPOLOGI BUS

Dalam istilah jaringan komputer adalah metode transmisi pada jaringan yang dapat digambarkan sebagai transmisi yang menggunakan kendaraan umum. Oleh karena itu di kategorikan sebagai komunikasi bersama.

 

Pada topologi bus hanya terdapat satu perangkat yang diperoleh mengirim pada satu titik waktu yang disebut DAP (Distribution Acces Protokol).

 

Cara Kerja Bus

topologi jaringan bus menghubungkan kesetiap komputer di jaringan yang disebut trunk segmen. Bus biasanya disebut kabel yang menghubungkan ujung ke ujung lainnya. Pada akhir setiap terminator ditempatkan ia mengenali kemana arah data berpergian dan terminator digunakan untuk menyerap sinyal.

 

Kelebihan dan kekurangan Topologi bus antara lain sebagai berikut :

  •  Jika satu komputer gagal dalam jaringan yang lain,masih tidak berpengaruh dan mereka terus bekerja

  •  jaringan bus sangat simpel/mudah sehingga hanya menggunakan sedikit kabel

  • Penerapan topologi jaringan bus tidak membutuhkan biaya besar dibandingkan jenis topologi lainnya.

     

    Kekurangan :

    • Jaringan bus tidak cocok sebagai jaringan besar karena terdapat keterbatasan jumlah node yang dapat diatur untuk satu persatu kabel

    •  Jaringan bus sedikit menantang ketika anda harus memecahkan masalah

       

      Kesimpulan : 

      Jaringan ini dianggap termudah mengaplikasikan dalam hal memberi solusi akan kebutuhan jaringan yang mendesak dibandingkan topologi jaringan lainnya. sa;ah satu keuntungan topologi bus yaitu ada master bus jaringan yang menjamin data mengalir kearah yang benar secara tertib.