为了账号安全,请及时绑定邮箱和手机立即绑定

汇编调用显示缓冲地址显示三行字符串

根据王爽《汇编语言》一书中第九章实验9作业要求,实现输出三行字符串
在显示缓冲地址b8000h~bffffh中,每个字符占用两个字节,第一个字节为该字符的ascii码,第二个字节为显示信息码,具体如下:
7 6 5 4 3 2 1 0
闪烁 R G B 高亮 R G B
(背景) (字)

每一行有80个字符(00-9f)
根据以上提示,实现“welcome to imooc”三行的不同颜色不同打印
参考代码如下

assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
    db 0,0,0,0,0,0,0,0
stacksg ends

datasg segment
    db 'Welcome to imooc'
    db 71h,24h,02h
datasg ends

codesg segment

doit:
    mov al,ds:[di]
    mov es:[bx],al
    inc bx
    inc di
    mov es:[bx],ah
    inc bx
    loop doit
    mov bx,es
    add bx,0ah
    mov es,bx
    jmp s

start:  
    mov ax,datasg
    mov ds,ax
    mov ax,stacksg
    mov ss,ax
    mov sp,0
    mov ax,0b800h
    mov es,ax
    mov cx,5
    push cx

s:  pop cx
    mov si,0eh
    add si,cx
    mov ah,ds:[si]
    dec cx
    jcxz endit

    push cx
    mov cx,16
    mov di,0
    mov bx,0
    jmp doit

endit:  
    mov ax,4c00h
    int 21h

codesg ends
end start
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消