2
0001 0400 ; ************************************* ****************************************** 0002 0400 ; UNIVERSIDAD MAYOR DE SAN ANDRES 0003 0400 ; FACULTAD DE INGENIERIA 0004 0400 ; CARRERA DE INGENIERIA ELECTRONICA 0005 0400 ; ETN 801 - MICROPROCESADORES 0006 0400 ; ************************************** ****************************************** 0007 0400 ; Programa: Division de 8 bits entre 8 b its por el metodo de 0008 0400 ; rotacion a la izquierda 0009 0400 ; Procesador : 8080/8085 0010 0400 ; Univ. René Alonzo Choque Saire 0011 0400 ; 10/06/05 0012 0400 ; ************************************** ****************************************** 0013 0400 0014 0400 0015 0400 ; ************** DATOS ********************************** 0016 0400 0017 0400 .dseg 0018 0400 .org 0400h 0019 0400 0020 0400 0A DEndo .byte 10 ;Dividendo 0021 0401 02 DSor .byte 2 ;Divisor 0022 0402 00 CEnte .byte ? ;Cociente 0023 0403 00 Res .byte ? ;Residuo 0024 0403 0025 0404 ; ************** PROGRAMA ********************************** 0026 0404 .cseg 0027 0404 0028 0404 ;Iniciar Variables 0029 0404 06 08 mvi b,8 ;contador en reg istro B 0030 0404 0031 0406 26 00 mvi h,0 ;Registro H = Re siduo 0032 0408 3A 00 04 lda DEndo ;Dividendo a reg istro L 0033 040B 6F mov l,a ;Registro L pasa a ser Dividendo 0034 040B 0035 040C 3A 01 04 lda DSor ;Registro C = Di visor 0036 040F 4F mov c,a 0037 040F 0038 0410 16 00 mvi d,0 ;Registro D = Co ciente y borrarlo 0039 0412 ;Acualizar Residuo 0040 0412 29 Continuar: dad h 0041 0413 ;Residuo >= Divisor 0042 0413 7C mov a,h 0043 0414 B9 cmp c 0044 0415 FA 21 04 jm Res<Dsor ;No Salt ar 0045 0415 0046 0418 ; Actualizar Residuo 0047 0418 91 sub c

Div2Bytes80801(Ensamblado)

Embed Size (px)

DESCRIPTION

DIVISION 4 BYTES ASSEMBLER 8080

Citation preview

Page 1: Div2Bytes80801(Ensamblado)

0001 0400 ; *******************************************************************************0002 0400 ; UNIVERSIDAD MAYOR DE SAN ANDRES0003 0400 ; FACULTAD DE INGENIERIA0004 0400 ; CARRERA DE INGENIERIA ELECTRONICA0005 0400 ; ETN 801 - MICROPROCESADORES0006 0400 ; ********************************************************************************0007 0400 ; Programa: Division de 8 bits entre 8 bits por el metodo de 0008 0400 ; rotacion a la izquierda0009 0400 ; Procesador : 8080/80850010 0400 ; Univ. René Alonzo Choque Saire0011 0400 ; 10/06/050012 0400 ; ********************************************************************************0013 0400 0014 0400 0015 0400 ; ************** DATOS**********************************0016 0400 0017 0400 .dseg0018 0400 .org 0400h0019 0400 0020 0400 0A DEndo .byte 10 ;Dividendo0021 0401 02 DSor .byte 2 ;Divisor0022 0402 00 CEnte .byte ? ;Cociente0023 0403 00 Res .byte ? ;Residuo0024 0403 0025 0404 ; ************** PROGRAMA**********************************0026 0404 .cseg0027 0404 0028 0404 ;Iniciar Variables0029 0404 06 08 mvi b,8 ;contador en registro B0030 0404 0031 0406 26 00 mvi h,0 ;Registro H = Residuo0032 0408 3A 00 04 lda DEndo ;Dividendo a registro L0033 040B 6F mov l,a ;Registro L pasa a ser Dividendo0034 040B 0035 040C 3A 01 04 lda DSor ;Registro C = Divisor0036 040F 4F mov c,a0037 040F 0038 0410 16 00 mvi d,0 ;Registro D = Cociente y borrarlo0039 0412 ;Acualizar Residuo0040 0412 29 Continuar: dad h0041 0413 ;Residuo >= Divisor0042 0413 7C mov a,h0043 0414 B9 cmp c0044 0415 FA 21 04 jm Res<Dsor ;No Saltar0045 0415 0046 0418 ; Actualizar Residuo0047 0418 91 sub c

Page 2: Div2Bytes80801(Ensamblado)

0048 0419 67 mov h,a0049 041A ; 1 al cociente0050 041A 37 stc0051 041B 7A mov a,d0052 041C 17 ral0053 041D 57 mov d,a0054 041E C3 25 04 jmp Ultimo?0055 0421 ; 0 al cociente0056 0421 A7 Res<Dsor: ana a ;CY = 00057 0422 7A mov a,d0058 0423 17 ral0059 0424 57 mov d,a0060 0424 0061 0425 Ultimo?:0062 0425 ;Decrementar contador0063 0425 05 dcr b0064 0426 ;Cont = 0?0065 0426 C2 12 04 jnz Continuar0066 0429 ;Fin del programa0067 0429 7C mov a,h0068 042A 32 03 04 sta Res0069 042D 7A mov a,d0070 042E 32 02 04 sta CEnte0071 0431 ;Convirtiendo a BCD0072 0431 27 daa0073 0432 D3 01 out 010074 0432 0075 0434 76 hlt0076 0435 .end0077 0435 0078 0435 0079 0435 Errores = 0 *** Ensamblado con SIMUTRAINER - 7.0 ***Microprocesador a programar : 8080/8085Para Laboratorio de Microprocesadores ETN-801