asm汇编源代码之-字库转换程序

将标准的16x16点阵汉字库(下载16x16汉字库)转换成适合VGA文本模式下显示的点阵汉字库

本程序需要调用file.asm中的子程序,所以连接时需要把file连接进来,如下

C:\> tlink chghzk + file

调用参数描述如下

C:\> chghzk

; 无调用参数,转换标准库文件(SRC16.FNT)为适合VGA文本模式显示的汉字库(DST16.FNT)

; more source code at http://www.ahjoe.com/source/srcdown.asp; CHANG A 16*16 HZK FILE TO VIDEO CHAR FORMATEXTRN   FOPEN:FAR, FCREATE:FAR, FREAD:FAR, FWRITE:FAREXTRN   FSIZE:FAR, FPOS:FAR
CODE    SEGMENTASSUME  CS:CODE
SOURCE  DB      'SRC16.FNT',0
DEST    DB      'DST16.FNT',0
ERRINFO DB      'ERROR!',07,0DH,0AH,'$'
GOODINFO        DB      'GOOD!',0DH,0AH,'$'
SBUFF   DW      16 DUP (0)
DBUFF   DW      16 DUP (0)
SFINO   DW      0FFH
DFINO   DW      0FFH
TSIZE   DW      0DW      0BEGIN:  MOV     AX, CSMOV     DS, AXMOV     ES, AXMOV     DX, OFFSET SOURCEMOV     AL, 00CALL    FOPENJNC     NETTEJMP     ERROR
NETTE:MOV     SFINO, AXMOV     DX, OFFSET DESTMOV     AL, 01CALL    FCREATEJC      ERRORMOV     DFINO, AXMOV     AX, SFINOCALL    FSIZEJC      ERRORMOV     TSIZE, AXMOV     TSIZE+2, DXMOV     AL, 00XOR     CX, CXMOV     DX, CXMOV     BX, SFINOCALL    FPOS
CONTI:MOV     AX, SFINOMOV     DX, OFFSET SBUFFMOV     CX, 32CALL    FREADJC      ERRORMOV     DI, OFFSET DBUFFCLDMOV     CX, 16MOV     SI, OFFSET SBUFF
REPEA1:MOVSBINC     SILOOP    REPEA1MOV     CX, 16MOV     SI, OFFSET SBUFF+1
REPEA2:MOVSBINC     SILOOP    REPEA2MOV     DX, OFFSET DBUFFMOV     AX, DFINOMOV     CX, 32CALL    FWRITEJC      ERRORDB      66HMOV     AX, 32DW      0DB      66HSUB     TSIZE, AXJZ      OVERJMP     CONTIOVER:MOV     DX, OFFSET GOODINFO
SHOO:MOV     AH, 09INT     21HMOV     AH, 4CHINT     21HERROR:MOV     DX, OFFSET ERRINFOJMP     SHOO
CODE    ENDSEND     BEGIN

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/75657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp转换markdown

效果 AI智能体 微信小程序 流式 1.安装Node.js 参考:2024最新版Node.js下载安装及环境配置教程(非常详细)_node.js 安装-CSDN博客 2.需要克隆项目到本地或直接到项目地址下载压缩包。 参考:uniapp中解析markdown支持网页和小程序_uniapp ma…

用java代码如何存取数据库的blob字段

一.业务 在业务中我们被要求将文件或图片等转成 byte[] 或 InputStream存到数据库的Blob类型的字段中. 二.Blob类型介绍 在 MySQL 中,Blob 数据类型用于存储二进制数据。MySQL 提供了四种不同的 Blob 类型: TINYBLOB: 最大存储长度为 255 个字节。BL…

qemu(2) -- 定制开发板

1. 前言 qemu支持自定义开发板,本文就记录一下折腾的过程。基于qemu-10.0.0-rc3添加x210vb3s开发板。 2. 添加板卡文件 网上参考了一些文章,有些文章使用的版本和我的不一样,折腾起来费了点时间,最后发现还是直接参考qemu中已有…

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM) 问题模板解题思路1. 导入必要的库2. 加载数据3. 划分训练集和测试集4. 数据预处理5. 定义算法及其参数6. 存储算法和对应指标7. 训练模型并计算指标8. 找…

CPU(中央处理器)

一、CPU的定义与核心作用 CPU 是计算机的核心部件,负责 解释并执行指令、协调各硬件资源 以及 完成数据处理,其性能直接影响计算机的整体效率。 核心功能: 从内存中读取指令并译码。执行算术逻辑运算。控制数据在寄存器、内存和I/O设备间的…

上层 Makefile 控制下层 Makefile 的方法

在复杂的项目中,通常会将项目划分为多个模块或子项目,每个模块都有自己的 Makefile。上层 Makefile 的作用是协调和控制这些下层 Makefile 的构建过程。下面是几种常见的示例,实现上层 Makefile 对下层 Makefile 的控制。 直接调用&#xff1…

