Red de conocimiento informático - Conocimiento sistemático - Programación de operación de división de números BCD comprimido de ensamblaje

Programación de operación de división de números BCD comprimido de ensamblaje

El algoritmo es: (0*1000 7*100 8*10 1)/(1*10 0) Debido a que no hay requisitos de salida, una vez completada la operación de división, el programa finaliza. El programa es el siguiente: Supongamos cs. : código, ds: datos

Segmento de datos

da1 dw 0781h,?

da2 db 10h,?

Fin de datos

Segmento de código

Inicio:

mov ax, data

mov ds, ax

mov ax, da1; convertir miles, guardar en dx

mov bx, 1000

mov cl, 12

shr ax, cl

mul bx

mov dx, ax

mov ax, da1; convertir dígitos de decenas, agregar a dx

mov al, ah

y al, 00001111b

mov bl, 100

mul bl

add dx, ax

mov ax, da1; convierte el dígito de las decenas y suma a dx;

mov cl, 4

shr al, cl

mov bl, 10

mul bl

agregar dx, ax

mov ax, da1; convertir un solo dígito, agregar a dx

xor ah, ah

y al, 00001111b

agregue dx, ax

mov al, da2; convierta el dígito de las decenas y guárdelo en bl

mov cl, 4

shr al, cl

mov ch, 10

mul ch

mov bl, al

mov al, da2; convierte un solo dígito y suma a bl

y al, 00001111b

agrega bl, al

mov dx, ax; pasa dx a ax para dividir. Pasa el número a ax para dividir.

div bl

mov ax, 4c00h

int 21h

Fin del código

fin inicio