打印变量和字符串?

时间:2013-06-29 20:44:44

标签: assembly x86-16

我有这样的变量:

myVar db 'A','B',0

我需要在屏幕上打印的字符串中间嵌入“A”和“B”。像这样:

CALL PTHIS
db 'first val is ', %1, ' second val is ', %2, 0

我想我在某个地方看到过类似的东西。怎么办呢?

1 个答案:

答案 0 :(得分:1)

为了回答,我编写了一个非常简单的printf解析器。它的工作方式类似于其C语言的老大哥,但仅了解格式说明符'%c'和'%s'。这也可以扩展。

这也是探索C calling convention的好例子。

以下程序在EMU8086,TASM,JWASM和MASM中汇编> = 6.0:

func :: (Show a, MonadReader Int m) => Bool -> m a
func b = case b of
  True -> do
    i <- ask
    show i
  False -> "error"

main :: IO ()
main = print $ func True 5