📄 a7-1.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 + -