Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1042005
  • 博文数量: 254
  • 博客积分: 10185
  • 博客等级: 上将
  • 技术积分: 2722
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 15:04
文章存档

2011年(8)

2009年(1)

2008年(31)

2007年(214)

分类:

2007-12-09 16:18:54

;试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,
;若相同则显示'MATCH',若不相同则显示'NO MATCH'(用子程序实现)
;尘封の觉醒 技术博客 版权所有,转载请注明来自:http://cstech.cublog.cn
;***********************************************************************
D_SEG SEGMENT
 STRING1 DB '12345'
 STRING2 DB '1a345'
 MATCHSTR DB 'MATCH$'
 NOMATCHSTR DB 'NO MATCH$'
D_SEG ENDS
;***********************************************************************
E_SEG SEGMENT
 
E_SEG ENDS
;***********************************************************************
S_SEG SEGMENT STACK
 DW 100 DUP(?)
S_SEG ENDS
;***********************************************************************
C_SEG SEGMENT
  ASSUME CS:C_SEG,DS:D_SEG,ES:E_SEG
;MAIN PART OF PROGRAM
MAIN PROC FAR
start:
;set up stack for return
 PUSH DS
 SUB AX,AX
 PUSH AX
;set DS register to current data segment
 MOV AX,D_SEG
 MOV DS,AX
 MOV ES,AX
 XOR AX,AX
;MAIN PART OF PROGRAM GOSE HERE
 CALL DOCHACK
 RET
MAIN ENDP
;-----------------------------------------------------------------------
;PROCEDURE TO CHACK IF THE TWO STRINGS ARE THE SAME
DOCHACK PROC NEAR
 LEA DI,STRING1
 LEA SI,STRING2
 MOV CX,5
 REPZ CMPSB
 JCXZ CS_PRINT
 JMP CNS_PRINT
CNS_PRINT:
 LEA DX,NOMATCHSTR
 CALL DOPRINT
 RET
 
CS_PRINT:
 LEA DX,MATCHSTR
 CALL DOPRINT
 RET
 
 ;PROCEDURE TO PRINT IF THE TWO STRINGS ARE THE SAME
 DOPRINT PROC NEAR
  MOV AH,9
  INT 21H
  RET
 DOPRINT ENDP
 
DOCHACK ENDP
;-----------------------------------------------------------------------
C_SEG ENDS
;***********************************************************************
 END START
阅读(2303) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~