汇编--在屏幕上显示彩色字体
学习汇编学了已经半个学期了,总感觉自己学的不扎实,语言这种东西,我感觉要想学的好必须多实践。在实践中才能更扎实的掌握知识,不然学了一本书,到头来什么事都干不了。课本上有给的材料题,我也懒的一个字一个字的把实验材料写上来。我就贴图片吧。请看


我的代码实现如下:
DATAS SEGMENT
;此处输入数据段代码
DB 'Welcome to masm!'
DB 02H,24H,71H
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
DW 8 DUP(0);栈空间
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AX,STACKS
MOV SS,AX
MOV SP,10H;设置栈顶
MOV BX,0 ;控制颜色
MOV AX,0B872H ;显存位置
MOV CX,3 ;外循环
S3:
push cx ;多重循环处理方法
push ax ;保存显存地址
mov es,ax ;将显存地址赋给附加段
mov si,0
mov di,0
mov cx,10h ;因为字符有16个所以这里赋值为10h
S2:
MOV al,ds:[di]
mov es:[si],al
;上面这两步将数据段中的字符一一给复制到显存的偶数位
inc di
add si,2
loop S2
MOV si,1
MOV AL,10H[BX]
INC BX
mov cx,10h
S1:
MOV ES:[SI],AL
;将颜色复制到显存的奇数位
ADD SI,2
loop S1
POP AX
ADD AX,0AH
POP CX
LOOP S3
MOV AH,4CH
INT 21H
CODES ENDS
END START
运行结果为:

本博客介绍了一个使用汇编语言实现的功能,即在屏幕上显示带有特定颜色的文本。通过修改显存地址和颜色值,实现了字符的彩色显示。
5860

被折叠的 条评论
为什么被折叠?



