Você está na página 1de 7

Programa HOLA MUNDO

DATOS SEGMENT
MENSAJE DB "HOLA MUNDO$"
DATOS ENDS

PILA SEGMENT STACK "STACK"
DB 200 DUP(0)
PILA ENDS

CODIGO SEGMENT
ASSUME CS:CODIGO,DS:DATOS,SS:PILA
PRINCIPAL PROC
MOV AX,DATOS
MOV DS,AX
MOV AH,9
MOV DX,OFFSET MENSAJE
INT 21H
MOV AH,4CH
INT 21H
PRINCIPAL ENDP
CODIGO ENDS
END PRINCIPAL

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-


;Programa SUMA DE 3 NUMEROS

pila segment para stack "stack"
dw 32 dup (0)
pila ends

datos segment para "datos"
num1 dw 20
num2 dw 30
num3 dw ?
datos ends

codigo segment para "codigo"
empieza proc Iar
assume cs: codigo, ds: datos, ss:pila
mov ax,datos
mov ds,ax
mov ax,num1
add ax,num2
mov num3,ax
mov dx,num3
mov ax, 4C00H
int 21H
empieza endp
codigo ends
end empieza




.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-


;PROGRAMA OBTIENE EL COMPLEMENTO A 2 DE UN NUMERO

pila segment para stack "stack"
db 200 dup (o)
pila ends

datos segment para "data"
var db 40H
datos ends

codigo segment para "code"
empieza proc Iar
assume cs: codigo, ds: datos, ss: pila

mov ax,datos
mov ds,ax

mov al,var

mov dl,al
mov ah,2
int 21

not al
inc al

mov dl,al
mov ah,2
int 21
empieza endp
codigo ends
end empieza

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-


;PROGRAMA CICLO LOOP. SUMAR 15D A 8 NUMEROS

PILA SEGMENT PARA STACK "STACK"

DB 200 DUP (0)
PIALA ENDS

DATOS SEGMENT PARA "DATA"

TABLA DB 20,26,15,28,19,27,16,29
DATOS ENDS

CODIGO SEGMENT PARA "CODE"

ASSUME CS:CODIGO,DS:DATOS.SS:PILA

EMPIEZA PROC FAR

MOV AX,DATOS
MOV DS,AX
MOV BX,OFFSET TABLA
MOV CX,8
ETA: ADD AL,15
INC BX
LOOP ETA
MOV AX,4C00H
INT 21H

EMPIEZA ENDP

CODIGO ENDS

END EMPIEZA

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-


;CAMBIAR DE MAYUSCULAS A MINUSCULAS UNA CADENA DE
CARACTERES

PILA SEGMENT PARA STACK "STACK"
DB 64 DUP(0)
PILA ENDS

DATOS SEGMENT PARA "DATA"

V1 DB "JKLMNOPQR"

DATOS ENDS

CODIGO SEGMENT PARA "CODE"
EMPIEZA PROC FAR

ASSUME CS:CODIGO, DS:DATOS, SS:PILA

MOV AX,DATOS
MOV DS,AX

MOV BX, OFFSET V1
MOV CX, 9
ETA:
MOV AH, |BX|
MOV AH, 40H
MOV DL, AH
MOV AH, 2

INC BX
DEC CX
JNZ ETA

MOV AX,4C00H
INT 21H


EMPIEZA ENDP
CODIGO ENDS
END EMPIEZA

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-



;DIRECTIVAS SIMPLIFICADAS CAMBIAR A MAYUSCULAS Y MINUSCULAS

.MODEL SMALL

.STACK 64

.DATA
MSS1 DB "parabra en minusculas",13,10
DB "en mayusculas es:$"
NOMBRE DB "palabra$"

.CODE
EMPIEZA PROC FAR


MOV AX,(DATA
MOV DS,AX

MOV DX,OFFSET MSS1
MOV AH, 9
INT 21H
MOV BX, OFFSET NOMBRE
MOV CX, 7

INICIO:
MOV AH, |BX|
AND AH, 11011111B
MOV DL, AH
MOV AH, 2
INT 21H
INC BX
LOOP INICIO

MOV AX,4C00H
INT 21H

EMPIEZA ENDP
END EMPIEZA

.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-



;PROGRAMA ENTRADA Y SALIDA DEL TECLADO CON MACROS.
PROCEDIMIENTOS
FIN MACRO
MOV AH, 4CH
INT 21H
ENDM
;---------------------------------------------------

PILA SEGMENT PARA STACK "STACK"
DB 200 DUP (0)
PILA ENDS
;---------------------------------------------------

DATOS SEGMENT PARA "DATA"
VA DB "DESPUES DE MEDIO DIA (Y/N): ","$"
VD DB 13,10," BUENOS DIAS","$"
VT DB 13,10," BUENAS TARDES","$"
DATOS ENDS
;---------------------------------------------------

CODIGO SEGMENT PARA "CODE"
EMPIEZA PROC FAR
ASSUME CS: CODIGO, DS: DATOS, SS: PILA

MOV AX, DATOS
MOV DS, AX

MOV AH, 0FH
INT 10H
MOV AH, 00H
INT 10H

MOV DX,OFFSET VA
MOV AH,9
INT 21H

CALL PREGUNTA

EMPIEZA ENDP

PREGUNTA PROC NEAR

MOV AH, 01H
INT 21H

CMP AL, "Y"
JZ TARDES

CMP AL, "N"
JZ DIAS

CMP AL, "y"
JZ TARDES

CMP AL, "n"
JZ DIAS

TARDES:
MOV DX, OFFSET VT
MOV AH, 09
INT 21H
FIN

DIAS:
MOV DX, OFFSET VD
MOV AH, 09
INT 21H
FIN

RET
PREGUNTA ENDP

CODIGO ENDS
END EMPIEZA

http://Ioro.elhacker.net/asm/tutorialasmbasicoeiemplos-
t102701.0.html#ixzz1A7GTFY7u

Você também pode gostar