Escolar Documentos
Profissional Documentos
Cultura Documentos
II
Ronaldo Luiz Alonso
Terceiro Programa
WRITE_CHAR PROC
mov AH,2h ;função 2h, imprime caracter
int 21h ;imprime o caracter que está em DL
ret ;retorna o controle ao procedimento que chamou
WRITE_CHAR ENDP ;finaliza o procedimento
END PRINT_A_J ;finaliza o programa
WRITE_CHAR PROC
mov AH,2h ;função 2h, imprime caracter
int 21h ;imprime o caracter que está em DL
ret ;retorna o controle ao procedimento que chamou
WRITE_CHAR ENDP ;finaliza o procedimento
END PRINT_A_J ;finaliza o programa
; SUM1.ASM – Soma dois caracteres (que se supõe ser números) sem verificação
.MODEL small
.STACK 100h
.DATA
newline DB 13,10,'$'
prompt1 DB 'Entre com o primeiro numero:',13,10,'$'
var1 DB 1
prompt2 DB 'Entre com o segundo numero:',13,10,'$'
var2 DB 1
prompt3 DB 'O resultado da soma eh:',13,10,'$'
var3 DB ' ',13,10,'$'
.CODE
mov ax,@data
mov ds,ax ;set DS to point to the data segment
mov ah,9
mov dx, OFFSET var3 ; exibe o resultado
int 21h
.MODEL small
.STACK 100h
.DATA
newline DB 13,10,'$'
prompt1 DB 'Entre com o primeiro numero:',13,10,'$'
var1 DB 1
prompt2 DB 'Entre com o segundo numero:',13,10,'$'
var2 DB 1
prompt3 DB 'O resultado da soma eh:',13,10,'$'
var3 DB ' ',13,10,'$'
prompt4 DB 'Caracter nao eh digito!',13,10,'$'
.CODE
mov ax,@data
mov ds,ax ;set DS to point to the data segment
FAZ_DE_NOVO1:
mov ah,9 ;DOS print string function
mov dx,OFFSET prompt1 ;point to "Entre com o primeiro numero"
int 21h ;display "Hello, world"
jmp FINALIZA1
NOT_DIGIT:
FINALIZA2:
mov al,[var2]
mov bl,[var1]
add al,bl
add al,30h
mov [var3],al
mov ah,9
mov dx, OFFSET var3
int 21h
FAZ_DE_NOVO2:
jmp FINALIZA2
NOT_DIGIT2:
mov al,[var2]
mov bl,[var1]
add al,bl
add al,30h
mov [var3],al
mov ah,9
mov dx, OFFSET var3
int 21h