[汇编语言] 带有颜色的字符串显示

代码

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

效果

这里写图片描述

其他

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

猜你喜欢

转载自blog.csdn.net/larger5/article/details/80617601