更多微机实验:https://blog.csdn.net/yxp189/column/info/39992
汇编语言-微机原理与接口技术-实验
注意:未经允许,请勿转载!
转载请标明出处~
适用课程:微机原理与接口技术(实验)
选用教材:微型计算机原理与接口技术-中国科学技术大学出版社
一、实验要求和目的
1.了解汇编语言字符串处理基本流程;
2.熟悉汇编语言字符串处理基本指令的使用方法;
3.掌握利用汇编语言实现字符串处理的程序设计方法。
二、实验内容
(1)编写程序,实现两个字符串比较,如相同,则显示“match”,否则,显示“NO MATCH”
(2)编写程序,统计一串字符串中某字符出现的次数。
1. 实验内容 (1)
编写程序,实现两个字符串比较,如相同,则显示“match”,否则,显示“NO MATCH”
;Author:YXP
;CSDN:yxp189
;Email:[email protected]
;如有问题,欢迎和我联系~
;转载请标明出处~
STACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
DATAS SEGMENT
STORE1 DB 'Hello'
STORE2 DB 'Hello'
COUNT EQU 5
W1 DB 'Please type in the first:' ,0DH,0AH,'$'
W2 DB 'Next:' ,0DH,0AH,'$'
OUTPUT1 DB 'MATCH' ,0DH,0AH,'$'
OUTPUT2 DB 'NO MATCH' ,0DH,0AH,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,ES:DATAS
START: MOV AX,DATAS
MOV DS,AX
PRINTW1: MOV AH,09H
MOV DX,OFFSET W1
INT 21H
CLD
MOV CX,COUNT
LEA SI,STORE1
LEA DI,STORE2
OP:
REPE CMPSB
JNZ PRINTNF
PRINTF:
MOV AH,09H
MOV DX,OFFSET OUTPUT1
INT 21H
JMP ENDD
PRINTNF:
MOV AH,09H
MOV DX,OFFSET OUTPUT2
INT 21H
JMP ENDD
ENDD:
MOV AX,4C00H
INT 21H
CODES ENDS
END START
2. 实验内容 (2)
编写程序,统计一串字符串中某字符出现的次数。
;Author:YXP
;CSDN:yxp189
;Email:[email protected]
;如有问题,欢迎和我联系~
;转载请标明出处~
STACKS SEGMENT STACK
DW 128 DUP(?)
STACKS ENDS
DATAS SEGMENT
STORE DB 'Helllo',0DH,0AH,'$'
SCH DB 1 DUP(0)
COUNT EQU 6
NUM DB 1 DUP(0)
W1 DB ' Times=:' ,0DH,0AH,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,ES:DATAS
START: MOV AX,DATAS
MOV DS,AX
PRINTW1: MOV AH,09H
MOV DX,OFFSET STORE
INT 21H
READ: MOV AH,01H
INT 21H
MOV SCH,AL
MOV CX,COUNT
LEA SI,STORE
CLD
OP:
LODSB
CMP AL,SCH
JNZ NONO
INC NUM
NONO: LOOP OP
PRINT: MOV AH,09H
MOV DX,OFFSET W1
INT 21H
MOV AH,02H
MOV DL, NUM
OR DL,30H
INT 21H ENDD:
MOV AX,4C00H
INT 21H
CODES ENDS
END START