Red de conocimiento informático - Conocimiento sistemático - Ayuda del diagrama de flujo de datos de programación en ensamblador: ingrese un número decimal de cuatro dígitos desde el teclado y muestre el resultado de salida del número hexadecimal correspondiente en la pantalla

Ayuda del diagrama de flujo de datos de programación en ensamblador: ingrese un número decimal de cuatro dígitos desde el teclado y muestre el resultado de salida del número hexadecimal correspondiente en la pantalla

;Un número decimal de cuatro dígitos, muestra la salida de su número hexadecimal correspondiente en la pantalla

Segmento de código;

Supongamos cs: código, ds: código

org 100h; formato COM estándar

inicio:

mov ax, 3; modo texto

int 10h

push cs

p>

pop ds

push ds

pop es

Otra vez:

lea dx, mes1; >

mov ah, 9

int 21h

int 21h

entrada de llamada; recibir p> entrada de llamada

< p; > lea dx, mes2

mov ah, 9

int 21h

*** Salida de resultado hexadecimal***

llamada salida;

lea dx, mes3

mov ah, 9

int 21h

mov ah, 0;

int 16h

cmp ah, 15h; "Y(y)" continúa

jz Nuevamente; calcula la siguiente pregunta

mov ah, 4ch; fin

int 21h

entrada:

xor pb, pb

mov bx, 10

mov cx , 4

T1: mov ah, 0; Número de recepción

int 16h

cmp al, 0dh

jz ok

cmp al, '0'; verificación de datos

jb T1

cmp al, '9'

ja t1

mov ah, 0eh; mostrar datos válidos

int 10h

sub al, 30h

cbw

xchg bp , ax

mul bx

añadir bp, ax

bucle T1

ok: ret

salida:

mov bx, 4

mov cx, bx

aquí:

rol bp, cl

mov ax, bp

y hacha, 0fh

o al, 30h

cmp al, '9'

jbe j1

ad al, 7

j1:

mov ah, 0eh

int 10h

dec bx

jnz aquí

mov al, 'H'

int 10h

ret

mes1 db 0dh, 0ah, 09, 'Ingresa un número (0-9999): $'

mes2 db 0dh, 0ah, 09, '=

Números hexagonales. $'

mes3 db 0dh, 0ah, 09, 'Continuar Y(y)?$'

el código termina

finaliza el inicio