汇编语言程序打印名字

时间:2016-03-08 01:14:25

标签: assembly pep8-assembly

我正在尝试编写一个打印名字的汇编语言程序 - 例如Thomas。它应该使用.ASCII伪操作来存储程序底部的字符,并使用CHARO指令输出字符。当我看一下教科书中的一个例子时:

;Stan Warford

;January 13, 2009

;A program to output "Hi"

;

CHARO   0x0007,d   ;Output 'H'

CHARO   0x0008,d   ;Output 'i'

STOP  

.ASCII  "Hi"

.END

正确输出“Hi”。但是,当我尝试编写输出
的程序时 托马斯,它不起作用。我有什么:

CHARO       0x0004 ,d   ;output T
CHARO       0x0005 ,d   ;output h
CHARO       0x0006 ,d   ;output o
CHARO       0x0007 ,d   ;output m
CHARO       0x0008 ,d   ;output a
CHARO       0x0009 ,d   ;output s
STOP
.ASCII      "Thomas"
.END

当我运行它时,屏幕上没有输出任何内容。我试图在Pep/8 simulator上运行它。我错过了一些非常明显的东西吗?在使用CHARO命令时,是否需要开始使用特定的十六进制值 - 例如,0x0007?提前感谢您的建议。

2 个答案:

答案 0 :(得分:1)

我还没有使用过pep8,但根据文档,这些变体可以使用:

CHARO       0x0013,d
CHARO       0x0014,d
CHARO       0x0015,d
CHARO       0x0016,d
CHARO       0x0017,d
CHARO       0x0018,d
STOP
.ASCII      "Thomas"
.END

或:

CHARO   'T',i
CHARO   'h',i
CHARO   'o',i
CHARO   'm',i
CHARO   'a',i
CHARO   's',i
STOP  

.END

STRO msg,d
STOP
msg: .ASCII "Thomas\x00"
.END

答案 1 :(得分:0)

这是正确的代码,使用名称" Miranda"举个例子:

    CHARO 0x0016 ,d ;output M
    CHARO 0x0017 ,d ;output i
    CHARO 0x0018 ,d ;output r
    CHARO 0x0019 ,d ;output a
    CHARO 0x001a ,d ;output n
    CHARO 0x001b ,d ;output d
    CHARO 0x001c ,d ;output a
    STOP
    .ASCII "Miranda"
    .END