DATAS SEGMENTdb      'AaabbbcccH'      ;要显示的字符串,10
DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AXmov sp,128mov ax,0b872h     ;算出屏幕第12行中间的显存的段起始位置放入ax中mov es,ax               ;此时es为屏幕第12行中间的显存的段起始位置mov si,0                  ;si用来索引代码列的字符mov di,0                  ;di用来定位目标列mov cx,10 ;字符串长度s1:mov al,ds:[si]    ;源字符mov es:[di],al    ;显示目标字符体mov al,75h        ;颜色mov es:[di+1],al;设置目标字符颜色inc si                  ;db 一个字符一个字节add di,2          ;显存 一个字符两个字节:偶字符体,奇字符颜色loop s1MOV AH,4CHINT 21HCODES ENDSEND START

在emu8086中运行如下;

此程序并未调用汇编 int 10h功能;INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序;

也未调用 int 21h,ah = 02 子功能,其功能是显示输出,要输出的字符放在dl寄存器中;见此;
https://blog.csdn.net/bcbobo21cn/article/details/108892802

使用的方法是直接写显示缓存;把字符直接写到显示缓存位置,就在屏幕上输出了;

在内存地址空间中,B8000H - BFFFFH 共32kB的空间,为80*25彩色字符模式的显示缓冲区;
    显示缓冲区分为8页;每页4KB,4000B;一般情况下,显示第0页内容,B8000H - B8F9FH的4000个字节;

直接写显示缓存我记得是DOS时代重要的技术;目前Win系统还存在否不了解;原理应该是存在的;

原程序见此;
https://blog.csdn.net/larger5/article/details/80617601

在仿真内存顶部输入 b872:0000;如下;看到被显示字符被写入此处;

8086汇编语言显示带颜色的字符串程序学习 - 使用emu8086相关推荐

  1. 用C语言Linux下打印带颜色的字符串

    用C语言Linux下打印带颜色的字符串 字背景颜色范围:40----49 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色  字颜色:30---------- ...

  2. Qt笔记-Linux程序打印带颜色的字符串

    这是脚本之家给出的一个例子: #!/bin/bash # #下面是字体输出颜色及终端格式控制 #字体色范围:30-37 echo -e "\033[30m 黑色字 \033[0m" ...

  3. Shell 显示带颜色字体

    格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码" 如果单纯显示字体颜色可以固定控制码位0m. 格式: echo "/033[字背景颜色;字体颜 ...

  4. linux自定义显示带颜色的字

    让echo输出带颜色的方法有两种 在shell脚本中定义颜色变量,使用echo -e调用变量 定义变量的时候,把echo -e定义到变量中,然后输出变量 格式及选项 格式如下: `echo -e &q ...

  5. echo 命令显示带颜色的字

    让echo输出带颜色的方法有两种 在shell脚本中定义颜色变量,使用echo -e调用变量 定义变量的时候,把echo -e定义到变量中,然后输出变量 格式及选项 格式如下: `echo -e &q ...

  6. 8086汇编语言显示一串字符串中ASCII码最大的一个字符

    微机原理大作业的一部分,比较简单,题目描述如下: 拿之前写过的代码修改,5分钟搞定,甚至连调试都没调,一次运行就功能正常了.好家伙! 代码如下: DATAS SEGMENTSINPUT DB 'Ple ...

  7. 【未解决】CMD窗口无法显示带颜色文字输出

    一.问题出现背景: 给git设置公钥私钥的时候,输入ssh -T git@gitee.com出现疑似乱码的情况(后来才知道是颜色编码) 二.可能原因及尝试过程: 1.参考CMD中文乱码CHCP 650 ...

  8. UILabel显示带颜色边的文字

    需求如图,UILabel要实现带红色边的文字显示. 1.新建UILabel的子类JXBorderLabel 2.重写drawRect:方法 #import "JXBorderLabel.h& ...

  9. python3使用print打印带颜色的字符串

    一.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033 ...

最新文章

  1. 869所高校上榜!2020中国内地大学第三方综合指数排名出炉
  2. 语言兔子繁衍问题讲解_二年级思维数学:位置问题,找到重复部分是解题关键...
  3. c++primer 12.3.1文本查询程序
  4. 判断字符串括号{}[]()是否闭合—python实现
  5. 想快速了解AI各领域的前沿研究成果?可以来这个网站看看 | 资源
  6. 基础知识复习(一)——C语言位运算符详解
  7. Python下载文件到本地
  8. 怎么完全卸载赛门铁克_如何卸载symantec
  9. python C语言加速
  10. linux硬盘的两个分区合并_linux多个分区合并为一个分区
  11. 哈工大SCIR十篇长文被EMNLP 2022主会及子刊录用
  12. Centos初学者需要会的几种命令(2)
  13. Python读写矢量数据(2)矢量数据写入(属性数据)——Python地理数据处理学习分享
  14. C语言#include的用法
  15. Linux常用命令cp详解
  16. 渗透测试之破解密码(3)
  17. “搜狗问问”问答语料爬虫
  18. 8051单片机I/O端口结构与原理
  19. 与过去的一次漫长告别
  20. java-net-php-python-springboot区校企大型仪器智慧共享平台计算机毕业设计程序

热门文章

  1. matlab对手写数字聚类的方法_scikitlearn — 聚类
  2. 用javascript实现简单的物质(密度)分布图
  3. 利用Proceesson在线绘制流程图实例演练!流程图的要点和注意事项说明
  4. CTFshow php特性 web106
  5. Codeforces Round #476 (Div. 2) B. Battleship
  6. poj2976Dropping tests (二分搜索+还是涉及昨天遇见的o1分数规划)
  7. condest--1-范数的条件数估计
  8. 计算n!中结尾零的个数
  9. 【Kaggle-MNIST之路】CNN+改进过的损失函数(三)
  10. Nginx+PHP7 安装及配置