domingo, 26 de setembro de 2010

Linguagem Assembly

   Assembly foi a primeira linguagem de programação que não utilizou código binário para a escrita de programas. Esta linguagem alargou, deste modo, o universo de programadores de computadores visto que deixou de ser necessário ao utilizador saber o número de 0 e 1 que correspondiam a cada letra que se pretendia escrever.
   Esta linguagem é muito mais difícil de aprender que uma linguagem de alto nível (C++, Java). No entanto, quando correctamente utilizada,  Assembly permite que os programas sejam mais rápidos e utilizem menos espaço de memória em relação à programação com linguagens de alto nível.

   A lista de instruções necessárias para somar dois números em assembly é bastante maior que em C++ ou Java:

TITLE ADD
.model small
.stack 100h
.data

add_msga    db    10,13, "Enter Number 1: $"
add_msgb    db    10,13, "Enter Number 2: $"
add_num1    db  ?
add_num2    db    ?
add_result    db    ?

.code
main PROC
mov ax,@data
mov ds,ax

call AddNumbers

mov ax, 4c00h
int 21h
main ENDP


AddNumbers PROC
;get num1
    mov ah, 09h
    mov dx, offset add_msga
    int 21h
    
    mov ah, 1h
    int 21h
    mov add_num1, al
    
;get num2
    mov ah, 09h
    mov dx, offset add_msgb
    int 21h
    
    mov ah, 1h
    int 21h
    mov add_num2, al

;add [numbers]
    mov al, add_num1
    add al, add_num2
    mov add_res, al
    
;output result
    mov ah, 09h
    mov dx, offset add_res
    int 21h

    ret

AddNumbers endp

END main.

Sem comentários:

Enviar um comentário