王爽 汇编语言 第三版 实验9 根据材料编程

    xiaoxiao2021-03-25  114

    题目

     在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串“welcome to masm!”。 

    源代码

    assume ds:code data segment ;要显示的字符串内容 db 'welcome to masm!' data ends code segment start: ;设置数据段地址 mov ax,data mov ds,ax mov ax,0B800H ;B800H显示缓冲区的起始地址 mov es,ax mov bx,0 ;字符串内容的偏移地址,每次增加1 ;缓冲区的偏移地址,每次增加2 ;深入分析: ;需显示在屏幕中间,由材料可得每1行有80个字符占160个字节,而显示 ;的字符串字节+属性字节,共32个字节,所以,要达到水平居中的效果 ;开始值应该为(160 - 32)/ 2 =64 mov bp,64 mov cx,16;循环16次 a: mov al,ds:[bx] ;取得字符串的字节数据 mov ah,02H ;字符串黑底绿色 ;(垂直居中,由材料可得共25行,要显示3行字符串,一行有160个字符((25-3)/2)* 160 = 6E0H) mov es:[bp+6E0H],ax ;显示在第11行上 mov ah,42H ;字符串绿底红色 mov es:[bp+780H],ax ;显示在第12行上(6E0H + A0 = 780H) mov ah,71H ;字符串白底蓝色 mov es:[bp+820H],ax ;显示在第13行上(780H + A0 = 820H) ;累加操作 inc bx add bp,2 loop a mov ax,4C00H int 21H code ends end start

    程序运行示例图

    转载请注明原文地址: https://ju.6miu.com/read-10874.html

    最新回复(0)