|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|