首页 > 其他 > 详细

在屏幕上显示一段带颜色的文字(汇编)

时间:2020-10-30 10:11:37      阅读:26      评论:0      收藏:0      [点我收藏+]
;object: show string with color
;writer: mike
;time: 2020.10.26

assume cs:code,ds:data,ss:stack


data segment
        db    welcome to masm,0


data ends

stack segment stack
        db 128 dup(0)



stack ends

code segment

start:    

        mov ax,stack
        mov ss,ax
        mov sp,128         ;设置栈地址



        mov bx,data
        mov ds,bx
        mov si,0              ;数据从哪里来

        mov bx,0B800H
        mov es,bx
        mov di,160*8
        add di,3*2            ;数据到哪里去,不要问为什么

        call showString

        mov ax,4C00H
        int 21H


;=====================================


showString:
        push cx           ;为防止子程序改变主程序的值,因此将寄存器的值保存到内存中
        push ds
        push es
        push si
        push di
        mov cx,0           ;这里相当于一个loop,这里执行一次循环
showString1:
        mov cl,ds:[si]      ;判断是否到了字符串结尾
        jcxz showStringReg   ;只针对cx 寄存器
        mov es:[di+0],cl
        mov byte ptr es:[di+1],00000010B ; 在字符后面加上了颜色

        add di,2
        inc si
        jmp showString    

showStringReg:
        pop di        ;取出内存中的值
        pop si
        pop es
        pop ds
        pop cx
        ret

code ends
end

 

 

技术分享图片

 

在屏幕上显示一段带颜色的文字(汇编)

原文:https://www.cnblogs.com/zijidefengge/p/13900202.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!