實驗五 字符串操作編程實驗
一、實驗要求和目的
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