哈工程微机原理实验3.docx_第1页
哈工程微机原理实验3.docx_第2页
哈工程微机原理实验3.docx_第3页
哈工程微机原理实验3.docx_第4页
哈工程微机原理实验3.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 字符匹配程序一、 实验目的掌握汇编语言中串操作指令的使用方法。二、 实验内容用串操作指令设计程序,实现在存储区(长度为100H)中寻找空格字符(20H)。退出时给出是否找的信息。入口三、 程序框图返回DOS显示“已找到”信息显示“没找到”信息找到?用REPNZ SCASB 寻找空格字符显示“请输入段地址”的提示信息调子程序GETNUN,读取段值送ES中显市“请输入偏移量”的提示信息调子程序GETNUM,读取偏移量送DI中用CLD清方向标志长度计数100H送CXN Y入口保存寄存器DX清零读取键入字符的ASCII码送AL中用回车或者是空格键?AL值小于30H?是数字09?是字母AF?是字母af?将本次键入的数字加进DX中显示“输入出错”信息回车换行恢复寄存器返回四、 实验程序及实验现象CRLF MACRO MOV DL,0DH MOV AH,02H INT 21H MOV AH,02H MOV DL,0AH INT 21HENDMDATA SEGMENTMESS1 DB INPUT THE SEGMENT ADDR :$MESS2 DB INPUT THE OFFSET ADDR:$MESS3 DB OK! HAS FOUND!,0DH,0AH,$MESS4 DB NO SPACE CHARACTER!,0DH,0AH,$ERROR DB INPUT ERROR!,0DH,0AH,$DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS1 INT 21H CALL GETNUM MOV ES,DX MOV AH,09H MOV DX,OFFSET MESS2 INT 21H CALL GETNUM MOV DI,DX CLD MOV CX,0100H MOV AL,20H REPNZ SCASB JNZ AAA MOV AH,09H MOV DX,OFFSET MESS3 INT 21H JMP BBBAAA: MOV AH,09H MOV DX,OFFSET MESS4 INT 21HBBB: MOV AX,4C00H INT 21HGETNUM PROC NEAR PUSH CX XOR DX,DXGGG: MOV AH,01H INT 21H CMP AL,0DH JZ PPP CMP AL,20H JZ PPP SUB AL,30H JB KKK CMP AL,0AH JB GETS CMP AL,11H JB KKK SUB AL,07H CMP AL,0FH JBE GETS CMP AL,2AH JB KKK CMP AL,2FH JA KKK SUB AL,20HGETS: MOV CL,04 SHL DX,CL XOR AH,AH ADD DX,AX JMP GGGKKK: MOV AH,09H MOV DX,OFFSET ERROR INT 21HPPP: PUSH DX CRLF POP DX POP CX RETGETNUM ENDPCODE ENDSEND START输入基址地址1000和偏移地址3050,查找空格字符,找到了五、 修改后的实验程序及现象RLF MACRO MOV DL,0DH MOV AH,02H INT 21H MOV AH,02H MOV DL,0AH INT 21HENDMDATA SEGMENTMESS1 DB INPUT THE SEGMENT ADDR :$MESS2 DB INPUT THE OFFSET ADDR:$MESS3 DB OK! HAS FOUND!,0DH,0AH,$MESS4 DB NO SPACE CHARACTER!,0DH,0AH,$MESS5 DB INPUT WHAT YOU WANT TO FIND:$ERROR DB INPUT ERROR!,0DH,0AH,$DATA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS1 INT 21H CALL GETNUM MOV ES,DX MOV AH,09H MOV DX,OFFSET MESS2 INT 21H CALL GETNUM MOV DI,DX MOV AH,09H MOV DX,OFFSET MESS5 INT 21H CALL GETNUM CLD输入基址地址1000和偏移地址3050,输入所要查找的6c字符,找到了输入基址地址80和偏移地址30,输入所要查找的05字符,没有找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论