Estou tentando escrever programas usando "as" e "ld" no AIX 6.1. No entanto, não consigo fazer nada funcionar. No momento, estou lidando com dois problemas que estão me impedindo de prosseguir.
No código abaixo, a seção .text está gerando uma mensagem de erro quando uso 'as hello.s -o hello.o' para compilá-la: -
.text
.globl main
main:
addi 3, 0, 1
addi 4, 0, 2
add 5, 3, 4
blr
Erro hello.s: linha 1: 1252-016 O opcode ou pseudo-op especificado não é válido. Use apenas instruções ou pseudo-ops compatíveis.
Quando removo a linha ".text", o código-fonte compila sem problemas. No entanto, após criar o executável usando "ld -e main hello.o -o hello", recebo o seguinte erro ao tentar executá-lo: -
exec(): 0509-036 Não é possível carregar o programa hello devido aos seguintes erros: 0509-026 Erro do sistema: Um endereço de memória não está no espaço de endereço para o processo.
'ldd' não mostra dependências, então um LIBPATH e LD_LIBRARY_PATH vazios não parecem ser um problema
'dbx olá' : -
Digite "help" para obter ajuda.
aviso: não é possível executar hello
lendo informações simbólicas ...o programa não está ativo
aviso: nenhuma fonte compilada com -g
o programa não está ativo
Informações de arquitetura : -
Tipo de processador: PowerPC_POWER8
Modo de implementação do processador: POWER 7
Versão do processador: PV_7_Compat
Tipo de CPU: 64 bits
Tipo de kernel: 64 bits
Agradeço antecipadamente.
Um exemplo pode ajudar a começar: