题目:在屏幕左上角显示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字符或者普通的半角空格字符。

解决方法:

  1. 将输入的全角改为半角;
  2. 将原有的空格重新缩进。

想起了Python对缩进也很严格,经常程序没错误,但是就是有问题。

效果:

版权声明:本文为博主原创文章,未经博主允许不得转载。