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


oop

相關文章
相關標籤/搜索