实验四
HUICHE MACRO ;定义一个具有回车、换行功能的宏,为程序多次回车
换行所调用。
MOV DL,0DH ;用 2 号功能“显示”回车。
MOV AH,02H
INT 21H
MOV DL,0AH ;用 2 号功能“显示”换行。
MOV AH,02H
INT 21H
ENDM
DATA SEGMENT
MESSAGE1 DB 'MATCH','$' ;定义“MATCH”提示信息,“$”作为调用 9 号功能
的结束符。
MESSAGE2 DB 'NO MATCH','$' ;定义“NO MATCH”提示信息。
TISHI1 DB 'Please input the first string:','$' ;提示输入第 1 个字符串的提示
信息。
TISHI2 DB 'Please input the second string:','$' ;提示输入第 1 个字符串的提示信息。
STRING1 DB 100 ; 100 为存第一个字符串的最大可用空间的字节数。
DB ? ;预留字节,存储将要输入的第 1 个字符串的实际
长度。
DB 100 DUP(?) ;预留 100 个字节空间,用于存放第 1 个字符串。
STRING2 DB 100
DB ?
DB 100 DUP(?)
DATA ENDS
STACK SEGMENT ;定义一个 50 字节大小的堆栈段空间。
ZHAN DB 50 DUP(?)
ZHANDING EQU LENGTH ZHAN
STACK ENDS
CODE SEGMENT ;代码段开始。
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
STARTUP: MOV AX,DATA ;程序开始,首先将几个段寄存器初始化为各段的
首地址。
MOV DS,AX ;
MOV ES,AX ;
MOV AX,STACK ;
MOV SS,AX ;
MOV SP,ZHANDING ;栈顶指针赋初值。
MOV DX, OFFSET TISHI1 ;用 9 功能显示提示输入第 1 个字符串的提示信息。
MOV AH,9
INT 21H
HUICHE ;调用 宏定义的“回车换行”功能,程序运行到此处时进行回
车换行。
MOV DX, OFFSET STRING1
MOV AH,0AH ;用 10 号功能输入第 1 个字符串。
INT 21H
HUICHE
MOV DX, OFFSET TISHI2
MOV AH,9
INT 21H
HUICHE