Red de conocimiento informático - Descarga de software - Escribir un programa en lenguaje ensamblador con los siguientes requisitos:

Escribir un programa en lenguaje ensamblador con los siguientes requisitos:

El código para mostrar la posición en hexadecimal es el siguiente:

SEGMENTO DSEG

msgi db "por favor ingrese una cadena:$" muestra información y mensajes; para entrada Una cadena de caracteres

buf db 50,0

table db 50 dup (?); entrada de cadena buffer

msgd db 0dh,0ah," la ubicación es:$";Muestra información, solicitando la ubicación de 0

DSEG ENDS

CSEG SEGMENT

asume cs:CSEG, ds:DSEG,es :DSEG

MAIN PROC FAR; Entrada del programa principal

mov ax, dseg

mov ds, ax

mov es,ax

lea dx,msgi; muestra información y solicita ingresar una cadena de caracteres

mov ah,9

int 21h

lea dx ,buf; enter String

mov ah,0ah

int 21h

lea si,buf

mov cl,[si+1 ]; input El número real de caracteres se almacena en CX

mov ch,0

lea di, table, ingrese la dirección inicial de los caracteres y guárdela en DI

mov al,30h ;El carácter 0 a buscar se envía a AL

cld Establece el indicador de dirección en el incremento de dirección

repnz scasb

;

jnz tj

lea dx,msgd; muestra información, solicitando la ubicación de 0

mov ah,9

int 21h

sub di,tabla de desplazamiento

mov bx,di

llamar a disp; muestra la posición en forma decimal

tj:

mov ah,1; presione cualquier tecla para salir

int 21h

mov ax, 4c00h ;El programa finaliza y regresa al sistema operativo

int 21h

ENDP PRINCIPAL

disp proc cerca

mov ch,4

rotar:

mov cl,4

rol bx,cl

mov al,bl

and al,0fh

add al,30h

cmp al,3ah

jl printit

agregar al,7h

printit:

mov dl,al

mov ah,2

int 21h

dec ch

jnz rotar

mov dl,'H'

mov ah,2

int 21h

p>

ret

disp endp

CSEG ENDS

FIN PRINCIPAL