• Twitter
  • Facebook
  • Instagram
  • Youtube
  • Email

Wednesday, 11 January 2012

Program Assembler (Display Time)

'Display Time Source Code

.MODEL SMALL
 .STACK 100H

 .DATA
   TAMPIL  DB  'Sekarang pukul : $'    
   WAKTU   DB  '00:00:00$'        ; formatnya jam:min:sec

 .CODE
   MAIN PROC
     MOV AX, @DATA                ;  inisialisasi DS
     MOV DS, AX

     LEA BX, WAKTU                ; BX=offset address of string WAKTU

     CALL AMBILWAKTU        ;

     LEA DX, TAMPIL               ;
     MOV AH, 09H                     ; print string TAMPIL
     INT 21H                     

     LEA DX, WAKTU                ;
     MOV AH, 09H                      ; print string WAKTU
     INT 21H                     

     MOV AH, 4CH                     ; interup 21h servis 4c
     INT 21H
   MAIN ENDP

   AMBILWAKTU PROC
  
    PUSH AX                       ;
    PUSH CX                       ;

    MOV AH, 2CH               ; servis untuk ambil waktu sistem
    INT 21H                      

    MOV AL, CH                  ; set AL=CH , CH=jam yang didapatkan
    CALL KONVERSI          ; konversi ke ascii
    MOV [BX], AX                ; set [BX]= jamny  , [BX] menunjuk ke jam dalam string WAKTU

    MOV AL, CL                    ; set AL=CL , CL=menit
    CALL KONVERSI           ; call  procedure KONVERSI
    MOV [BX+3], AX             ; set [BX+3]=menit  , [BX] menunjuk ke menit dalam string WAKTU

                                                                         
    MOV AL, DH                    ; set AL=DH , DH=detik
    CALL KONVERSI            ; call procedure KONVERSI
    MOV [BX+6], AX             ; set [BX+6]=detik  ,
                                                     
    POP CX                        ;
    POP AX                        ;

    RET                               ;
   
   AMBILWAKTU ENDP                ;

    KONVERSI PROC
    ; konversi dari binary ke ASCII
    ; input : AL=binary
    ; output : AX=ASCII

    PUSH DX                  
    MOV AH, 0                
    MOV DL, 10              
    DIV DL                        
    OR AX, 3030H           ; konversi dilakukan dari binary dalam  AX ke ASCII

    POP DX                
    RET                        
   
   KONVERSI ENDP

 END MAIN 

Semua Tulisan Yang Terposting Di Website HMPS TI Univ. Kanjuruhan Malang adalah Sepenuhnya Hak Cipta dari HMPS TI. Untuk Saran silahkan layangkan pesan anda ke hmpstikanjuruhan@gmail.com. Terimakasih, Salam YES.

0 comments:

Post a Comment

Terimakasih Atas Komentar Anda, Salam JOSS dari HMPS TI UNIKAMA

Kontak

Lebih Dekat Dengan Kami


Alamat Kami

Jalan S. Supriadi no. 48 Malang

Telepon

0858-9520-3883 (May Lando)

Website

www.hmpsti.com