0
我想將這個僞代碼Java轉換爲正確的Assembly 32位系統。誰能幫我?嵌套循環彙編代碼
i'm做這樣,忽略註釋在外語 但我不知道究竟是如何做到在addvec3第三環,並且條件後
global ptrvec1, ptrvec2, ptrvec3
.section .text
.global comuns #int comuns(void)
comuns:
movl $0, %eax # iniciar eax a 0
movl $0, %ebx # primeiro ciclo
movl $0, %ecx # segundo ciclo
movl $0, %edx # ciclo do vetor3
movl $ptrvec1, %ebp #endereco vetor1
movl $ptrvec2, %edi #endereco vetor2
movl $ptrvec3, %esi # resultado
ciclo:
cmpl $14, %ebx # compara para fim ciclo
je fim
movl (%ebp), %esp # move inteiro ptrvec1 para esp
ciclo2:
cmpl $14,%ecx # compara para fim ciclo2
je incrementarCiclo # se igual incrementa ciclo
movl (%edi), %eax
cmpl %eax, %esp #compara inteiro de esp com inteiro de edi
je adicionarAvetor3 # se igual adiciona a vetor3 em esi
jmp incrementarCiclo2 # se nao incrementao ciclo2
incrementarCiclo:
movl $0, %ecx # segundo ciclo a 0
incl %ebx # incrementa ciclo
addl $4, %ebp # passa para proximo inteiro vetor 1
jmp ciclo # passar para o ciclo
incrementarCiclo2:
addl $4, %edi # passa para o proximo inteiro de vetor 2
incl %ecx # incrementa ciclo 2
jmp ciclo2
addvec3:
fim:
movl %edx,%eax
ret
的目標是有2 vec並比較它們,如果有重複的數字檢查數字是否不在vec3並添加它們。
「幫助」不等於「爲我寫出來」,所以也許你應該表現出你得到了什麼,什麼**具體**問題你有。 – Jester
我編輯了這個問題 –