当前位置:首页 > 微机原理与接口技术实验报告-全实例代码
。
LOOP L2 MOV AX,4CH INT 21H CODE ENDS END START
实验结果如下图所示:
实验总结:
1、 通过实验学会了,使用汇编语言完成相乘运算。 2、 试验中通过设定CX的值控制循环的次数。
3、 在LODSB和STOSB指令中,SI和DI会每次自动增加1。
4、 在A串中,由于数据是按从低地址到高地址的顺序存放的,所以A DB '5','7','4','1','3'其实表示的是31475 。
5、 程序的L2 循环使得所存二进制数据转换成相对应的ASCII码,并通过DOS 功能调用输出。
-可编辑修改-
。
实验四 字符匹配程序
实验目的:
掌握串操作指令的用法。 实验要求:
用串操作指令设计程序。实现在指定存储区(长度:100H)中寻找匹配字符,遇空格字符(20H)结束,显示查找结果。 实验步骤: 实验程序如下:
DATA SEGMENT
TISHI_1 DB 0dH,0AH,'Please input a character to search: $' TISHI_2 DB 0DH,0AH,'The string to be searched is:' STRING DB 10 DUP('A'),20H,15 DUP('B'),'$' COUNT EQU $-STRING S0 DB 0DH,0AH,' FOUND! $' S1 DB 0DH,0AH,'NOT FOUND! $' CHAR DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA GO: MOV AX,DATA MOV DS,AX
-可编辑修改-
。
MOV ES,AX
mov dx, offset TISHI_1 ;显示字符串 mov ah,09 int 21H ;
mov ah,1 ;从键盘输入数据 int 21H
mov CHAR, al ;输入数据保存 ;
MOV DI,OFFSET STRING MOV CX,COUNT CLD ;自增 MOV AL,CHAR
REPNE SCASB ;字符串字节查找直到相等 JZ FOUND ;ZF=0时跳到FOUND指令 MOV DX,OFFSET S1 JMP DSPLY
FOUND: MOV DX,OFFSET S0 ;找到 DSPLY: MOV AH,09H ;显示 INT 21H
mov dx,offset TISHI_2 mov ah,09
-可编辑修改-
。
int 21H ;
MOV AH,4CH INT 21H CODE ENDS END GO
实验总结:
1、 程序中用到了三个DOS功能调用,分别是9号调用显示字符串,1号调用从
键盘输入字符和4CH调用终止程序。9号使用DX指向字符串首地址,1号结果存在AL中。通过实验,对DOS功能调有了更加深刻的认识。 2、 在对字符串的查找过程中,使用了SCASB指令,并且前面有REPNZ。该指
令表示在一直查找直到ZF=0,即找到与AL寄存器相等的值为止。这个指令稍微有些复杂,再加上前缀的变化,使其可以满足不同的查找需要。
-可编辑修改-
共分享92篇相关文档