当前位置:首页 > 微机原理与接口技术实验报告-全实例代码
。
3、 程序中出现了JMP指令。单独的JMP指令为无条件转移,不过JMP还常常
与标志寄存器一起使用,使其功能更强大。如题目中的JZ指令表示ZF=1即相等时转移。
实验五 字符串匹配程序
实验目的:
掌握提示信息的使用方法及键盘输入信息的用法。 实验要求:
编写程序,实现两个字符串比较。若相同,则显示’MATCH’,否则显示’NO MATCH’。 实验步骤: 实验程序如下: DATA SEGMENT
STRING1 DB 'ABCDEFG$' COUNT1 EQU $-STRING1 STRING2 DB 'ABCDEDG$' COUNT2 EQU $-STRING2 S0 DB ' MATCH$' S1 DB ' NOT MATCH$' SHIFT DB 0DH,0AH,'$' ;回车换行 DATA ENDS ;
-可编辑修改-
。
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA GO: MOV AX,DATA MOV DS,AX MOV ES,AX
MOV DX,OFFSET STRING1 ;显示字符串1 MOV AH,09H INT 21H
MOV DX,OFFSET SHIFT ;回车换行 INT 21H
MOV DX,OFFSET STRING2 ;显示字符串2 INT 21H
MOV DX,OFFSET SHIFT INT 21H
MOV AL,COUNT1 ;首先比较字符串长度是否相等 MOV AH,COUNT2 CMP AH,AL JNZ NMATCH
MOV DI,OFFSET STRING1 ;长度相等比较内容 MOV SI,OFFSET STRING2 MOV CX,COUNT1 CLD ;自增
-可编辑修改-
。
REPE CMPSB ; 一直比较直到不相等 JZ MATCH ;ZF=0相等则跳转 NMATCH:MOV DX,OFFSET S1 ;NO MATCH JMP DSPLY
MATCH: MOV DX,OFFSET S0 ;MATCH DSPLY: MOV AH,09H INT 21H
MOV AH,4CH ;终止程序 INT 21H CODE ENDS END GO
实验总结:
-可编辑修改-
。
1、 本实验与上一个实验内容类似,不过不同之处在于直接比较两个已存在的字符串内容是否相等。
2、 程序设计中,为比较字符串是否相同,先对其长度比较,若长度不同则可以确定它们一定不相同。
3、 对字符串内容比较时,使用了CMPSB指令对字符串的每个字节进行比较。可以看出,CMPSB指令需要用SI和DI分别指向两个字符串的首地址,并且有DF控制方向,同时比较结果影响标志位ZF。 4、 指令中实验的JMP和REPE指令也都是重点。
实验六 从键盘输入数据并显示
实验目的:
掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。 实验要求:
编写程序,将键盘接收到的四位十六进制数转换为等值的二进制数,并显示在屏幕上。若输入的不是0—F间的数字,则显示出错信息,并要求重新输入。 实验步骤: 实验程序如下:
CRLF MACRO ;回车换行 MOV AH,2 MOV DL,0DH INT 21H MOV AH,2
-可编辑修改-
共分享92篇相关文档