首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

用汇编编写一个求字符串长度的程序解决思路

2012-03-13 
用汇编编写一个求字符串长度的程序题目如下:编写一个求字符串的子程序STRLEN,该字符串以0位结束标志,其首

用汇编编写一个求字符串长度的程序
题目如下:

编写一个求字符串的子程序STRLEN,该字符串以0位结束标志,其首地址存放在DS:DX,其长度存在CX返回。

[解决办法]
MOV CX,FFFF
MOV DI,STRADDR // ES:DI指向串
MOV AL,00 // AL置0,要搜索的串结束符
REPNZ
SCASB // 重复搜索直到结束符
NEG CX
DEC CX
DEC CX
// 到此CX中已经得到串长度
[解决办法]
;---------------------------------------------------
Get_String_Length PROC NEAR
;
; Get the length of a string end with zero.
; Receive(s): ES:BP = segment:offset of the string
; Return(s): CX = length of the string
;---------------------------------------------------

PUSH BP

MOV CX,0;clear CX counter
Counting:
CMP BYTE PTR ES:[BP],0
JE Count_Finish
INC CX
INC BP
JMP Counting
Count_Finish:
POP BP

RET

Get_String_Length ENDP

热点排行