A linguagem Assembly (também conhecida por Assembler ou ASM) é uma linguagem de baixo nível (2ª geração), apesar de ter sido a primeira linguagem de programação - criada na década de 50 - que não utilizou código binário na escrita dos programas.
Corresponde a uma linguagem, onde cada comando produz uma instrução de máquina, o que traz vantagens a nível da performance mas, o tratamento da informação implica decorar demasiados e rigorosos comandos deixando de ser prático e rápido de funcionar com este tipo de linguagens.
Programa ADD:
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.
.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.


