Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir un programa en lenguaje ensamblador para contar la longitud de una cadena y generarla

Cómo escribir un programa en lenguaje ensamblador para contar la longitud de una cadena y generarla

SEGMENTO DE DATOS

MSG1 DB 'LONGITUD:', '$'

SHEX DB '0123456789ABCDEF$'

MAXLEN EQU 200H

LOS DATOS TERMINAN

SEGMENTO DE CÓDIGO; definición del segmento de código

asume CS: CÓDIGO, DS: DATOS

INICIO:

mov ax, DATA

mov ds, ax

; inicializa los registros requeridos

mov ax, 0

mov bl, 24H

mov di, offset MSG1

; Loop compara cada carácter en la cadena y coloca el valor estadístico en AX

MYLOOP:

p>

cmp byte ptr[di], bl

jz EXIT

inc di

inc ax

jmp MYLOOP

>

SALIR:

empujar hacha

; mostrar contenido del mensaje

mov dx, desplazamiento MSG1

mov ah, 9h

int 21h

pop ax

llamar a printlen

mov ah, 4ch

int 21h

p>

; Imprime la longitud y guárdala en AX

printlen proc cerca

mov cx, 4

PRINTLOOP:

hacha de rol, 1

hacha de rol, 1

hacha de rol, 1

hacha de rol, 1

hacha de empuje

mov dl, al

y dl, 0FH

mov bx, offset SHEX

agregar bl, dl

mov dl, byte ptr [bx]

mov ah, 2

int 21h

pop ax

loop PRINTLOOP

ret

printlen endp

CÓDIGO FINALIZA

FIN INICIO