Está en la página 1de 2

9.

Hacer un programa que revise los datos almacenados en las localidades 0C00h a 0C0Fh y cuente cuantos nmeros mayores o iguales a 30h hay (Todos los nmeros son positivos), debe almacenar la cuenta en la direccin 0C10h. Inicio

SI = 0 [0C10h] = 0 CX = 0 DL = 30h

BL = [0C00h + SI]

NO

BL >=30 SI

[0C10h] = [0C10h] +1

SI = SI +1

NO

CX = 0 SI Fin

.model small .stack .data .code mov ax, @data mov ds, ax mov si, 0 mov [0C10h], 0 mov cx, 000Fh mov dl, 30h comparacion: mov bl, [0C00h+si] cmp bl, dl jae mayor jmp menor mayor: inc [0C10h] menor: inc si loop comparacion mov ax, 4C00h int 21h END ;Inicializando el registro si a cero ;Inicializando la direccin de memoria a cero ;Inicializando el registro CX a F hexadecimal ;Inicializando el registro DL a 30 hexadecimal

;Moviendo a BL el dato a ser comparado ;Comparacin de BL con DL, en este paso se compara el dato antes extrado con el numero 30 hexadecimal ;Si BL es mayor o igual a 30h, saltar a "mayor" ;De lo contrario saltar a "menor" ;Incrementar el valor de la direccion de memoria [0C10h] ;Incrementar SI ;Si CX no es cero saltar a "comparacion"

También podría gustarte