New paste Repaste Download
; === INICIO DEL PROGRAMA ===
; Leer el dividendo (A) desde el puerto 00h
IN 00h         ; A = dividendo
MOV B, A       ; Guardamos el dividendo original en B
MVI C, 00h     ; C será el cociente parcial (inicialmente 0)
IN 01h         ; A = divisor
MOV D, A       ; D = divisor
MVI A, 00h     ; A = residuo parcial (R), inicialmente 0
; === INICIO DEL BUCLE DE 4 ITERACIONES ===
LOOP: RLC             ; Desplazar R (A) una vez a la izquierda
MOV E, A             ; Guardar R parcial en E para comparar
; R = R - D
MOV A, E
SUB D
; Verificamos si el resultado fue negativo (con JC)
JC RESTORE           ; Si fue negativo, restauramos y agregamos 0 al cociente
; Si fue positivo, agregamos 1 al cociente (desplazando C)
RLC                  ; Simular desplazamiento del cociente e inserción de 1
MOV C, A             ; Guardamos el nuevo cociente
JMP CONT
RESTORE:
MOV A, E             ; Restauramos el valor original del residuo (R)
RLC                  ; Simular desplazamiento del cociente e inserción de 0
MOV C, A             ; Guardamos el nuevo cociente
CONT:
DCR B                ; Usamos B como contador de iteraciones (decrementamos)
JNZ LOOP             ; Repetimos mientras no se cumplan 4 iteraciones
; === RESULTADO FINAL ===
MOV A, C             ; A = cociente final
OUT 02h              ; Mostrar resultado por puerto 02h
HLT
Filename: None. Size: 1kb. View raw, , hex, or download this file.

This paste expires on 2025-05-11 17:03:13.127020. Pasted through web.