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


转载于:https://my.oschina.net/u/1375497/blog/217819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值