DATA SEGMENT
STRG DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DI,16
XOR BX,BX
NEXT: LEA SI,STRG
ADD SI,BX
MOV CX,16
MOV AH,2
DISP: MOV DL,[SI]
INT 21H
MOV DL,''
INT 21H
INC SI
LOOP DISP
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
INC BX
DEC DI
JNZ NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START
本程序即循环16次输出字符串,每次输出都向后移一个字符的位置。如下:
0123456789ABCDEF
123456789ABCDEF0
23456789ABCDEF01
.....
0123456789ABCDEF
可以简化一些,功能不变:
ASSUME CS:CODE, DS:CODE