福建农林大学计算机与信息学院实验报告
系:计算机专业:计算机科学与技术年级: 2014 姓名学号:实验室号__ 计算机号
实验时间:2016-10-29指导教师签字:刘庆连成绩:
实验六 字符处理程序设计
1.实验目的
(1)熟悉串操作指令的功能与应用;
(2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。
2.实验内容
从键盘键入一个字符串,存入内存BUF为首地址的单元中,现要求统计其中含有小写字母的个数,并将统计结果以两位十进制数形式显示在屏幕上。
附参考源程序:
DATA BUF
SEGMENT DB 90 DUP(?)
DATA ENDS CODE
SEGMENT
ASSUME CS:CODE, DS:DATA START: MOV MOV MOV LEA
DS, AX CX, 0 DI, BUF
AH, 1 21H AL, 0DH DONE [DI], AL DI CX AGAIN DL, 0DH AH, 2 AX, DATA
AGAIN: MOV
INT CMP JZ MOV INC INC JMP
DONE: MOV
MOV
INT MOV INT LEA MOV MOV CLD
21H DL, 0AH 21H SI, BUF CH, 0 BL, 0
NEXT1: LODSB
CMP JB CMP JA INC
AL, 61H NEXT2 AL, 7AH NEXT1 BL NTXT1 AL, BL AH, 0 CL, 10 CL
NEXT2: LOOP
MOV MOV MOV DIV
XCHG AH, AL PUSH MOV OR MOV INT POP MOV OR INT MOV
AX DL, AH DL, 30H AH, 2 21H AX DL, AL DL, 30H 21H AH, 4CH
INT CODE
21H EDNS
END START
4. 实验结果 运行结果如下
分析:输入ABCDefg,其中有efg三个小写字母,然后输入两位16进制的03,结果与预想一致. 5. 总结
通过本次上机实验,熟悉了串操作指令的功能与应用,掌握了串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。
附录:
实现代码如下 DATA
SEGMENT
DB 90 DUP(?)
BUF
DATA ENDS CODE
SEGMENT
ASSUME CS: CODE, DS: DATA START: MOV DS, AX MOV CX, 0 LEA DI, BUF AGAIN: MOV AH, 1
INT 21H CMP AL, 0DH JZ DONE MOV [DI], AL INC DI
MOV AX, DATA
INC CX JMP AGAIN
DONE: MOV DL, 0DH
MOV AH, 2 INT 21H MOV DL, 0AH INT 21H LEA SI, BUF MOV CH, 0 MOV BL, 0 CLD
NEXT1: LODSB
CMP AL, 61H JB NEXT2 CMP AL, 7AH JA NEXT1 INC BL
NEXT2: LOOP NEXT1
MOV AL, BL MOV AH, 0 MOV CL, 10 DIV CL
XCHG AH, AL PUSH AX MOV DL, AH OR DL, 30H MOV AH, 2 INT 21H POP AX MOV DL, AL OR DL, 30H INT 21H MOV AH, 4CH
INT 21H CODE
ENDS
END START