jueves, 17 de noviembre de 2016

progrma emu8086 (10 )

leidy soler  (1) 

  STACK SEGMENT STACK;  
DW 65 DUP (?);
DATA SEGMENT;
Nombre DB " LEIDY SOLER  .. CODIGO 50765  ,13,10," "$";
INICIO:;   
MOV AX,DATA ;
MOV DS,AX;
MOV AH,09H ;
INT 21H ; 
END INICIO;

leidy soler  (2)

org 100h
comienzo: 
mov si, x
mov al, msg2[si]
cmp msg[si], al ;comparar letra por letra las cadenas, si uno no coincide manda directamente a fin y termina el programa
jne fin:
cmp msg[si], "$" ;si es el final y el programa llega aca, quiere decir que son iguales   
cmp msg[si], "$" 
jz final:
inc x
loop comienzo
final:
mov dx, offset msg3 
mov ah, 9
int 21h
fin:
ret
msg db "hello world $" 
msg2 db "hello world $" 
msg3 db "leidy soler codigo:50765 ..... El procesador, también conocido como CPU $"  
x dw 0 

end enicio

leidy soler   (3)


org 100h 
;escribir su nombre en pantalla accediendo a la memoria del video 
jmp inicio 
nombre db "mi llamo leidy soler que esta estudiando ingeniencia de sistema ";Guardo en una variable mi nombre 
inicio: ;etiqueta para saltos de memoria 
   
mov dx,0b800h ;guardo la direccion del video en dx 
mov es,dx ;direcciono el video al segmento extra  
mov cx,64 ;guardo en cx la cantidad de caracteres de la variable nombre 
mov si,0 ;inicializo la posicion del primer caracter 
mov di,offset nombre ; 
bucle:  ;etiqueta para el bucle o ciclo repetitivo 
mov al,[di] ;direcciono en "al" el siguiente caracter de nombre 
es:mov byte ptr[si],al ;muestro en pantalla el caracter en posicion "si" 
add si,2 ;desplazo la posicion de puntero para seguir escribiendo 
inc di ;incremento en 1 a "di" y paso al siguiente caracter 
loop bucle ;regresa a bucle y resta cx en 1 hasta que cx sea igual a 0  
int 21h;


ret  


leidy soler  (4)

org 100h ;Todo lo escrito despues de " ; " son comentarios  
;escribir su nombre en pantalla 
jmp inicio ;salto incondicional a una etiqueta
nombre db "leidy soler una rosa es una flor, una billon una fortuna, y una amiga como tu , no la cambio por ninguna.$";Para este caso el nombre tiene que terminar con $ 
inicio:  ;etiqueta
mov ah,9 ;con esto le digo a la interrupcion que escriba en pantalla 
mov dx,offset nombre ;con esto le indico la direccion del texto 
int 21h ;invoco a la interrupcion para escribir en pantalla 
int 20h ;invoco interrupcion para termina el programa 

ret  

leidy soler  (5)

title programa que imprime si es mayor de edad o no
.model small
.stack 64
.data
edad db 15
mayor db 'el procesador...','$'
menor db 'microprocesador o simplemente procesador se le suele llamar el cerebro de la computadoera ya que es el sircuito integrado central de procesamiento ...','$'
.code
begin proc far
mov ax,@data
mov ds,ax
mov es,ax
cmp edad,18
jae b20
mov ah,09h ;peticion para desplegar
lea dx,menor ;carga la direccion de la indicacion
int 21h ;llama al dos
jmp b21 ;salta a la etiqueta b21 para salir
b20:
mov ah,09h ;peticion para desplegar
lea dx,mayor ;carga la direccion de la indicacion
int 21h ;llama al dos
b21:
mov ax,4c00h
int 21h
begin endp

end begin

leidy soler  (6)

.model small 
.stack 
.data 
.code 
.startup 

;"del ejemplo simple" 

mov al,10 
mov bl,24 
imul bl 

mov bl,10 

div bl 
mov bx,ax 
or bx,3020h 
mov ah,02h 
mov dl,bl 
int 21h 
mov ah,02h 
mov dl,bh 
int 21h 

.exit 

end

leidy soler  (7)

.model small
.stack
.data
   saludo   db "triste es mirar el cielo una noche sin luna.pero mas triste es amar sibn esperanza alguna!!!", "$"

.code

main  proc              ;Inicia proceso
   mov   ax,seg saludo     ;hmm ¿seg?
   mov   ds,ax          ;ds = ax = saludo

   mov   ah,09          ;Function(print string)
   lea   dx,saludo         ;DX = String terminated by "$"
   int   21h               ;Interruptions DOS Functions

;mensaje en pantalla

   mov   ax,4c00h       ;Function (Quit with exit code (EXIT))
   int   21h            ;Interruption DOS Functions

main  endp              ;Termina proceso

end main

leidy soler  (8)

page 600,1000
title p09asm (EXE) Operaciones de movimiento extendidos
.model small
.stack 200
.data
nom db 'leidy soler ','$'
ape db 'ler  va','$'
nomcom db 'realizar pero mas realizar incursion a traves del mundo de la fisica cuantica.','$'
.code
begin proc far
mov ax,@data
mov ds,ax
mov es,ax
mov cx,08
lea si,nom
lea di,nomcom
b20:
mov al,[si]
mov [di],al
inc si
inc di
dec cx
jnz b20
mov cx,07
lea si,ape
b21:
mov al,[si]
mov [di],al
inc si
inc di
dec cx
jnz b21
mov ah,09h ;
lea dx,nomcom ;
int 21h 
mov ax,4c00h
int 21h
begin endp

end begin 

leidy soler  (9)

org 100h
comienzo: 
mov si, x
mov al, msg2[si]
cmp msg[si], al ;la memoria RAM
jne fin:
cmp msg[si], "$" ;Los dos tipos de memoria RAM se diferencian en la tecnologia que utilizan para guardar los datos, la memoria RAM dinamica es la mas comun
jz final:
inc x
loop comienzo
final:
mov dx, offset msg3 
mov ah, 9
int 21h
fin:
ret
msg db "hello world $" 
msg2 db "hello world $" 
msg3 db " La memoria RAM es el tipo de memoria mas comun en ordenadores y otros dispositivos como impresoras. $"

x dw 0

leidy soler  (10) 

org 100h ; " bits  ; " 
;escribir su nombre 
jmp inicio ;
nombre db " Tambien puede significar el numero de bits utilizados para representar una direccion en la memoria. .$"; $ 
inicio:  ;
mov ah,9 ; 
mov dx,offset nombre ;
int 21h ; leidy soler 
int 20h ;

ret  

No hay comentarios:

Publicar un comentario