⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7.asm

📁 这些是我们在学校里做汇编实验时做的。实验列表如下。里面有源代码。 1. 实验一 汇编编译器的使用及程序调试(必做) 4 2. 实验二 非压缩/压缩十进制码转换程序的设计与实现(必做) 11
💻 ASM
字号:
OUTRESULT   MACRO	I   ;输出结果
		LEA   DX,RESULT&I
		MOV   AH,9
		INT   21H
		JMP 	EXIT2
	   ENDM

CRLF  MACRO     ;用来打印回车和换行
		MOV   DL,0DH      ;回车
		MOV   AH,2
		INT   21H

		MOV   DL,0AH      ;换行
		MOV   AH,2
		INT   21H
		ENDM

 ;循环输入每个字符。
INNEXT	MACRO	J
		LOCAL NEXT0,TEMP0
		PUSH	CX
		PUSH	SI
NEXT0:		MOV	AH,1
		INT	21H
		.IF AL==0DH
		JMP	TEMP0
		.ENDIF
		MOV	MESS&J[SI],AL
		INC	SI
		LOOP	NEXT0
TEMP0:		CRLF
		POP	SI
		POP	CX
		ENDM
	
;.....................................
DATAS  SEGMENT
		MESS1  DB        10 DUP(?)
		RESULT1  DB        "!DIFFERENT!","$"
		RESULT2  DB        "~THE SAME~","$"
		DATAS  ENDS

		EXTRA  SEGMENT
		MESS2  DB        10 DUP(?)
		EXTRA  ENDS

CODES  SEGMENT

MAIN  PROC  FAR

		ASSUME    CS:CODES,DS:DATAS,ES:EXTRA
;...........................................
START:
		MOV   AX,DATAS
		MOV   DS,AX
		MOV   AX,EXTRA
		MOV   ES,AX

START0:		MOV   CX,LENGTH MESS1         ;设置CX中的数为字符串中字符个数
		MOV   SI,0
		MOV   DI,0	
		CLD                   ;清方向标志位,使方向为正方向
 	
		INNEXT 1
		INNEXT 2        

NEXT:  MOV   AL,ES:[MESS2+DI]
		CMP   AL,MESS1[SI]
		JNZ   OUTRESULT1
		INC   SI
		INC   DI
		LOOP NEXT
		OUTRESULT 2
            
OUTRESULT1:  OUTRESULT 1
		 

 EXIT2:		CRLF
		MOV	AH,1
		INT	21H
		.IF	AL==' '  ;用空格来控制重新比较
		CRLF
		JMP START0
		.ENDIF 
                
	  	MOV  AX,4C00H
		INT   21H

MAIN  ENDP
CODES ENDS
END   START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -