[2011-12-08 12:13] 满屏的0和1
ASSUME CS:CODE,DS:DATA,SS:STACK
DATA SEGMENT
DB '0101010101010101010101010101010101010101' ;用于输出的数据
DATA ENDS
STACK SEGMENT ;嵌套循环,需存放cx中数据
DW 0,0,0,0,0,0,0,0;
STACK ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0B800H
MOV ES,AX
MOV AX,STACK
MOV SS,AX
MOV SP,0010H
;设置段寄存器的指向,ds指向数据段,es指向显存,ss指向栈段,并
;初始化栈
MOV SI,0
MOV BX,0
MOV SI,0
MOV DI,0
MOV CX,25;设置循环次数,25行
S:
PUSH CX ;外循环中cx入栈
MOV CX,40 ;初始内循环次数
MOV DI,0
MOV BX,0
S0:
MOV AL,[DI]
MOV BYTE PTR ES:[BX+SI],AL
MOV BYTE PTR ES:[BX+SI+1],2
MOV BYTE PTR ES:[BX+SI+80],AL
MOV BYTE PTR ES:[BX+SI+81],2
;往显存中放入数据
INC DI
ADD BX,2
LOOP S0;内循环
ADD SI,160;指向下一行
POP CX;外循环控制出栈
LOOP S;外循环
MOV AX,4C00H
INT 21H
CODE ENDS
END START
;QQ958832538,欢迎来交流学习
DATA SEGMENT
DB '0101010101010101010101010101010101010101' ;用于输出的数据
DATA ENDS
STACK SEGMENT ;嵌套循环,需存放cx中数据
DW 0,0,0,0,0,0,0,0;
STACK ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0B800H
MOV ES,AX
MOV AX,STACK
MOV SS,AX
MOV SP,0010H
;设置段寄存器的指向,ds指向数据段,es指向显存,ss指向栈段,并
;初始化栈
MOV SI,0
MOV BX,0
MOV SI,0
MOV DI,0
MOV CX,25;设置循环次数,25行
S:
PUSH CX ;外循环中cx入栈
MOV CX,40 ;初始内循环次数
MOV DI,0
MOV BX,0
S0:
MOV AL,[DI]
MOV BYTE PTR ES:[BX+SI],AL
MOV BYTE PTR ES:[BX+SI+1],2
MOV BYTE PTR ES:[BX+SI+80],AL
MOV BYTE PTR ES:[BX+SI+81],2
;往显存中放入数据
INC DI
ADD BX,2
LOOP S0;内循环
ADD SI,160;指向下一行
POP CX;外循环控制出栈
LOOP S;外循环
MOV AX,4C00H
INT 21H
CODE ENDS
END START
;QQ958832538,欢迎来交流学习
评论次数(2) |
浏览次数(680) |
类型(自己写着玩) |
收藏此文 |