我正在尝试在 AIX 6.1 中使用“as”和“ld”编写程序。但是却无法正常工作。目前有两个问题阻碍了我继续前进。
在下面的代码中,当我使用“as hello.s -o hello.o”进行编译时,.text 部分会引发错误消息:-
.text
.globl main
main:
addi 3, 0, 1
addi 4, 0, 2
add 5, 3, 4
blr
错误 hello.s: 第 1 行: 1252-016 指定的操作码或伪操作无效。请仅使用支持的指令或伪操作。
当我删除“.text”行时,源代码编译没有问题。但是,在使用“ld -e main hello.o -o hello”创建可执行文件后,尝试执行时出现以下错误:
exec(): 0509-036 无法加载程序 hello,因为出现以下错误:0509-026 系统错误:内存地址不在进程的地址空间中。
'ldd' 显示没有依赖关系,因此空的 LIBPATH 和 LD_LIBRARY_PATH 似乎不是问题
‘dbx 你好’:-
输入“help”获取帮助。
警告:无法执行 hello
正在读取符号信息...程序未激活
警告:没有使用 -g 编译的源
程序未激活
建筑信息:-
处理器类型:PowerPC_POWER8
处理器实现模式:POWER 7
处理器版本:PV_7_Compat
CPU类型:64位
内核类型:64位
先感谢您。