准备一个名为 printStringName 的 MARIE 子例程,它可以打印包含两个以 ASCII '0' 结尾的字符串的任何名称(使用“输出”指令)。首先使用包含名称字符串起始地址的标签“PrintName”(如上例中的 myNameAdd)。然后代码应该从该地址加载一个字符,如果它不是'0'则输出它,然后将地址加1,并继续这样做直到从地址加载的字符为'0'(这表示结束字符串)。然后,打印一个ASCII“空格”字符,并继续打印名称字符串的第二部分,即姓氏,直到从地址加载的字符为“0”(表示字符串结束)。然后,当您加载标记“名称结尾”的第二个 ASCII '0' 时,打印一个 ASCII“换行”字符并继续打印下一个名称。
JnS Print
Halt
Print, HEX 2
PrintString, LoadI PrintName
Skipcond 800
JumpI Print
Output
Clear
Load PrintName
Add Increment
Store PrintName
Clear
Jump PrintString
PrintName, DEC 0
HEX 043
HEX 048
HEX 045
HEX 041
HEX 048
HEX 030
HEX 030
HEX 030
Increment, DEC 1
Load PrintName
Store Print_Arg
JnS Print
Halt
PrintName, hex 04A
Print_Arg, DEC 0
Print, Hex 0
Load Print_Arg
Output
Skipcond 000
JumpI Print
Output
Clear
Load PrintName
Add Increment
Store PrintName
Clear
Jump 0
Increment, DEC 1
代码不断重复,我不确定是什么问题