一年没用了 请教:字符串比较
实现功能:从键盘输入“yes”,则输出“Y”;如果不是yes(或者说输入“no”),则输出“N”。
程序如下:不知有什么毛病?
datarea segment
string db 10,0
mess1 db 10 dup(?)
mess2 db 'yes'
input db 'Input: ','$'
clrf db 13,10,'$'
datarea ends
prognam segment
assume cs:prognam,ds:datarea,es:datarea
start:
push ds
sub ax,ax
push ax
mov ax,datarea
mov ds,ax
mov es,ax
lea dx,input ; 输入字符串
mov ah,09h
int 21h
mov ah,0ah
lea dx,string
int 21h
lea dx,clrf ; 输出回车换行
mov ah,09h
int 21h
lea si,mess1
lea di,mess2
mov cx,10
repz cmpsb ; 字符串比较
jz link
mov dl,'N'
jmp notlink
link:
mov dl,'Y'
notlink:
mov ah,02h
int 21h
mov ah,4ch
int 21h
prognam ends
end start
程序如下:不知有什么毛病?
datarea segment
string db 10,0
mess1 db 10 dup(?)
mess2 db 'yes'
input db 'Input: ','$'
clrf db 13,10,'$'
datarea ends
prognam segment
assume cs:prognam,ds:datarea,es:datarea
start:
push ds
sub ax,ax
push ax
mov ax,datarea
mov ds,ax
mov es,ax
lea dx,input ; 输入字符串
mov ah,09h
int 21h
mov ah,0ah
lea dx,string
int 21h
lea dx,clrf ; 输出回车换行
mov ah,09h
int 21h
lea si,mess1
lea di,mess2
mov cx,10
repz cmpsb ; 字符串比较
jz link
mov dl,'N'
jmp notlink
link:
mov dl,'Y'
notlink:
mov ah,02h
int 21h
mov ah,4ch
int 21h
prognam ends
end start
...全文
相关推荐
用c++比较两个字符串的大小
使用指针和for循环来比较两个字符串大小 ,字符串即为一个字符数组
Linux Shell字符串比较
Linux Shell字符串比较
关于字符串相等的比较
字符串比较除了代码中的方法还有哪些方法更好的描述。
C语言字符串大小比较
本文给大家分享给大家的是C语言的字符串大小比较的函数,有需要的小伙伴可以参考下。
比较两个字符串是否相等的shell代码
比较两个字符串是否相等的办法是: if [ “$test”x = “test”x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到”$test”x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ “$a” -eq “$b” ] -ne 不等于,如:if [ “$a


