Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2 ; Fecha: 30 / 03 / 2010
- 3 ; Descripción:
- 4 ; Programa emsamblador que multiplique dos datos de 4 bits sin signo.
- 5 ; Utilizar para ello el algoritmo de suma desplazamiento ( Incluyendo
- 6 ; o no las sumas parciales cero).
- 7 ; Los operando deben quedar en las posiciones 1200 y 1201, y el resultado
- 8 ; en la 1202.
- 9 ; RECURSOS USADOS: El multiplicando estará en la dirección 1202H.
- 10 ; El multiplicador estará en la dirección 1201H, el resultado
- 11 ; en la dirección 1202H, para operarar usaremos los registros D,E,M
- 12 ; el acumulador y un contador.
- 13 ; PRUEBAS: Con los números 2 * 4 = 8
- 14
- 15 1000 ORG 1000H ; Nos posicionamos en la dirección que empezará a contener mi progra
- ma
- 16 1000 21 00 12 LXI H, 1200H ; El almacenaje comienza en la dirección 1200H
- 17 1003 36 02 MVI M, 02 ; Cargamos el 02 en el registro M
- 18 1005 56 MOV D, M ; Movemos el contenido del registro M al registro D
- 19 1006 23 INX H ; Incrementamos los registros
- 20 1007 36 04 MVI M, 04 ; Cargamos el 08 en el registro M
- 21 1009 5E MOV E, M ; Movemos el contenido del registro M al registro E
- 22 100A 23 INX H
- 23 100B 36 00 MVI M, 00 ; Cargamos el 00 en el registro M, que será donde estará el resultad
- o
- 24 100D 0E 04 MVI C, 04 ; Cargamos el 04 en el registro C, lo emplearemos como contador, el
- número 4 por los cuatro bits de datos
- 25 100F 7B BUCLE:MOV A, E ; Movemos al acumulador el contenido del registro E
- 26 1010 1F RAR ; Desplazamos el acumulador a la derecha
- 27 1011 5F MOV E, A ; Movemos al registro E el contenido del acumulador
- 28 1012 D2 18 10 JNC FINAL ; Iremos a la etiqueta final en caso que el contenido del acarreo se
- a 0, pra
- 29 1015 7A MOV A, D ; Movemos al acumulador el contenido del registro D
- 30 1016 86 ADD M ; Sumamos el contenido del registro M al acumulador
- 31 1017 77 MOV M, A ; Movemos al registro M el contenido del acumulador
- 32 1018 7A FINAL:MOV A, D ; Movemos al acumulador el registro D
- 33 1019 17 RAL ; Desplazamos el acumulador a la izquierda
- 34 101A 57 MOV D, A ; Movemos al registro D, el contenido del acumulador
- 35 101B 0D DCR C ; Decrementamos el contador en 1
- 36 101C C2 0F 10 JNZ BUCLE ; Vamos al la etiqueta Bucle en caso que el contenido del acumulador
- sea 0
- 37 101F CF RST 1
- 38 1020 END ; Finalizamos
Advertisement
Add Comment
Please, Sign In to add comment