汇编学习求助
1试编写一程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若完全相同,则显示"MATCH",若不相同,则显示"NOMATCH"2.从键盘上输入一个...
1试编写一程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若完全相同,则显示"MATCH",若不相同,则显示"NO MATCH"
2.从键盘上输入一个字符串以"$"字符结尾,编写一个程序统计大写字母和小写字母和数字符号分别出现的次数,并将结果从屏幕上输出。(字符串长度<80)。
帮我把题做出来或者给我思路,并在重要地方附上注解 展开
2.从键盘上输入一个字符串以"$"字符结尾,编写一个程序统计大写字母和小写字母和数字符号分别出现的次数,并将结果从屏幕上输出。(字符串长度<80)。
帮我把题做出来或者给我思路,并在重要地方附上注解 展开
展开全部
第一个知道,第二个不太清楚
第一个用repne cmpsb去做比较,在串处理里面讲过,代码如下
DSEG SEGMENT
STRING1 DB 4 DUP(?)
STRING2 DB 4 DUP(?)
YES DB 'MATCH'
LENGTH1 EQU $-YES
NO DB 'NO MATCH'
LENGTH2 EQU $-NO
DSEG ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DSEG,ES:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV ES,AX
MOV CX,4
MOV DI,0
MESSA: MOV AH,01H
INT 21H
MOV STRING1[DI],AL
INC DI
LOOP MESSA
;输入STRING1
MOV AH,02H
MOV DL,0AH
INT 21H
;换行
MOV CX,4
MOV DI,0
MESSB: MOV AH,01H
INT 21H
MOV STRING2[DI],AL
INC DI
LOOP MESSB
;输入STRING2
MOV AH,02H
MOV DL,0AH
INT 21H
;换行
LEA SI,STRING1
LEA DI,STRING2
MOV CX,4
CLD
REPE CMPSB
;比较
JNZ NO1
MOV CX,LENGTH1
MOV DI,0
YES1: MOV AH,02H
MOV DL,YES[DI]
INT 21H
INC DI
LOOP YES1
MOV AH,4CH
INT 21H
;相同输出MATCH
NO1: MOV CX,LENGTH2
MOV DI,0
A: MOV AH,02H
MOV DL,NO[DI]
INT 21H
INC DI
LOOP A
;不同输出NO MATCH
MOV AH,4CH
INT 21H
CODE ENDS
END START
第一个用repne cmpsb去做比较,在串处理里面讲过,代码如下
DSEG SEGMENT
STRING1 DB 4 DUP(?)
STRING2 DB 4 DUP(?)
YES DB 'MATCH'
LENGTH1 EQU $-YES
NO DB 'NO MATCH'
LENGTH2 EQU $-NO
DSEG ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DSEG,ES:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV ES,AX
MOV CX,4
MOV DI,0
MESSA: MOV AH,01H
INT 21H
MOV STRING1[DI],AL
INC DI
LOOP MESSA
;输入STRING1
MOV AH,02H
MOV DL,0AH
INT 21H
;换行
MOV CX,4
MOV DI,0
MESSB: MOV AH,01H
INT 21H
MOV STRING2[DI],AL
INC DI
LOOP MESSB
;输入STRING2
MOV AH,02H
MOV DL,0AH
INT 21H
;换行
LEA SI,STRING1
LEA DI,STRING2
MOV CX,4
CLD
REPE CMPSB
;比较
JNZ NO1
MOV CX,LENGTH1
MOV DI,0
YES1: MOV AH,02H
MOV DL,YES[DI]
INT 21H
INC DI
LOOP YES1
MOV AH,4CH
INT 21H
;相同输出MATCH
NO1: MOV CX,LENGTH2
MOV DI,0
A: MOV AH,02H
MOV DL,NO[DI]
INT 21H
INC DI
LOOP A
;不同输出NO MATCH
MOV AH,4CH
INT 21H
CODE ENDS
END START
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提示:
dos 2号功能调用,读入字符
mov ah,2h
int 21h ;al=读入字符的ASCII值
dos 9号功能调用,显示字符串
mov dx,offset message
mov ah,9h
int 21h
dos 2号功能调用,读入字符
mov ah,2h
int 21h ;al=读入字符的ASCII值
dos 9号功能调用,显示字符串
mov dx,offset message
mov ah,9h
int 21h
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个好象有点简单啊兄弟..随便找本有关汇编的书,里面就能找到..很就以前学的.你找书吧..或者去电子论坛问去----那高手多!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询