汇编语言实验 分支程序设计
发布网友
发布时间:2022-04-29 04:57
我来回答
共1个回答
热心网友
时间:2022-06-18 23:19
RWMACROA,B
LEA DX, A
MOV AH, B
INT 21H
ENDM
DATA SEGMENT USE16
BUF1 DB 60
DB ?
DB 60 DUP(?)
BUF2 DB 60
DB ?
DB 60 DUP(?)
STR1 DB 0DH,0AH,'$'
STR2DB 'success!$'
STR3DB 'Your telephone number is not match, please try again.$'
STR4 DB 'Please input your telephone number:$'
STR5 DB 'Please input your telephone number again:$'
DATA ENDS
STACK SEGMENTUSE16 STACK
DB 200 DUP(0)
STACKENDS
CODESEGMENTUSE16
ASSUMEDS:DATA, ES:DATA, CS:CODE, SS:STACK
START:
MOVAX,DATA
MOV DS,AX
MOV ES,AX
LOOP1: RW STR4, 9 ;输出Please input your telephone number:
RWBUF1,10 ;输入号码
RWSTR1,9 ;回车换行
RW STR4, 9 ;输出Please input your telephone number again:
RWBUF2,10 ;输入号码
RWSTR1,9 ;回车换行
MOVCL,BUF1[1]
CMPCL,BUF2[1] ;比较输入的号码位数是否一样
JNENO
MOVSX CX,CL
MOVSI,OFFSETBUF1[2]
MOVDI,OFFSETBUF2[2]
CLD
REPZ CMPSB ;比较输入的号码是否相同
JNENO
RWSTR2,9 ;输出success!
JMPEXIT
NO:RWSTR3,9 ;输出Your telephone number is not match, please try again.
RWSTR1,9 ;回车换行
JMP LOOP1
EXIT: MOVAH,4CH
INT21H
CODEENDS
ENDSTART