[汇编语言] 带有颜色的字符串显示(hello world 级别程序)

一、代码

DATAS SEGMENT

           ;'0123456789abcdef'
    db      'linhongcun'      ;要显示的字符串,10

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov sp,128

      mov 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,71h        ;颜色
      mov es:[di+1],al;设置目标字符颜色

      inc si                  ;db 一个字符一个字节
      add di,2          ;显存 一个字符两个字节:偶字符体,奇字符颜色
      loop s1

    MOV AH,4CH
    INT 21H


CODES ENDS
    END START

二、效果

这里写图片描述

三、小结

1、常见的 ASCII 码

a:97
A:65
0:48
回车:13
换行:10
空格:32

2、位、字节、字

1字节=2字=16位

3、BCD码

使用4位二进制数表示一位十进制数,只取前10种状态0000-1001来表示十进制数码 0-9
例如:十进制数 1258 对应的BCD码是 0001 0010 0101 1000

4、CPU

地址总线宽度 n 位,寻址能力为 2n 2 n

5、寻址方式

这里写图片描述

6、时间显示

汇编实验14:访问CMOS RAM

7、扬声

汇编程序——扬声器发声的控制

四、其他

参考文章:汇编语言中如何在屏幕显示字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小村

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值