Memory 8086地址b800h:使用TASM将符号直接写入视频存储器

Memory 8086地址b800h:使用TASM将符号直接写入视频存储器,memory,video,assembly,x86-16,tasm,Memory,Video,Assembly,X86 16,Tasm,我想写一个程序,通过直接写入视频存储器来显示ascii符号 .model tiny .stack .data .code main: mov ax, b800h mov ds, ax mov aL, 'x' mov es, bx mov es:[20], aL end main 当我试图用TASM编译时,我遇到了这个错误 "Undefined symbol: B800H" 在其前面放置一个0,以便TASM可以判断它是数值而不是符号: mov ax, 0b800h 您似乎还缺少将从程

我想写一个程序,通过直接写入视频存储器来显示ascii符号

.model tiny
.stack
.data
.code
main: 

mov ax, b800h
mov ds, ax

mov aL, 'x'
mov es, bx
mov es:[20], aL

end main
当我试图用TASM编译时,我遇到了这个错误

"Undefined symbol: B800H"

在其前面放置一个
0
,以便TASM可以判断它是数值而不是符号:

mov ax, 0b800h
您似乎还缺少将从程序返回的任何内容。如果没有这一点,很难说在
mov es:[20],al
之后会运行什么代码,但我怀疑这不会很好

你需要像这样的东西。我总是觉得这类东西很有价值


您可能还想考虑到过去十年中某个工具进行主动维护的可能性:-(<)/P>


TASM 5是在90年代发布的,大约在2002年进行了修补,并且不支持自那时以来所做的很多新工作(MMX、SSE等等)。我个人最喜欢的是NASM,但还有许多其他选项。

在它前面放一个
0
,这样TASM就可以分辨出它是数值而不是符号:

mov ax, 0b800h
您似乎还缺少将从程序返回的任何内容。如果没有这一点,很难说在
mov es:[20],al
之后会运行什么代码,但我怀疑这不会很好

你需要像这样的东西。我总是觉得这类东西很有价值


您可能还想考虑到过去十年中某个工具进行主动维护的可能性:-(<)/P>


TASM 5是在90年代发布的,大约在2002年进行了修补,并且不支持自那时以来所做的很多新工作(MMX、SSE等等)。我个人最喜欢的是NASM,但还有许多其他选项。

太棒了,但是现在当我运行.exe时,它无限期地挂起,你能看到其他问题吗?@user2241226:它正在进入仙境,因为你没有从程序返回-请看更新。@user2241226,这些都是与
b800
一个不同的问题。如果你问他们不同的问题,你会更好地利用他们。评论真的不是问更多与原文无关的问题的地方。理解,无限gratitude@user2241226因为同样的原因,你找不到关于遗传或perlops的东西-你必须知道要寻找什么。每个经历过8086/MSDOS时代早期的人都知道拉尔夫·布朗这个名字-见鬼,我们几乎把他当作神来崇拜:-)太棒了,但现在当我运行.exe时,它无限期地挂起,你能看到其他问题吗?@user2241226:它正在进入仙境,因为你没有从程序中回来-请看更新。@user2241226,这些都是b800的不同问题。如果你问他们不同的问题,你会更好地利用他们。评论真的不是问更多与原文无关的问题的地方。理解,无限gratitude@user2241226因为同样的原因,你找不到关于遗传或perlops的东西-你必须知道要寻找什么。每个经历过8086/MSDOS时代早期的人都知道拉尔夫·布朗这个名字-见鬼,我们几乎把他当作神来崇拜:-)这是干什么用的?如果是DOS,您应该在结束时使用中断退出DOS:
MOV-AH,4CH
/
INT-21H
这是什么操作系统?如果是DOS,您应该在结束时使用中断退出DOS:
MOV-AH,4CH
/
INT-21H