千家信息网

汇编语言显示功能实现方法是什么

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容主要讲解"汇编语言显示功能实现方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"汇编语言显示功能实现方法是什么"吧!问题1在屏幕中间分别显示
千家信息网最后更新 2025年02月23日汇编语言显示功能实现方法是什么

本篇内容主要讲解"汇编语言显示功能实现方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"汇编语言显示功能实现方法是什么"吧!

    问题1

    在屏幕中间分别显示绿底,绿底红色,白底蓝色的字符串"Welcome to masm!"

    分析:

    1 如何确定字符要显示的位置

    在80*25的彩色字符模式显示缓冲区在内存地址的B8000H~BFFFFH共32KB的空间中

    在该模式下,显示器可以显示25行,80列

    所以在一行中就有80个字符,共占据160个字节,每个字符低位字节存储字符的ASCII码,高位字节存储字符的颜色属性

    偏移0000~009F对应的就是显示器上的第一行;

    偏移0A00~13F0对应的就是显示器上的第二行;......依次类推

    确定3行字符在每一行的起始位置

    因为显示的在屏幕的中间,共需要32个字节,屏幕中一行共160个字节,所以开始字节为(160 - 32)/ 2 = 64

    确定3行字符在屏幕中的哪一行

    因为屏幕中一共25行,要显示3行字符串,一行有160个字符串,则第一行的开始位置是(25 - 3)/ 2 * 160 = 6E0H

    第二行的开始位置是6E0H + 160 = 780H

    第三行的开始位置是780H + 160 = 820H

    2 如何确定字符要显示的颜色属性

    每个字符的颜色属性占据一个字节,每一位表示的不同的颜色属性,则共有256种颜色属性

    属性字节的格式:

    7 (6 5 4) 3 (2 1 0)

    BL (R G B) I (R G B)

    闪烁 背景 高亮 前景

    绿底黑色:0 010 0 000B (20H)

    绿底红色:0 010 0 100B (42H)

    白底蓝色:0 111 0 001B (71H)

    assume cs:code,ds:datadata segment        db 'Welcome to masm!'    data ends code segmentstart:                  mov ax,data                        mov ds,ax                        mov bx,0                   ;ds:bx指向数据段起始位置                         mov ax,0B800H                              mov es,ax                  ;设置显示内存空间的起始位置                         mov si,64                  ;设置字符串在一行中的中间位置                                                mov cx,16                  ;设置循环的次数为字符串的长度 s:                      mov al,ds:[bx]                                                             mov ah,20H                 ;设置第一行的开始位置和颜色                        mov es:[si+6E0H],ax                                                mov ah,42h                 ;设置第二行的开始位置和颜色                        mov es:[si+780H],ax                                                mov ah,71h                 ;设置第三行的开始位置和颜色                        mov es:[si+820H],ax                         inc bx                                ;设置字符串的偏移                        add si,2                   ;设置下一次循环的写入位置                         loop s                         mov ax,4c00h                        int 21h code endsend start

    问题2:

    设计一个子程序,使调用者决定显示的位置,内容和颜色

    分析:

    要实现的功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串

    指定的参数:行号-dh(取值范围0~24),列号-dl(取值范围0~79),取值范围主要是根据显示器屏幕的大小

    颜色-cl,ds:si指向字符串的首地址

    assume cs:code,ds:datadata segment        db 'Welcome to masm!',0data ends code segmentstart:                  mov dh,8                        mov dl,3                        mov cl,2                   mov ax,data                        mov ds,ax                        mov si,0                   ;ds:si指向数据段首地址                         call show_str                   mov ax,4c00h                        int 21h show_str:               mov ax,0B800H                        mov es,ax          ;es指向显示内存空间的段地址                         mov ax,160                        dec dh                        mul dh                        mov dh,0                        dec dl                        add dl,dl                        add ax,dx                        mov di,ax          ;设置di指向字符串要显示的偏移地址                        mov ah,cl show:                   mov cx,ds:[si]                        jcxz ok                    ;设置在遇到字符0的时候退出                        mov al,ds:[si]                        mov es:[di],ax                        add di,2                        inc si                        loop show ok:                     retfcode ends end start

    到此,相信大家对"汇编语言显示功能实现方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    字符 位置 颜色 一行 字符串 字节 屏幕 属性 地址 指向 功能 方法 显示器 偏移 汇编语言 语言 内存 内容 空间 范围 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 excel算不动怎么用数据库 网络安全与技术 郓城 网络安全 图可互联网科技 浏览器时间和服务器时间不一致 释然和贤宝宝的服务器纷争 初中学历学软件开发可以吗 品牌软件开发培训中心 数据库软件是应用软件 车载网络技术维修论文 网络安全电子小报没有水印 sql创建一个数据库用户例子 江宁区网络安全教育小学题目 能源领域网络安全规划 档案局网络安全应急预案 互联网科技快速发展的趋势 广东省水利厅网络安全 属于最基本的服务器是什么 文件服务器共享视频 文件服务器资源管理器限制配额 金山区正规网络技术服务诚信合作 维修手机数据库一般要多少钱呢 企业软件开发流程 神域天堂服务器ip 请打开关于网络安全的手抄报 《网络安全法》第五十九条 数据管理与数据库做操作 广东程序软件开发哪家可靠 数据库with用法总结 厦门思明区网络安全公司
    0