怎么用汇编语言编写一个程序,统计字符串的长度并输出

2025-04-03 10:17:53
推荐回答(3个)
回答(1):

DATA SEGMENT
MSG1 DB 'LENGTH:','$'
SHEX DB '0123456789ABCDEF$'
MAXLEN EQU 200H
DATA ENDS

CODE SEGMENT ;代码段定义
assume CS:CODE,DS:DATA
START:
mov ax,DATA
mov ds,ax

;初始化需要的寄存器
mov ax,0
mov bl,24H
mov di, offset MSG1

;循环比较字符串中的每个字符,并把统计值放在AX中
MYLOOP:
cmp byte ptr[di], bl
jz EXIT
inc di
inc ax
jmp MYLOOP
EXIT:
push ax
;显示提示内容
mov dx,offset MSG1
mov ah,9h
int 21h

pop ax
call printlen

mov ah,4ch
int 21h

;打印出长度,长度保存在AX里
printlen proc near
mov cx,4
PRINTLOOP:
rol ax,1
rol ax,1
rol ax,1
rol ax,1
push ax
mov dl,al
and dl,0FH
mov bx, offset SHEX
add bl,dl
mov dl, byte ptr [bx]
mov ah,2
int 21h
pop ax
loop PRINTLOOP
ret
printlen endp

CODE ENDS

END START

回答(2):

HO汇编?? 不是很懂.用字符串.length()看是不是能获得长度?int i =字符串.indexof($)获得位置字符串.substring(i,"");

回答(3):

汇编语言编语言也分好多种的,你说的是哪一种语言