【文件属性】:
文件名称:汇编语言实验字符串位置的查找
文件大小:1KB
文件格式:TXT
更新时间:2014-06-17 09:48:45
输入字符串 输入字符 查找字符的位置
Assembly code DATAS SEGMENT
cap1 db "please input a string",0dh,0ah,"$"
cap2 db "plesae input the letter you search",0dh,0ah,"$"
str0 db 40,?,40 dup(0),
str1 db 40 dup (0)
DATAS ENDS
STACKS SEGMENT
dw 40h dup(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS笑脸ATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov dx,offset cap1;输出提示“please input a string"
mov ah,09h
int 21h
mov dx,offset str0;输入一行字符串
;mov dh,0ah ;此处错误
mov ah,0ah
int 21h
mov dl,0ah;以下三行是实现换行功能
mov ah,02
int 21h
mov dl,13;以下三行是实现回车功能
mov ah,02
int 21h
mov dx,offset cap2
mov ah,09h
int 21h
mov ah,01h
int 21h
lea si,str0
lea di,str1
;mov dh,dl ;此处错误,输入放在al中
mov dh,al
call search
xor dh,dh
mov cx,dx
;lea di,str0;以下几句是实现依次输入找到的字符串的位置
lea di,str1;
l4:
;loopz l5.
;mov cl,[di]
mov dl,byte ptr [di]
cmp dl,0
jz l5
add dl,30h
mov ah,02h
int 21h
mov dl,','
mov ah,02h
int 21h
inc di
jmp l4
l5:
MOV AH,4CH
INT 21H
search proc;子程序
pushf
push ax
;mov cx,[si+1] ;此处修改
xor cx,cx
mov cl,byte ptr[si+1]
mov dl,0
mov ax,1
l3:cmp [si+2],dh
jnz l1
inc dl
mov [di],al
inc di
l1:inc ax
cmp ax,cx
ja l2
inc si
jmp l3
l2:pop ax
popf
ret
search endp
CODES ENDS
END START
网友评论
- 挺好的~可以用~
- 好东西 很有用啊 非常感谢作者的共享
- 正好赶上用,虽然不知道写的怎么样
- 不错,可以用