識者の皆様、宜しくお願い致します。
Solaris2.6上でアセンブルテストを行っています。
% uname -a
SunOS ultra 5.6 Generic_105181-23 sun4m sparc SUNW,SPARCstation-5
% cat sparc_test
main: save %sp,-112,%sp
sethi %hi(.LLC0),%o0
call printf,0
or %o0,%lo(.LLC0),%o0
ret
restore
.LLC0: .asciz "Hello.\n"
% as sparc_test
as: "sparc_test", line 1: error: invalid character (0x0d)
as: "sparc_test", line 2: error: invalid character (0x0d)
as: "sparc_test", line 3: error: invalid character (0x0d)
as: "sparc_test", line 4: error: invalid character (0x0d)
as: "sparc_test", line 5: error: invalid character (0x0d)
as: "sparc_test", line 6: error: invalid character (0x0d)
as: "sparc_test", line 7: error: invalid character (0x0d)
となってしまいます。
「0x0d」は改行CRですかね。
これにはどう対処したらいいのでしょうか?
お礼
どうも有り難うございました。 おかげさまで助かりました。
補足
> 通常 Solarisだと改行コードは、LF(0A)なので出ているのでは? > このソースは、Windowsで作成しFTPしたものであれば、ascモードで転送するとか・ > ・・ Windows上で作成してscpしてました。 それで、 Linux上で作成してscpしました。 % cat sparc_test main: save %sp,-112,%sp sethi %hi(.LLC0),%o0 call printf,0 or %o0,%lo(.LLC0),%o0 ret restore .LLC0: .asciz "Hello.\n" % as sparc_test % ./a.out ./a.out: \245\242\245\257\245\273\245\271\270\242\244\254\244\242\244\352\244\336\244\273\244\363\241\243. % ls -l a.out -rw-rw-rw- 1 matsui master 484 11月 12日 00:13 a.out % chmod 755 a.out % ls -l a.out -rwxr-xr-x 1 matsui master 484 11月 12日 00:13 a.out* 127 ultra:/home/m/matsui%./a.out ./a.out: exec \245\325\245\251\241\274\245\336\245\303\245\310\245\250\245\351\241\274. Binary file not executable. となってしまいました。 「Hello.」 と表示されると思ったのですがこれは何が原因なのでしょうか?