assembly - 字符块未在 Turbo Assembler 中显示正确的输出
问题描述
我试图创建一个只有字符串中的字符块的燃油泵,但是当我使用 TASM 编译它时,这是 dosbox 给我的输出。
我存储的数据主要是字符块,其中一些是上下半块,我用于此的大多数字符是完整块。
.model small
.stack
.data
fuelpump0 db " ▄█████████████████▄$"
fuelpump1 db " █▀ ▀█$"
fuelpump2 db " █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █ ▄▄▄$"
fuelpump3 db " █ █ █ █ ██▄$"
fuelpump4 db " █ █ █ █ ▀██$"
fuelpump5 db " █ █ █ ███▄ █$"
fuelpump6 db " █ █ █ █ ▀▀█ █$"
fuelpump7 db " █ █ █ █ █ █$"
fuelpump8 db " █ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █ █ █$"
fuelpump9 db " █ █ █ █$"
fuelpumpa db " █ █ █ █$"
fuelpumpb db " █ █ █ █$"
fuelpumpc db " █ █ █ █$"
fuelpumpd db " █ █ █ █$"
fuelpumpe db " █ █ █ █$"
fuelpumpf db " █ █ ▀█▀$"
fuelpumpg db " ▄▄█ █▄▄$"
fuelpumph db " █ █$"
fuelpumpi db " █████████████████████████$"
.code
begin:
mov ax, @data
mov ds,ax
mov dx, offset fuelpumpn
mov ah,09h
int 21h
mov dx, offset fuelpump1
mov ah,09h
int 21h
mov dx, offset fuelpump2
mov ah,09h
int 21h
mov dx, offset fuelpump3
mov ah,09h
int 21h
mov dx, offset fuelpump4
mov ah,09h
int 21h
mov dx, offset fuelpump5
mov ah,09h
int 21h
mov dx, offset fuelpump6
mov ah,09h
int 21h
mov dx, offset fuelpump7
mov ah,09h
int 21h
mov dx, offset fuelpump8
mov ah,09h
int 21h
mov dx, offset fuelpump9
mov ah,09h
int 21h
mov dx, offset fuelpumpa
mov ah,09h
int 21h
mov dx, offset fuelpumpb
mov ah,09h
int 21h
mov dx, offset fuelpumpc
mov ah,09h
int 21h
mov dx, offset fuelpumpd
mov ah,09h
int 21h
mov dx, offset fuelpumpe
mov ah,09h
int 21h
mov dx, offset fuelpumpf
mov ah,09h
int 21h
mov dx, offset fuelpumpg
mov ah,09h
int 21h
mov dx, offset fuelpumph
mov ah,09h
int 21h
mov dx, offset fuelpumpi
mov ah,09h
int 21h
mov ah, 4ch
int 21h
end begin
我开始怀疑我的字符是否不是 ASCII 表的一部分,因为它们都是扩展 ASCII 字符的一部分。我希望我能得到一些提示来解决这个问题。
解决方案
我解决了这个问题,它可能不是最好的解决方案,但这是我所做的:
TASM 能够在扩展 ASCII 表中回显特殊字符,只需简单地键入每个特殊字符的十进制值,如▐ (222)、█ (219)、▀ (223) 和▄ (220)。只需确保它们每个都有逗号,并且不能在引号内。
您可以在要存储的每个数据字符串中混合字符串和整数,只需确保为每个字符串和整数加上逗号,并将 13,10 作为返回键和“$”添加到末尾。
推荐阅读
- android - 我无法为 setLuckyWheelReachTheTarget 函数中的每个可绘制类型制作 Toast
- json - Spark数据框json列值
- docker - 为什么dotnet项目没有在docker中发布?
- python-3.x - Python 3 中没有 X(类似于 Midnight Commander)的终端中的纯文本“打开文件”对话框
- nginx - 为什么 nginx 提供一个名为 .ico 而不是 favicon.ico 的自定义?
- console - radare2 和 AFL 使用哪个渲染引擎?
- python - 更改用户输入以从 python 中的命令行读取文件
- windows - Sublime Text 4 在文件保存时删除了 Ubuntu Terminal for Windows 的权限
- amazon-web-services - 为什么 AWS Lambda 函数非常适合 IOT 应用程序?
- java - 为什么 Map.entry::getKey 和 Map.entry::getValue 在流中对 hashmap 进行排序时不起作用?