如何使用汇编在dos界面上显示字体和颜色--学习心得笔记

最近在学习王爽老师编著的《汇编语言》,王老师深入浅出的讲述,使得汇编语言的学习难度大为降低,文章不再是晦涩难懂,只要你肯花时间,所有书上讲述的内容都可以弄懂,这几天我刚学到第九章,实验九要求我们自己在屏幕的中央显示三行不同颜色和底色的字符串,用的是80*25彩色模式,即在内存B8000~BFFFF段的32kb内存中写入数据,原理书本上讲得很清楚,下面是我的实现代码:

assume cs:code, ds:data, ss:stack
data segment
db 'welcome to masm!' ;字符段
db 16 dup(02h) ;绿色字体信息
db 16 dup(00100100b) ;绿底红色
db 16 dup(01110001b) ;白底蓝色
data ends 
stack segment ;栈段

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用8086汇编语言在电脑显示器上显示移动的矩形,可以按照以下步骤进行: 1. 初始化显卡 在程序开始时,需要初始化显卡并设置显示模式。具体可以使用INT 10H中断来实现,例如: ``` MOV AH, 0 ; 设置显示模式 MOV AL, 13H INT 10H ``` 2. 定义矩形区域 可以在内存中定义一个矩形区域,并使用相应的颜色值来填充。例如: ``` MOV AX, 0A000H ; 显存地址 MOV ES, AX ; 将显存地址加载到ES寄存器中 MOV DI, 0 ; 偏移地址 MOV CX, 320*200 ; 矩形大小 MOV AL, 0FFH ; 矩形颜色,这里设置为白色 REP STOSB ; 将颜色值写入显存 ``` 3. 移动矩形 可以通过改变矩形的坐标来实现移动。例如: ``` MOV X, 0 ; 矩形左上角的X坐标 MOV Y, 0 ; 矩形左上角的Y坐标 ; 在循环中改变矩形坐标,实现移动 WHILE TRUE MOV CX, 320*200 ; 矩形大小 MOV DI, Y*320+X ; 计算偏移地址 MOV AL, 0FFH ; 矩形颜色 REP STOSB ; 将颜色值写入显存 ; 改变矩形坐标 ADD X, 1 ADD Y, 1 ; 延时一段时间,以便观察到移动效果 CALL DELAY END WHILE ``` 4. 刷新显示 为了让用户能够看到移动效果,需要在每次移动后刷新显示。可以使用INT 10H中断来实现,例如: ``` MOV AH, 0CH ; 设置画点颜色和位置 MOV AL, 0FFH ; 点的颜色 MOV CX, 1 ; 点的数量 MOV DX, Y*256+X ; 点的位置 INT 10H ; 刷新显示 ``` 通过以上步骤,就可以使用8086汇编语言在电脑显示器上显示移动的矩形了。需要注意的是,在实现过程中还需要考虑到图像的清晰度、流畅性和响应速度等问题,以便用户可以获得更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值