求汇编高手!!!微机原理课程设计,查找字符串中给定字符首次出现的位置

要求字符给定,从键盘输入单个字符,enter键结束并显示该字符首次出现的位置。最好执行过。。送分多多哦!!跪求!!!... 要求字符给定,从键盘输入单个字符,enter键结束并显示该字符首次出现的位置。最好执行过。。送分多多哦!!跪求!!! 展开
 我来答
fastfs
2013-11-24 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:799万
展开全部
调试通过!

DATAS SEGMENT
str1 db 'this is a computer$'
str2 db 0dh,0ah,'$'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX

mov ah,1 ;等待输入
int 21h

push ax

t1:
mov ah,7
int 21h
cmp al,0dh
jnz t1

lea dx,str2 ;回车换行
mov ah,9
int 21h
pop ax

lea si,str1
s1: ;查找
cmp byte ptr[si],'$'
jz s5
cmp al,[si]
jz s2
inc si
jmp s1
s2: ;找到输出
mov ax,si
inc ax

xor dx,dx
xor cx,cx
s3:
mov bl,10
div bl
inc cx
mov dl,ah
mov ah,0
push dx
cmp al,0
jnz s3
s4:
pop dx
add dl,30h
mov ah,2
int 21h
loop s4
jmp s6
s5: ;未找到输出
mov dl,'N'
mov ah,2
int 21h

s6:
mov ah,0
int 16h

MOV AH,4CH
INT 21H
CODES ENDS
END START
更多追问追答
追问
你有汇编语言的软件吗?我想安装,我的电脑是windows7的系统,64位的。
追答
win7的我不知道用什么软件,我用的是masm for windows.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式