
Para que sirven estas variables?
Publicado por pablo (2 intervenciones) el 15/11/2014 16:42:50
NOTESE QUE EL PROGRAMA LEE UNA CADENA Y CUENTA LOS CARACTERES DE ELLA. MIS DUDAS ESTAN COMENTADAS A PARTIR DE LA LINEA 11.
PARA QUE SIRVEN ESAS VARIABLES? PROBE COMENTANDO Y TODAVIA NO PUEDO LLEGAR A UNA CONCLUSION QUE ME AYUDE A REVELAR PARA QUE SIRVEN. ESPERO SUS RESPUESTAS AMABLEMENTE Y AGRADECIDO ESTARÉ. SALUDOS
.MODEL small
.stack 100h
include emu8086.inc
.data
LF equ 10
OD equ 13
mens db "Inserta cadena",LF,OD,"$"
salto db LF,OD,"$"
cadena label byte ;este programa acepta como máximo 50 caracteres introducidos
chare db 50 ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
max db 50 ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
campo db ? ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
.code
start:
mov ax,@data ;aca mueve todo el segmento de datos al registro ax
mov ds,ax ;aca mueve al registro ds todo lo qe hay en ax (datos)
mov ah,09
lea dx,mens ;aca lo qe hace es mostrar por pantalla
int 21h ;mens
mov ah,0ah ;aca nos va a pedir el numero
lea dx, cadena ;qe necesitamos averiguar
int 21h ;su longitud
mov ah,09 ;aca va a leer un salto
lea dx,salto ;que es un fin de linea
int 21h ;ya que arriba esta definido!!
lea si,campo ;aca manda todo el campo al registro SI
mov cx,00 ;asigna 0 a cx para qe no tenga basura!!!!!!!!
loop0:
mov al,[si] ;mueve a al lo qe hay en [si]
cmp al,0dh ;si detecta un enter
jz salimos ;deja de contar los caracteres
inc cx ;se suma 1 al registro cx
inc si ;aumenta en 1 la direccion del registro SI para
jmp loop0 ;que se fije el siguiente numero en la cadena
salimos:
;mov bl,10
mov ax,cx
call print_num
hlt
;div bl
;mov dx,ax
;or dx,3030h
;mov ah,02h
;int 21h
;xchg dl,dh
;mov ah,02h
;int 21h
;mov ax, 4C00h
;int 21h
define_scan_num
define_print_string
define_print_num
define_print_num_uns
PARA QUE SIRVEN ESAS VARIABLES? PROBE COMENTANDO Y TODAVIA NO PUEDO LLEGAR A UNA CONCLUSION QUE ME AYUDE A REVELAR PARA QUE SIRVEN. ESPERO SUS RESPUESTAS AMABLEMENTE Y AGRADECIDO ESTARÉ. SALUDOS
.MODEL small
.stack 100h
include emu8086.inc
.data
LF equ 10
OD equ 13
mens db "Inserta cadena",LF,OD,"$"
salto db LF,OD,"$"
cadena label byte ;este programa acepta como máximo 50 caracteres introducidos
chare db 50 ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
max db 50 ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
campo db ? ;ESTA VARIABLE PARA QUE SIRVE??? <-----------DUDA!!
.code
start:
mov ax,@data ;aca mueve todo el segmento de datos al registro ax
mov ds,ax ;aca mueve al registro ds todo lo qe hay en ax (datos)
mov ah,09
lea dx,mens ;aca lo qe hace es mostrar por pantalla
int 21h ;mens
mov ah,0ah ;aca nos va a pedir el numero
lea dx, cadena ;qe necesitamos averiguar
int 21h ;su longitud
mov ah,09 ;aca va a leer un salto
lea dx,salto ;que es un fin de linea
int 21h ;ya que arriba esta definido!!
lea si,campo ;aca manda todo el campo al registro SI
mov cx,00 ;asigna 0 a cx para qe no tenga basura!!!!!!!!
loop0:
mov al,[si] ;mueve a al lo qe hay en [si]
cmp al,0dh ;si detecta un enter
jz salimos ;deja de contar los caracteres
inc cx ;se suma 1 al registro cx
inc si ;aumenta en 1 la direccion del registro SI para
jmp loop0 ;que se fije el siguiente numero en la cadena
salimos:
;mov bl,10
mov ax,cx
call print_num
hlt
;div bl
;mov dx,ax
;or dx,3030h
;mov ah,02h
;int 21h
;xchg dl,dh
;mov ah,02h
;int 21h
;mov ax, 4C00h
;int 21h
define_scan_num
define_print_string
define_print_num
define_print_num_uns
Valora esta pregunta


0