我有这样的变量:
myVar db 'A','B',0
我需要在屏幕上打印的字符串中间嵌入“A”和“B”。像这样:
CALL PTHIS
db 'first val is ', %1, ' second val is ', %2, 0
我想我在某个地方看到过类似的东西。怎么办呢?
答案 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