Está en la página 1de 3

Programas en ensamblador.

Enmascararado. Colocar los 4 LSB de la localidad 0040H dentro de los 4 LSB de la localidad 0041H. Nota: limpiar los 4 MSB de 0041H. ORG 0000H LD LD LD LD LD AND INC LD HALT END

IX,0040H (IX+00H),7DH D,0FH HL,0040H A,(HL) D HL (HL),A

Comparar numeros. Colocar el nmero mayor de las localidade0030H y 0031H dentro de la localidad 0032H. ORG 0000H LD LD LD LD LD SUB JR LD LD HALT NMENOR LD HALT END Clasificador. Se tiene una tabla de datos en la localidad 0050H. Generar dos tablas en 0060H y 0070H. La tabla en 0060H contendr los datos menores a 57H de la tabla 0050H. La segunda tabla contendr los valores superiores. ORG LD 0000H HL,0050H

IY,0030H (IY+00H),07H (IY+01H),0AH A,(IY+00H) D,(IY+01H) D C,NMENOR A,(IY+00H) (IY+02H),A LD A,(IY+01H) (IY+02H),A

LD INC LD INC LD INC LD INC LD INC LD INC LD INC LD INC LD INC LD LD LD LD LD LD CICLO LD SUB JR LD LD INC JR SALTO LD LD INC SALTO2 INC DJNZ HALT END

(HL),05H HL (HL),0FAH HL (HL),80H HL (HL),21H HL (HL),39H HL (HL),56H HL (HL),0C0H HL (HL),10H HL (HL),2FH HL (HL),0FFH D,57H B,0AH IY,0060H IX,0070H HL,0050H A,(HL) D C,SALTO A,(HL) (IX+00H),A IX SALTO2 A,(HL) (IY+00H),A IY HL CICLO

Multiplicacin de puertos. Hacer un programa que multiplique dos nmeros de 4 bits. Los operandos sern ledos a travs del puerto 01H y 02H. Considere limpiar los 4 MSB de cada lectura. Colocar el resultado en el puerto de salida 03H.

ORG LD

0000H C,0FH

IN LD IN AND LD LD AND LD LD CICLO ADD DJNZ OUT HALT END

A,(01H) D,A A,(02H) C B,A A,D C E,A A,00H A,E CICLO (03H),A

Numero de unos. Determine cuantos bits de la localidad 0040H son 1s y coloque el resultado en la localidad 0041H. El dato ser suministrado por el puerto 01H.

ORG LD LD IN LD CICLO RLCA JR INC NCARRY LD LD HALT END

0000H B,08H D,00H A,(01H) (0040H),A NC,NCARRY D DJNZ CICLO A,D (0041H),A

LECTURA DE PUERTOS ORG 0000H LD C,0FH INFINIT IN A,(01H) AND C LD B,A IN A,(02H) AND C AND B OUT (03H),A JR INFINIT HALT END

También podría gustarte