马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
利用BX做了内循环……自鸣得意中 ^^
看了很多解答,觉得偏移地址和电脑屏幕比例有关,自行修改数据段中PY即可。
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
PY DW 680H,7C0H,900H
SR DB 'welcome to masm!'
BG DB 2,24H,71H
DATA ENDS
CODE SEGMENT
START: MOV AX,DATA
MOV DS,AX
MOV AX,0B800H
MOV ES,AX
MOV SI,0
MOV DI,0
MOV CX,16
MOV BX,4 ;计数三次显示串&同时负责切换行(自下而上)
STRING:MOV AL,BYTE PTR SR[DI]
MOV BP,WORD PTR PY[BX]
MOV ES:BYTE PTR[BP+SI],AL
ADD SI,2
INC DI
LOOP STRING
MOV CX,16
MOV SI,0
MOV DI,0
SUB BX,2
JNC STRING
MOV BX,4
MOV CX,16
MOV SI,0
MOV DI,2
BACKGD:INC SI ;显示背景属性
MOV AL,BYTE PTR BG[DI]
MOV BP,WORD PTR PY[BX]
MOV ES:BYTE PTR [BP+SI],AL
INC SI
LOOP BACKGD
MOV CX,16
MOV SI,0
DEC DI
SUB BX,2
JNC BACKGD
MOV AX,4C00H
INT 21H
CODE ENDS
END START
|