8086汇编练习——屏幕显示字符串

;需求分析:实现王爽《汇编语言》(第二版)教材P187上的联系
;功能描述:能够在屏幕中显示一串特定的字符串
;显示器显示数据地址:B8000H到BFFFFFH

assume cs:codesg,es:datasg

datasg segment
    db 'welcome to masm!'    ;为数据开辟内存
datasg ends

codesg segment

start:
    mov ax,0b800h    ;显示器显示数据的端地址
    mov ds,ax
    mov bx,720h        ;设定偏移量,选择开始显示的位置

    mov ax,datasg
    mov es,ax        ;使用es段寄存器来指向索引字符串datasg数据
    mov si,0

    mov cx,3    ;一共显示三行
    s:    
        mov ax,cx

        mov cx,16
        s1:
            mov dl,es:[si]        ;读取一个字符
            mov [bx],dl            ;将该字符放入显示数据地址中

            mov dl,00000010b    ;设定字符显示的属性
            mov [bx+1],dl        ;将属性值放入显示的地址中

                                ;两个字节决定了屏幕中一个字符该如何显示

            inc bx
            inc bx
            inc si

        loop s1

        add bx,160
        mov si,0
        mov cx,ax

    loop s
    
    mov ax,4c00h
    int 21h

codesg ends

end start


你可能感兴趣的:(8086汇编练习——屏幕显示字符串)