当前位置: 首页 > 开发语言 > 汇编 > 汇编语言程序设计之根据输入改变屏幕颜色的代码

汇编语言程序设计之根据输入改变屏幕颜色的代码

时间:2020-11-19 21:05来源:未知 点击:
分享到:

写在前面

该程序实现了“根据输入改变屏幕颜色”。其实这个程序本身没什么意思,纯粹只是将学习到的知识融合在了一起而已。程序本身过于繁琐了,写得并不是很好。以及这是我汇编实验课程的作业,如果大家有类似作业的话希望不要过度借鉴,本程序仅供参考和学习。

1.设计目的

1)体验并了解DOS界面下色彩显示;

2)了解并掌握INT10功能BIOS调用显示屏幕控制。

2.程序功能

①创建小屏;

②提示输入姓名;

③询问背景颜色并修改背景色;

④询问字体颜色并修改字体色;

⑤询问是否闪烁并修改闪烁;

⑥输出姓名及问候语。

3.源代码

源代码

 mov dx,offset arro
 mov ah,9
 int 21h    ;输出箭头
 mov ah,1
 int 21h    ;输入闪烁
 sub al,30h
 call scroll
 cmp al,1
 je twin
 and bh,01111111b  ;若闪烁,将bh的7位改为1
 jmp a
twin: or bh,10000000b  ;若不闪烁,将bh的7位改为0
a:  call scroll
 call cursormid
 mov dx,offset hel0
 mov ah,9
 int 21h    ;输出问候
 push bx
 call scroll
 call cursormid
 mov bl,buff+1   ;将输入的字符数存至bl
 add bl,2    ;将bl加2,使之指向最后一个字符的下一个字符
 mov bh,0    ;将bh置零
 add bx,offset buff ;将buff的偏移地址加到bx中
 mov byte ptr [bx],'!' ;在字符串最后写入'!'
 add bx,1    ;将bx加1,使之指向下一个字符
 mov byte ptr [bx],'$' ;在字符串最后写入'$'
 mov dx,offset buff+2
 mov ah,9
 int 21h    ;输出字符串(即所存姓名、'!')
 pop bx
 call scroll
 call cursormid
 mov dx,offset hel1
 mov ah,9
 int 21h    ;输出字符串,问候    
 mov ah,4ch
 int 21h    ;结束程序
  scroll proc near
 push ax
 push bx
 push cx
 push dx
 mov ah,6
 mov al,1
 mov ch,8
 mov cl,30
 mov dh,16
 mov dl,60
 int 10h    ;下滚一行
 pop dx
 pop cx
 pop bx
 pop ax
 ret
scroll endp
cursor proc near
 push ax
 push bx
 push dx
 mov ah,2
 mov dh,16
 mov dl,30    ;移动光标
 mov bh,0
 int 10h
 pop dx
 pop bx
 pop ax
 ret
cursor endp
cursormid proc near
 push ax
 push bx
 push dx
 mov ah,2
 mov dh,16
 mov dl,38    ;移动光标
 mov bh,0
 int 10h
 pop dx
 pop bx
 pop ax
 ret
cursormid endp
code ends
end start

4.流程图

总结

到此这篇关于汇编语言中的根据输入改变屏幕颜色的代码的文章就介绍到这了,

(责任编辑:admin)
推荐教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们--网站地图          黑ICP备17004983号-1