用BIOS的13号功能,显示彩色字符
题目:在屏幕左上角显示HELLO—黑底灰白字符;在屏幕中央显示I AM A STUDENT—红底白字。
程序:
.586
DATA SEGMENT USE16
MESG1 DB 'HELLO $'
MESG2 DB 'I AM A STUDENT'
LL EQU $-MESG2
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE
ASSUME DS:DATA
ASSUME ES:DATA ;待显示字符放进ES
BEG:
MOV AX,DATA
MOV DS,AX
MOV ES,AX ;DS←DATA
MOV AX,0003H ;80*25彩色文本方式
INT 10H
MOV AH,9
MOV DX,OFFSET MESG1
INT 21H
MOV AX,1301H ;显示彩色字符串
MOV BH,0
MOV BL,01001111B
MOV CX,LL
MOV DH,12 ;一共25行,12行中央显示
MOV DL,(80-LL)/2 ;一共80列,中央显示
MOV BP,OFFSET MESG2 ;BP放进附加段,所以加ES:DATA
INT 10H
MOV AH,4CH
INT 21H
CODE ENDS
END BEG
编译时出现了这个问题:error A2044:invalid character in file。
经过上网查询之后,发现是这个原因:缩进用的可能是全角空格字符,而不是一般的Tab字符或者普通的半角空格字符。
解决方法:
- 将输入的全角改为半角;
- 将原有的空格重新缩进。
想起了Python对缩进也很严格,经常程序没错误,但是就是有问题。
效果:
版权声明:本文为博主原创文章,未经博主允许不得转载。