[汇编语言] 带有颜色的字符串显示(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

二、效果

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

三、小结

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、寻址方式

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

6、时间显示

汇编实验14:访问CMOS RAM

7、扬声

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

四、其他

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

你可能感兴趣的:([汇编语言] 带有颜色的字符串显示(hello world 级别程序))