segunda-feira, 14 de janeiro de 2013

Programa em Assembly (trabalho em bloco de notas).


.model small
.stack 200h  ;definir o tamanho da pilha
.data
firststring db "Digite a letra F:     ;primeiro conjunto de caracteres
secondstring db "Muito bem voce digitou a letra Fquot; ;segundo conjunto de caracteres
thirdstring db "Era para voce digitar a letra F seu ignorantequot; ;terceiro conjunto de caracteres

.code ;início do código
Inicio:
mov ax, @data ;mover data para AX
mov ds, ax
mov ah,9h ;funcão para imprimir caracteres no ecrã
mov dx, offset
int 21h
mov ah,0
int 16h
push ax ;insere ax na pilha
mov DL, AL ;não sensível a maiúsculas/minúsculas
mov AH,2h
int 21h
pop ax ;elimina ax

CMP AL, "f ;semelhante a uma instrução if (comparar)
JNE DigitoErrado ;saltar para outra parte do código

mov ax, seg secondstring
mov ds, ax
mov dx, offset secondstring
mov ah, 9h
int 21h


DigitoErrado: ;salta para aqui se AL <> ''f''
mov dx, offset thirdstring
mov ah,9h
int 21h
mov ax, 4c00h ;função para sair do programa
int 21h
end Inicio


Comandos no DOS:
tasm test1 ;compila o ficheiro objeto
tlink test1 ;cria o ficheiro executável


Sem comentários:

Enviar um comentário