ITPub博客

首页 > IT职业 > IT图书 > 汇编调用显示缓冲地址显示三行字符串

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

IT图书 作者:dzone 时间:2021-09-09 08:57:57 0 删除 编辑

根据王爽《汇编语言》一书中第九章实验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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3703/viewspace-2798302/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-30

  • 博文量
    76
  • 访问量
    534