2014-04-07 76 views
0
data 
tekst: .ascii "heLLo WoRlD 93a9s\0" 
tekst_len = . - tekst 
.text 
.global _start 
    _start: 
    mov $tekst_len, %edx 
    petla: 
cmp $tekst_len, %edx 
je koniec 
cmpb $'a', tekst(,%edx,1) 
jg zamien #?????????????????????????????????????   
inc %edx 
    jmp petla 
    zamien: 
    movb $'X', tekst(,%edx,1) 
    inc %edx 
    jmp petla 
    koniec: 
movl $4, %eax 
movl $1, %ebx 
movl $tekst, %ecx 
movl $tekst_len, %edx 
int $0x80 

我有這樣的問題:指令'jg zamien'不起作用。無論我選擇'jl'還是'je'它都不會執行。有人能告訴我爲什麼嗎?跳轉指令不起作用

+0

因爲條件從未滿足? – m0skit0

回答

1

就是這個原因:

mov $tekst_len, %edx 
petla: 
cmp $tekst_len, %edx <-- edx will equal $tekst_len here on the first iteration 
je koniec 

你總是跳到koniec在循環的第一次迭代。

mov應該可能是mov $0,%edx

+0

愚蠢的錯誤:)感謝您的幫助 – user3505631