我想编写一个程序,通过直接写入视频内存来显示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 :(得分:3)
在它前面放一个0
,以便TASM可以告诉它是一个数值而不是一个符号:
mov ax, 0b800h
您似乎也遗漏了任何将从您的程序返回的内容。没有它,很难说{em>代码将在mov es:[20], al
之后运行,但我怀疑它不会很漂亮。
您需要int 21, function 4c之类的内容。我总是发现Ralf Brown's interrupt list对于这类东西非常宝贵。
TASM 5在90年代发布并修补到大约2002年,并且不支持自那时以来已经完成的许多新内容(MMX,SSE等)。我个人最喜欢的是NASM,但还有很多其他选择。