2013-04-03 12 views
0

因此,我正在开发一个项目以帮助我学习汇编并遇到问题。我需要输入一个由键盘输入的单词并复制它,以便我可以在它之后操作它,替换它的一部分。我知道我必须使用for循环,也许是一个堆栈。我尝试了几种方法,但我的代码都是错误的,并没有编译。我得到了其余的代码工作而不是这个部分,任何帮助将不胜感激关于这个问题,并且好书或网站帮助学习汇编将是非常受欢迎的。谢谢。如何在x86汇编代码中复制单词,在&t语法

mov $0, $edi 

Loop: 
    cmp $4, %edi 
    jg End 

    mov $33, Text(%edi) 
    add $1, %edi 
    jmp Loop 
End: 

我试过这个代码来替换每个其他字母!,我认为复制的过程将是相同的,我对这个概念是新的。副本和!替换是我遇到的其他部分有问题的最后两部分。谢谢。

+1

你能告诉我们你尝试过什么码? –

+0

这是我对相关部分和我遇到麻烦的部分的代码,我知道我想要做的两件事情有类似的过程。 – konopoly

+0

如果您尝试使用'movb $ 33,Text(%edi)'或'movb $ 33,$ Text(%edi)'? –

回答

0

这与GNU汇编为:

mov $0, %edi 

Loop: 
    cmp $4, %edi 
    jg End 

    movb $33, Text(%edi) 
    add $1, %edi 
    jmp Loop 
End: