汇编语言实现在指定字符串中搜索字符'A'的方法

我也不知道我以前怎么会写这种东西的,留个纪念…

;用串操作指令设计程序,实现在指定字符串中搜索字符‘A',
;若该字条串中有字符'A',
;则将第一个'A'字符在该字符串中的位置记录在BX寄存器中,
;若不包含,则使BX=0FFFFH。
;在程序开始查找指定字符前要求在屏幕上输出提示信息:
;The program is running!查找结束后输出信息:the program is over!

DATAS SEGMENT
  STRING DB 'CDAFX246hk'
  NO DW 10
  FALSE DW 0FFFFH
  STR1 DB 'The program is running!$'
  STR2 DB 0DH,0AH,'The program is over!$' 
DATAS ENDS

STACKS SEGMENT
  DW 20 DUP(?)
STACKS ENDS

CODES SEGMENT
  ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
  MOV AX,DATAS
  MOV DS,AX
  MOV ES,AX

  LEA DX,STR1
  MOV AH,09H
  INT 21H

  MOV BX,FALSE
  LEA DI,STRING
  MOV AL,'A'
  MOV CX,NO
  REPNE SCASB
  CMP CX,0
  JE COUNT
  DEC DI
  MOV BX,DI
COUNT:

  LEA DX,STR2
  MOV AH,09H
  INT 21H

  MOV AH,4CH
  INT 21H
CODES ENDS
  END START

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。