忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
現代魔法(nearly equal 情報技術)を勉強中な人のメモ(チラシの裏)
/ 2017/12/17 (Sun) / 編集
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

/ 2008/08/17 (Sun) / 編集
ネットで言語について調べてたらVIP言語とやらをみつけた


非常に難解だが、習得すればものの数時間で弾道計算ソフトさえ作れてしまう。 上級者にしか手が出ない代物。 だがソース自体が激しく処理系依存である。
どんなものかと思ったら下のようなコンパイラ
#!/usr/local/bin/perl
use strict;
$_ = sub{local $/; <>;}->();
y/Ww//cd;y/Ww/01/;
binmode(STDOUT); # Windowsでコンパイルするときに必要
print pack'B*',$_;

機械語かよw
なんという処理系依存w 早速試してみようと思ったらMac用のソースがない、機械語なんてさっぱりわからない、しかたないのでC言語で書いたやつをコンパイルしてバイナリにするとどうなるか見てみた

main(){ write(1, "Hello World\n", 12); }
コンパイルしてxxdでみてみると2630行あるらしい、これはダメだ、、、

なので今度はアセンブラでやってみようと思う、[マイコミジャーナル]Hello WorldコレクションでFreeBSD用のやつを見つけたので
1 .text
2 _start:
3 .globl _start
4 push $12
5 push $message
6 push $1
7 push $0
8 mov $4, %eax
9 int $0x80
10
11 push $0
12 push $0
13 mov $1, %eax
14 int $0x80
15 message:
16 .ascii "Hello World"
asコマンドでコンパイルしてみる
hello.s:4:Invalid mnemonic 'push'
hello.s:5:Invalid mnemonic 'push'
hello.s:6:Invalid mnemonic 'push'
hello.s:7:Invalid mnemonic 'push'
hello.s:8:Invalid mnemonic 'mov'
hello.s:9:Invalid mnemonic 'int'
hello.s:11:Invalid mnemonic 'push'
hello.s:12:Invalid mnemonic 'push'
hello.s:13:Invalid mnemonic 'mov'
hello.s:14:Invalid mnemonic 'int'
どうしよう、、、 Introduction to Mac OS X Assembler Guideとやらをみてみる、あ、なんかPowerPC Assembler Instructionsとやらがあるぞ!

、、、、、、pushがないorz <ー 今ココ

とりあえず、時間があったら追加しようとおもいます

拍手[0回]

PR
忍者ブログ [PR]