prompts提示词经典模板

prompts.py 中的提示词模板详解 文件中定义了两个核心提示词模板:REASON_PROMPT 和 RELEVANT_EXTRACTION_PROMPT。这两个模板在 DeepResearcher 的推理过程中扮演着关键角色。下面我将详细解析这两个模板的结构和功能。 REASON_PROMPT 详解 REASON_PROMPT 是用于指…

使用python获取电脑硬盘信息

import psutil# 获取硬盘信息 disk_partitions psutil.disk_partitions() print(disk_partitions) for partition in disk_partitions:print(f"设备: {partition.device}")print(f"挂载点: {partition.mountpoint}")print(f"文件系统类型: {partitio…

HarmonyOS-ArkUI V2装饰器: @Provider和@Consumer装饰器:跨组件层级双向同步

作用 我们在之前学习的那些控件中,各有特点,也各有缺陷,至今没有痛痛快快的出现过真正能跨组件的双向绑定的装饰器。 比如 @Local装饰器,不能跨组件@Param装饰器呢,能跨组件传递,但是仅仅就是下一层组件接收参数。另外,它是单向传递,不可被重新赋值。如果您非要改值则…

索引下推(Index Condition Pushdown, ICP)

概念 索引下推是一种数据库查询优化技术,通过在存储引擎层面应用部分WHERE条件来减少不必要的数据读取。它特别适用于复合索引的情况,因为它可以在索引扫描阶段就排除不符合全部条件的数据行,而不是将所有可能匹配的记录加载到服务器层再进行…

idea在线离线安装插件教程

概述 对于小白来说,刚使用idea时,还有很多不懂的地方,这里,简单介绍下如何安装插件。让小白能容易上手全盘idea。 1、File -> Settings 2、找到 Plugins -> Marketplace 3、安装 3.1、在线安装 输入想搜索的内容&#x…

豪越赋能消防安全管控,解锁一体化内管“安全密码”

在消防安全保障体系中,内部管理的高效运作是迅速、有效应对火灾及各类灾害事故的重要基础。豪越科技凭借在消防领域的深耕细作与持续创新,深入剖析消防体系内部管理的痛点,以自主研发的消防一体化安全管控平台,为行业发展提供了创…

ES6学习03-字符串扩展(unicode、for...of、字符串模板)和新方法()

一、字符串扩展 1. eg: 2.for...of eg: 3. eg: 二。字符串新增方法 1. 2. 3. 4. 5.

探索Streamlit在测试领域的高效应用:文档读取与大模型用例生成的完美前奏

大模型用例生成前置工作之文档读取——构建你的自动化测试基础 在群友的极力推荐下,开始了streamlit的学习之旅。本文将介绍如何使用Streamlit开发一个多功能文档处理工具,支持读取、预览、格式转换和导出多种测试相关文档(YAML、JSON、DOCX…

flutter 桌面应用之窗口自定义

在开发桌面软件的时候我们经常需要配置软件的窗口的大小以及位置 我们有两个框架选择:window_manager和bitsdojo_window 对比bitsdojo_window 特性bitsdojo_windowwindow_manager自定义标题栏✅ 支持❌ 不支持控制窗口行为(大小/位置)✅(基本…

Cyber Weekly #51

赛博新闻 1、英伟达开源新模型,性能直逼DeepSeek-R1 本周,英伟达开源了基于Meta早期Llama-3.1-405B-Instruct模型开发的Llama-3.1-Nemotron-Ultra-253B-v1大语言模型,该模型拥有2530亿参数,在多项基准测试中展现出与6710亿参数的…

【JS】关于原型/原型链

本文会讲解什么是原型,什么是原型链,以及查找原型的方法,最后会实现一个函数:判断某对象是否有某属性。 定义 原型:函数都有prototype属性,称作原型/原型对象 原型可以放一些方法和属性,共享…

deskflow使用教程:一个可以让两台电脑鼠标键盘截图剪贴板共同使用的开源项目

首先去开源网站下载:Release v1.21.2 deskflow/deskflow 两台电脑都要下载这个文件 下载好后直接打开找到你想要的exe desflow.exe 然后你打开他,将两台电脑的TLS都关掉 下面步骤两台电脑都要完成: 电脑点开edit-》preferences 把这个取…

啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!

一、啥是Spring,为啥选择它 我们平常说的Spring指的是Spring全家桶,我们为什么要选择Spring,看看官方的话: 意思就是:用这个东西,又快又好又安全,反正就是好处全占了,所以我们选择它…

正向代理 vs 反向代理:核心区别与应用场景详解

目录 代理服务器是什么? 正向代理(Forward Proxy)详解 工作原理 典型应用场景 优缺点分析 反向代理(Reverse Proxy)详解 工作原理 典型应用场景 优缺点分析 正向代理与反向代理的核心区别 对比表格 架构差异…