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

📄 a7-1.asm

📁 A1.asm 显示程序实验 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT USE16 MES1 DB
💻 ASM
字号:
;A7-1.asm
;子程序设计-数据移动实验

STACK1  SEGMENT STACK
         DW 256 DUP(?)
STACK1  ENDS

DDATA	SEGMENT
MES1    DB  'The data in buf2 are:',0AH,0DH,'$'
BUF1	DB	11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,0FFH,00H
BUF2	DB	20H	DUP(0)
DDATA	ENDS

CODE SEGMENT
        ASSUME CS:CODE,DS:DDATA

START: MOV  AX,DDATA
       MOV  DS,AX

       MOV  CX,0010H
	   MOV 	SI,OFFSET BUF1
	   MOV 	DI,OFFSET BUF2
 	   CMP 	SI,DI
	   JA 	A2
	   ADD 	SI,CX
	   ADD 	DI,CX
	   DEC 	SI
	   DEC 	DI
A1:	   MOV 	AL,[SI]
	   MOV 	[DI],AL
	   DEC 	SI
	   DEC 	DI
	   DEC 	CX
	   JNE 	A1
	   JMP 	A3
A2:	   MOV 	AL,[SI]
	   MOV 	[DI],AL
	   INC	SI
	   INC 	DI
	   DEC 	CX
	   JNE 	A2
A3:    MOV  DX,OFFSET MES1
       MOV  AH,09H
       INT  21H
       MOV  CX,10H
       MOV  SI,OFFSET BUF2
A4:    CALL SHOW
	   INC	SI
	   MOV	DL,20H
	   MOV	AH,02H
	   INT	21h
       LOOP A4 

	   MOV	AX,4C00H
	   INT 	21H

SHOW  PROC	NEAR
	   MOV	AL,DS:[SI]
	   AND	AL,0F0H			;取高4位
	   SHR	AL,4
	   CMP	AL,0AH			;是否是A以上的数
	   JB	C2		
	   ADD	AL,07H		
C2:	   ADD	AL,30H		
	   MOV	DL,AL			;show character 
	   MOV	AH,02H
	   INT	21H
	   MOV	AL,DS:[SI]
	   AND	AL,0FH			;取低4位
	   CMP	AL,0AH
	   JB	C3
	   ADD 	AL,07H
C3:	   ADD	AL,30H
	   MOV	DL,AL			;show character 
	   MOV	AH,02H
	   INT	21H
	   RET
	   ENDP
CODE ENDS
       END START

⌨️ 快捷键说明

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