iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >汇编语言显示功能实现方法是什么
  • 300
分享到

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

2023-06-25 13:06:26 300人浏览 八月长安
摘要

本篇内容主要讲解“汇编语言显示功能实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“汇编语言显示功能实现方法是什么”吧!问题1在屏幕中间分别显示绿底,绿底红色,白底蓝色的字符串“Wel

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

    问题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 segmentdb 'Welcome to masm!'data ends code segmentstart:        mov ax,datamov ds,axmov bx,0;ds:bx指向数据段起始位置 mov ax,0B800Hmov es,ax;设置显示内存空间的起始位置 mov si,64;设置字符串在一行中的中间位置mov cx,16;设置循环的次数为字符串的长度 s:mov al,ds:[bx]mov ah,20H;设置第一行的开始位置和颜色mov es:[si+6E0H],axmov ah,42h;设置第二行的开始位置和颜色mov es:[si+780H],axmov ah,71h;设置第三行的开始位置和颜色mov es:[si+820H],ax inc bx ;设置字符串的偏移add si,2;设置下一次循环的写入位置 loop s mov ax,4c00hint 21h code endsend start

     问题2:

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

    分析:

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

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

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

    assume cs:code,ds:datadata segmentdb 'Welcome to masm!',0data ends code segmentstart:        mov dh,8mov dl,3mov cl,2 mov ax,datamov ds,axmov si,0;ds:si指向数据段首地址 call show_str mov ax,4c00hint 21h show_str:        mov ax,0B800Hmov es,ax;es指向显示内存空间的段地址 mov ax,160dec dhmul dhmov dh,0dec dladd dl,dladd ax,dxmov di,ax;设置di指向字符串要显示的偏移地址mov ah,cl show:        mov cx,ds:[si]jcxz ok;设置在遇到字符0的时候退出mov al,ds:[si]mov es:[di],axadd di,2inc siloop show ok:retfcode ends end start

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

    --结束END--

    本文标题: 汇编语言显示功能实现方法是什么

    本文链接: https://www.lsjlt.com/news/304855.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 汇编语言显示功能实现方法是什么
      本篇内容主要讲解“汇编语言显示功能实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“汇编语言显示功能实现方法是什么”吧!问题1在屏幕中间分别显示绿底,绿底红色,白底蓝色的字符串“Wel...
      99+
      2023-06-25
    • 汇编语言显示功能实现教程详解
      目录问题11 如何确定字符要显示的位置确定3行字符在每一行的起始位置确定3行字符在屏幕中的哪一行2 如何确定字符要显示的颜色属性 问题2:分析:问题1 在屏幕中间...
      99+
      2022-11-12
    • 汇编语言功能字符串大小写转换实现方法是什么
      本篇内容介绍了“汇编语言功能字符串大小写转换实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题1:将data段中的第一个字符串...
      99+
      2023-06-25
    • 汇编语言功能用循环累加实现乘法
      目录问题1:编程计算2的2次方,结果存在ax中分析:用2+2实现问题2:编程实现2的12次方分析:用loop实现问题3:编程实现123*236,结果存在ax中分析:用236相加123...
      99+
      2022-11-12
    • thinkphp实现分页功能的方法是什么
      这篇文章主要介绍“thinkphp实现分页功能的方法是什么”,在日常操作中,相信很多人在thinkphp实现分页功能的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp实现分页功能的方法...
      99+
      2023-07-05
    • C语言实现四舍五入的方法是什么
      C语言中,可以使用以下方法实现四舍五入:1. 使用round()函数:round()函数是C语言中的一个数学库函数,可以对浮点数进行...
      99+
      2023-10-20
      C语言
    • r语言数据分析的实现方法是什么
      R语言是一种功能强大的编程语言和环境,特别适用于数据分析。以下是R语言实现数据分析的一般方法:1. 数据导入:使用R语言中的函数从各...
      99+
      2023-09-15
      r语言
    • go语言转发功能的实现和应用场景是什么
      本篇内容介绍了“go语言转发功能的实现和应用场景是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、golang的优势在传统的web应用...
      99+
      2023-07-05
    • 异步编程在Go语言中的实现方式是什么?
      随着互联网的不断发展,越来越多的应用程序需要处理大量的并发请求。在这种情况下,传统的同步编程方式已经无法满足需求。异步编程是一种解决并发问题的有效方式,它能够充分利用系统资源,提高程序的并发能力。本文将介绍异步编程在Go语言中的实现方式,...
      99+
      2023-09-28
      对象 自然语言处理 异步编程
    • php实现文件下载功能的方法是什么
      本篇内容主要讲解“php实现文件下载功能的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php实现文件下载功能的方法是什么”吧!一、实现文件下载的基本原理在PHP中,实现文件下载的原理...
      99+
      2023-07-06
    • CRC校验原理及C语言实现的方法是什么
      这篇“CRC校验原理及C语言实现的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CRC校验原理及C语言实现的方法是...
      99+
      2023-07-05
    • recorder.js基于Html5录音功能的实现方法是什么
      这篇文章主要讲解了“recorder.js基于Html5录音功能的实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“recorder.js基于Ht...
      99+
      2022-10-19
    • C语言静态与动态通讯录的实现方法是什么
      这篇文章主要讲解了“C语言静态与动态通讯录的实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言静态与动态通讯录的实现方法是什么”吧!静态通讯录在我们学习完C语言的结构体、指针...
      99+
      2023-06-25
    • C语言实现猜数字游戏的两种方法分别是什么
      C语言实现猜数字游戏的两种方法分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细...
      99+
      2023-06-26
    • R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么
      本篇内容主要讲解“R语言数据可视化tidyr与ggplot2多个变量分层展示的实现方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“R语言数据可视化tidyr与ggplot2多个变量分层展...
      99+
      2023-06-25
    • Numpy文件中的自然语言处理:Java实现的最佳方法是什么?
      随着大数据时代的到来,自然语言处理(NLP)成为了越来越热门的话题。在NLP中,Numpy是一个非常重要的工具,它可以用来处理和分析大量的文本数据。那么,对于Java开发者来说,如何使用Numpy文件进行NLP处理呢?本文将为您介绍最佳的...
      99+
      2023-11-08
      文件 numpy 自然语言处理
    • 在Linux系统下使用Java API实现自然语言处理的方法是什么?
      自然语言处理(NLP)是人工智能领域中的一个重要分支,它研究人类语言的本质和规律,以及如何使用计算机模拟和处理语言。在当今信息爆炸的时代,NLP技术正被广泛应用于机器翻译、语音识别、文本分类、情感分析等领域。本文将介绍如何在Linux系统...
      99+
      2023-09-08
      自然语言处理 linux api
    • PHP开发点餐系统的订单管理功能实现方法是什么?
      PHP开发点餐系统的订单管理功能实现方法是什么?随着外卖和餐饮行业的迅速发展,点餐系统已经成为餐厅不可或缺的一部分。点餐系统的订单管理功能对于餐厅的运营非常重要,它能够对订单进行管理、处理、查询等操作,提高餐厅的效率和服务质量。那么,在PH...
      99+
      2023-11-01
      实现方法 订单管理 点餐系统
    • PHP开发点餐系统的统计报表功能实现方法是什么?
      PHP开发点餐系统的统计报表功能实现方法是什么?随着餐饮行业的快速发展,越来越多的餐厅开始采用点餐系统来提升服务效率和顾客体验。而作为其中重要的一环,统计报表功能对于餐厅管理者来说是非常重要的。它能够帮助管理者了解餐厅的销售情况、菜品的销售...
      99+
      2023-11-01
      PHP开发 - PHP programming 点餐系统 - ordering system 统计报表功能 - stat
    • PHP开发点餐系统的在线点餐功能实现方法是什么?
      PHP开发点餐系统的在线点餐功能实现方法是什么?随着互联网的发展,越来越多的餐饮企业开始注重在线点餐服务的开发。而PHP作为一种广泛应用于Web开发的开源脚本语言,具有开发周期短、开发成本低、可扩展性强等优势,因此成为了很多餐饮企业选择的主...
      99+
      2023-11-01
      PHP 在线点餐 点餐系统
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作