1 :
デフォルトの名無しさん :
2005/11/24(木) 01:00:38
2 :
デフォルトの名無しさん :2005/11/24(木) 01:01:38
4
乙
><
乙
アセンブラ… ヽ(■∀■)ノフォーウ!
>>1 乙
かなり前からいるけど俺は低レベルなので初カキコ
すれ立て乙 アセンブリ言語の教科書で勉強中
>>8 アセンブラより低レベルっていうと、
基板とかチップ類の設計や制作の御担当の方ですか?
>>10 いやいや、違うです。
基板とかチップ類の素材選択を御担当の方です。
10はこの世で最も寒いと言われる技術者ジョークだよ 理解してあげなきゃ(0w0)ウェーイ
馬鹿じゃねーの 基盤やチップ類の設計よりさらに低レベルのFET設計です
FET設計より低レベルの物性屋ですが
15 :
デフォルトの名無しさん :2005/11/25(金) 19:08:38
ところでマイクここは何のスレだい?
16 :
デフォルトの名無しさん :2005/11/25(金) 19:32:51
OSやBIOSの力を借りずにVRAMを操作してディスプレイに出力する方法が書かれた資料無いっすか? いやテキストの方は書いてるとことかあるんだけど、グラフィックの方は見つからないんすよね。 つか、みんな普通に「VRAMを直接操作して画像を...」とか言うけど、何処でこうゆうのを学んでるんでしょう
17 :
デフォルトの名無しさん :2005/11/25(金) 19:56:00
アセンブラの勉強しようと思うんだが、独習アセンブラとアセンブリ言語の 教科書とどっちがいい?
>>17 1から7までを教えてくれるのが独習アセンブラ
3から10までを教えてくれるのがアセンブリ言語の教科書
おまいのプログラミング技術によるぞ。
>>18 1〜2まではネットでいけるってことだな?
>>18 1〜7まで教えてくれるて、進む速度が遅いのが独習アセンブラ
1〜10まで教えてくれて、進む速度が速いのがアセンブリ言語の教科書
だろ。
それに1〜5くらいまではネットで十分だよ。
>>16 つ[PC-9801 スーパーテクニック]
23 :
16 :2005/11/26(土) 07:43:19
>>19 ありがとうございます
それを見ると設定方法まではわかるのですが、ただ、その先が無いんですよ orz
具体的にどんなデータをどう流し込めばよいのかとか、どんな仕組みになってるかというかとか
>>22 参考になります。
因に書いてるのって現代のPCでもそのまま通用するのですか?
>>23 実際書いて試そうって気はないわけ?
>>22 のは書名見てわからないなら見るだけ無駄。
昔の国産パソコン用の資料だから。
BIOSの力を借りずにVRAMを操作 本当に何もわかってないな
>>25 > BIOSの力を借りずにVRAMを操作
> 本当に何もわかってないな
2ちゃんねるの知ったかぶりって必ずこういう書き方をしてワロス
・本当に〜な ・そんな〜無駄。 テンプレート化しようぜ
29 :
16 :2005/11/26(土) 11:47:09
>>24 試そうとは思ったのですが、試せませんでした_| ̄|○
色々な設定について書かれた偉大な資料である事はわかるのですが、
既に描画の仕方を知ってる人向けの資料のようでして...自分にはそんな知識も無く....
>昔の国産パソコン用の資料だから。
了解です
> 自分にはそんな知識も無く.... だったら素直にあきらめなよ。 知識って持ってることを自慢するためにあるんじゃない ぞ、色々試して「こんなことやっても駄目なんだ」とい うのも大切な知識だよ。
根本的な事として生DOS上で実行してるよな
最近アセンブラ系の本出版ラッシュだよな。
生DOS上じゃなくてDOS窓上でもVRAMにアクセスすると色々出てくるよ
34 :
16 :2005/11/26(土) 17:58:04
>>30 そんな風にあの資料を補完する為の知識を当り前のように言う方は何処でその知識を仕入れたのかなと
>>16 はじめて読むシリーズもあらかた買ったんですがグラフィックについて書かれた資料が無いですし
> 何処でその知識を仕入れたのか 自分の目の前にあるPC
IBM PC、VGA、INT10Hで辺りでググレば良いんじゃない?
interrupt listあれば十分だろ
バイナリエディタはooo plus以外認めません。
今となってはFoxBEはやめた方がいいな。 つーか、FoxBEでできることはStirlingで事が足りる。
41 :
デフォルトの名無しさん :2005/11/26(土) 19:36:20
「アンドゥ・リドゥや置換もできないのに名前だけは有名なエディタ」 って何?
Bz Editor。c.mosさんの作品だし。
ゲ、c.mos氏を敵に回すとは なかなかやる
でもバイナリエディタぐらい簡単にできそうだよね。 普通のテキストエディタの方が難易度は数レベル高いよ。
>>45 ご冗談でしょうファインマンさん1の「僕、僕、僕にやらせてくれ!」の一番最後の段落を100回音読しろ
48 :
素クール :2005/11/26(土) 19:57:07
>>47 その本持ってる奴って結構いるのな
点呼しようぜ
ノシ
バイナリエディタはPowerWitchが最強だよ。 プロファイラ(マクロみたいなの)が便利。 デカいファイルには向かないけど数メガ程度の実行ファイルを調べるのには適してると思う。
どうせも前ら クラックパッチ当てるときにしか使わないだろ
>>45 Repeat the sentence 100 times in which was written in the last paragraph of the
chapter "Meeeeeeeeee!" in the famous book "Surely you're joking, Mr.Feynman!"
>>50 理系の大学生なら教養だと思った
2ちゃんねるでは、物理板でデフォルトの名前になってるな
>>52 OllyDBGでそのまま当てちゃいますが。
手元にあったので引用してみる。 僕たちは「できるけどやらないだけのことさ」といつも自分に言いきかせているわけだが、 これは「できない」というのを別な言葉で言っているだけのことなのだ。 ----- 「ご冗談でしょう、ファインマンさん」 "僕,僕,僕にやらせてくれ!" R.P.ファインマン著
それどっかのスレで見たな 同一人物か
>>57 そんな君には「逆境ナイン@島本和彦」あたりをお勧めしておこう
strlingはオフセット移動機能さえ追加してくれればなあ それが無いからBZも使わざるを得ない
sage
島本マンガいいよね
>34 当時は資料が潤沢にあったのさ。 雑誌の記事、専門書籍、MEGADEMOに稀に付いてるソースとか。 てか、今更そんなもん弄ってどーすんの?
BIOSやDOSとなると本屋より図書館回って探したほうがいいかもね 良書が絶版になってたりするから
sage
つうかお前ら2〜3冊ならまだ家に残ってるだろ
おかんに捨てられていなければ「PC-8801シリーズ マシン語マスターバイブル」が 実家に残っているはずだ。
ナツメ社のシステムコールハンドブックとか、まだあったはずだなぁ
はじめて読む486の、一番始めの、プロテクトモードに移行するプログラムで移行した際、 パイプライン処理によって mov cr0, eax の次の jmp flush_q1 が解釈されているわけですが、 リアルモードとして解釈されたjmp命令は不都合が生じないのでしょうか?
70 :
16 :2005/11/27(日) 00:18:04
>>63 なるほど、そんな資料が沢山ある素晴らしい時代があったんすね
いや、OSを作りたいのですが、グラフィックのとこで詰まってしまいまして
>>64 買おうとしても無理なのもあるんすね....
図書館いってみます。今まで図書館なんて行った事ないからちょっとドキドキ
>>70 田舎の図書館じゃ無理だと思う。
大学内の図書館とか行け。
72 :
69 :2005/11/27(日) 00:34:32
最近、自分の頭の限界に気付いてしまいました。 8086が読めて、486が読めてもアセンブラ、コンパイラ、EXEファイルの仕組みを知らないと まともに実行もできないんだということを。その点でLinusさんは偉大ですね。
ハードウェアも知ってないと(ry
>>70 >>71 も言ってるが、大学図書館かそれこそ国会図書館とかのでかいところ行かないと無い
大学図書館ならおそらく一般もゲスト扱いで入れるはずだから行ってこい
>>69 ショートジャンプ命令はどのモードでも動作が同じ
> 資料が沢山ある素晴らしい時代 現在みたいに「ぐぐればいい」じゃなく 金も時間もかける必要があったわけだが。 普通に調べるだけなら ネットで簡単に手に入る今の方が よっぽど素晴らしい時代だと思うが。 わからなきゃ掲示板で質問してもいいし。
ネットは子供の教育に悪い
>70 どんなレベルのOS作ろうとしてるのかわからんけど、 今、資料が手元にないのはキツイんじゃないかなぁ。 もしかしたら秋葉行けばまだ扱ってる店とかあるかもしれない。(ブックタワー、高架下のパーツ屋街 それと資料が潤沢にあったのは、今Windows関連の情報が死ぬほどあるのと同じ理由。
10代でネット使える人が、素直に心底羨ましい 俺もあの、一つの命令セットのためにチャリで東京中の書店回った、貪欲な時代にネット使えてればなぁ 少なくともしょぼいエロ本で一喜一憂せずには済んだな(・∀・)
だが、昔のPCはなんだかんだでシンプルだった。 でも今のPCはなんだかんだで複雑過ぎだろ。 マウスドラッグしてボタン作るよりもマシン語でCPUと対話してた方が コンピュータの楽しさはあきらかに上だと思うぞ。
はいはい昔は良かった良かった
84 :
69 :2005/11/27(日) 09:07:15
>>75 ありがとうございます。安心できてよかったです。jmp命令はどっちでも一緒なんですね。
それとPEフォーマットだとMS-DOSを焼き付けたシステムディスクからは起動できないというのは分かってきたのですが、
それだと32bitWindows上からしか実行できないわけで、プロテクトモードからリアルモードに移行しようとしたら凄い事になりそうです。
これをどんなものに変換すべきなんでしょうか?
>>84 焼き付けた・・・ってROMじゃないんだから。
DOSでシステムフォーマットしたディスクね。
何がしたいのかよくわからないけど、
リアルモードのコードが実行したいの?
であれば、16bitのEXEかCOMファイルになるようにアセンブルして
DOS窓(仮想86モード)で実行するのが一番楽。
ただしプロテクトモード移行みたいなことはできない。
そういうことしたいなら、純粋なDOS(など)の上で動かすしかない。
(VMWareみたいな仮想環境でもいいけど)
87 :
16 :2005/11/27(日) 19:26:56
>>71 御察しの通りですた。まったく成果が無かった訳じゃ無いですが肝心なものは見つけられず
>>72 大学図書館って一般でも入れるんすね。今度いってみまつ
>>76 それが、今のインターネットって全盛期と較べて寂れてしまったのか結構404なページも多くて、
出遅れた(つД`って感じがしないでもなかったり
>>78 秋葉原はちょっと遠いので直ぐには行けないんですが、今度秋葉原に行った時にそこも探してみます
>>87 大学によるとは思うが、少なくとも俺が通ってる大学は一般でも
受付で所定の用紙に記入すれば(館内閲覧とコピーのみだが)利用できる
90 :
デフォルトの名無しさん :2005/11/27(日) 21:43:26
初歩的な質問で申し訳ないのですが、 変数zにたいして、 .comm _z 4,4と .comm _z 4 とは、どのように意味が異なるのでしょうか?
91 :
デフォルトの名無しさん :2005/11/28(月) 00:04:55
>>86 僕としてはプロテクトモードに移行したいのでDOSの起動ディスクに
アセンブルした(MASM)ものとコンパイル(C)したものをリンクして放り込んでやってみようとしましたが、案の定、DOS上では利用できない種の
メッセージが発せられました。PEだのELFだのいろいろキーワードにぐぐって見ましたがどうしてもこれを除く方法が見つかりません。
すべてBIOSとアセンブリ言語の組み合わせでやれば出来そうですが、それだとCの使いようがなくなってしまいます。
他に有効なキーワードは教えていただけないでしょうか?
もしかして、printfなどはWindowsのライブラリから呼び出しているのでDOSのシステムコールを呼ぶのとは違い、
実行できないからこういったメッセージが発せられるのでしょうか?
ちゃんとDOS用のコンパイラ使ってるんだろうな?
つーか、焼き付けるだのPEだのって 根本的にコンピュータの動作原理とかOSの仕組みとか 理解してない悪寒
>>91 > 他に有効なキーワードは教えていただけないでしょうか?
撤退、諦め、回線切断、もうくるな
ひとのはなしをきけ
96 :
91 :2005/11/28(月) 00:35:14
>>92-95 もうくるなって言われても...。
コンパイラはWindows用のコンパイラです。
お気分を害してしまったようなのでこのあたりで身を引かせていただきます。
>>91 >>93 も言ってるけど、目標に対して根本的な部分の理解が足りてない。
開発環境(コンパイラやアセンブラ)が吐き出すバイナリの動作環境は
開発環境の種類によって決まってる。同じhello worldソースでも、
開発環境によって違うバイナリが吐き出され、適切な動作環境でないと動作しない。
Windows向けの開発環境で作ったバイナリは、DOS上では動かない。
DOSで動かしたければ、DOS向けの開発環境が必要になる。
(Cだけでなくアセンブラもね)
つか、PEだのELFだの知ってて、なんでこんなところでひっかかるのかすげー不思議だ。
どういう開発経験してるんだ?
なんとなくだけど、windows用のstubとリンクしてるんじゃないか? MSの開発環境ってもう純DOS用のc0objとか含まれてないんかな?
それ以外考えられないって。 だって、何も考えずに「Windows用のコンパイラ使ってます」って答えるくらいだから。 今の時代なら、DOS用コンパイラなんて ちょっと探すだけで簡単に落とせるのに。
>>98 VCに関しては1.5で16bitサポートは終わってる。
MASMはDDKに付いてるのは32bit版らしいけど、16bitも使えるのかな?
MASM32は出元が怪しいのでさわらないことにしてる。
そうか、「焼く」というのはROMのことでは無く、CD-Rの事か。 つまり、「HDD以外の外部記憶装置に書き込むこと」を一般的に「焼く」と言っていたのか。 ちょっと斬新。 といっても、もうすぐ本来の意味での「携帯」の使用、 例えば「○○を携帯する」「携帯用○○」なんてのも 違和感を感じるようになるんだろうな。 っていうかもうそうなりつつかるか。 今は携帯って言葉が携帯電話を指さない事の方が珍しいし。
102 :
デフォルトの名無しさん :2005/11/28(月) 02:03:09
MZが吐けるLINK.exe探して来れば良いだけじゃないのか?
DOS用コンパイラならまずはLSI C-86だろう。それから、TouboC 2.01もただで使える。 あとWinME DDKにも16bit用のMS-Cがあったな。 ただ、LSI Cは関数の呼び出し規約がMS-Cなどとは異なっているので、 「はじめて読む486」のサンプルコードはそのまま使えないのが問題だな。
>>100 DDK付属のMASMは32bitプログラムだが、16bitコードも吐ける。
64bitアセンブラコードをコンパイルしてオブジェクトファイルを生成したいんですが PlatformSDKに付属してるものでしょうか? 16bitアセンブラの頃にMASM使ったきりアセンブラとの付き合いが無かったので いまどうなってるのかさっぱり判りません。
>>105 PlatformSDKにはアセンブラはない。Cコンパイラならあるんだけどね。
DDKにはあるらしい。
結局金が無いのでNASMの英語ドキュメントに行き着いた。
110 :
91 :2005/11/30(水) 04:17:58
みなさん、とてもお世話になりました。LSI C-86とMASMのソースをNASMのソースに読み替えてOMF形式のオブジェクト 同士でリンクさせてフロッピーに放り込んだら、見事にプロテクトモードに移行できました。
一歩踏み出したようなので応援age
この一歩が重要だよね 俺の経験でも、アセンブリ言語の知識はあったけどWindowsではそれを活かせない・・・・ Windowsプログラミングも出来ない ないない状態で行き詰まった。 しかしあるフリーライターの人にメールを送ったら、丁寧に教えてくれた。 おかげでその辺を一気に突破できたなぁ
「これは1人の人間にとっては偉大な一歩だが、人類にとっては小さな一歩である」
68000使ったPDAならアセンブラの知識も役立つものを。
これは
>>91 にとっては偉大な一歩だが、人類にとっては取るに足らない一歩である
>>91 が人類にとって偉大な一歩を記してくれればいい
インラインアセンブラの質問です VCのwin32コンソールで文字表示をしたいのですがどうすればよいでしょうか? INT21HはMS-DOSなので使えないと聞きました(試してみると例外がでて使えませんでした) よろしくお願いします
>>117 printf/putsやWriteConsole/FileのようなCRTやWinAPIの関数を呼べば良い。
119 :
デフォルトの名無しさん :2005/11/30(水) 20:25:44
>>117 INT 21H 使えるよ
INT 0AH とかも使える
121 :
デフォルトの名無しさん :2005/11/30(水) 20:28:20
>>117 どうしてもDOSファンクション呼び出したいなら16ビットリンカを使う必要があると聞いたんだが・・・
>>117 long __stdcall GetStdHandle(long);
long __stdcall _hwrite(long, char*, long);
void main()
{
char *buf = "Hello, World?\n";
__asm{
push -11 ; = STD_OUTPUT_HANDLE
call GetStdHandle
push 14
push buf
push eax
call _hwrite
}
}
int 10h 使え
124 :
117 :2005/11/30(水) 21:33:28
>>122 うまくいきました!
皆様のおかげで色々知識が増えました
ありがとうございます
>>121 VCは32bit FLATモデル用のobjしか吐かないから、リンカだけ変えてもだめだろ。
105です。
>>107 >>109 ありがとうございます。
DDKの中しらべてみます。
>>106 DDKの中でみつからなかったら使ってみます。
ありがとうございました。
16bit全盛期、アセンブラのセグメント関係のディレクティブの意味がわからず挫折 そんな俺にもようやくわかる時代がやってきました
おまえみたいな香具師にプログラム作って欲しくないな
コード書く自由くらいは認めてあげようぜ。 ・・・そして「おまえみたいなやつにプログラム公開して欲しくないな!」
セグメントは一過性の無意味な概念だから、とっとと忘れなさいな。
20年も現役とはずいぶん長い一過性だな
132 :
デフォルトの名無しさん :2005/12/01(木) 13:56:54
>>130 おまえは馬鹿
x86のリアルモードのセグメントレジスタの扱い方と勘違いをしている
今は仮想メモリマッピングの方が主な用途ですね
134 :
デフォルトの名無しさん :2005/12/02(金) 12:48:36
>>133 今もなにも昔から、セグメントは仮想メモリシステムでのメモリーの管理単位の事じゃないか
そのセグメント方式を簡略化して実装したのがx86のリアルモードでのセグメント機能だろ
そういえばOS/2って286セグメントべったりのOSだったっけ?
>>134 8086に関しては、仮想メモリなんてない。
セグメントレジスタは単なるベースアドレスとして使われる。
#まさか、セグメントレジスタの値を頻繁に変えるような応用は今じゃありえないだろう。
今ならセグメントディスクリプタを いくつかあらかじめ用意しておくと 同様なことが出来ますよ
>>135 ですな。
>>136 まあものすごく制限のあるアドレス変換機構として使えるので、
雰囲気くらいは味わえるのでは無いかと。
GNUアセンブラでNiosIIのコード書いているのですが、 固定アドレスに数値を埋め込むって事はできないんでしょうか? ROM化した時にバージョン読めるようにしたいんですがよくわからんです。 SHのアセンブラだと .orig とか使えたんですがそーゆーのはないんですかねぇ。
>>139 セクションを作成して、リンカで先頭アドレスを指定
DDKを日本に送ってもらおうとしたら$199.00と出たのですが,こっちに来るだけで,たった一枚のCDで一万以上も取られるんですか????
昔はDDKタダだったんだけどなー
ぜとはちほしゅ
147 :
デフォルトの名無しさん :2005/12/14(水) 00:00:54
mipsでの質問ですがよろしいでしょうか? ベースポインタで番地を指定するばあい lw $t1 , $s3($s4) のようにレジスタで指定することはできないのでしょうか?
足算できないの?
150 :
147 :2005/12/14(水) 00:09:05
アァ?( ´Д`)σ)Д`)ァゥァゥ じゃあループでまわしてそこまでポインタを進ませるしかないの?
>>150 add $s4, $s4, $s3
lw $t1, 0($s4)
152 :
150 :2005/12/14(水) 00:13:43
149に書いてあったのですね・・・ どもありがとうございます(__)
Format: LWXC1 fd, index(base) MIPS IV Purpose: To load a word from memory to an FPR (GPR+GPR addressing). Description: fd ← memory[base+index]
「初めて読む8086」、及び「〜486」を熟読したのですが、 x86スレで何を言ってるのかさっぱり分からなくて なにか次に読むべき本やサイトを、お勧めいただけないッスかねぇ… 検索して、なんとなくUパイプやらVパイプは分かってきたのですが
8086スレで聞けよ
え
熟読してそれだけの感想しか出てこないくらいなので先はないね。
x86スレってどこですか?
159 :
154 :2005/12/14(水) 17:18:24
君は騙されている
>>159 そのスレの1ですが、スレ内容に関する質問なら向こうでしてくれて構わんすよ。
おすすめリンクは向こうの84。簡単なものでもガンガンアセンブラを書いて実行するのが肝。
162 :
154 :2005/12/14(水) 18:04:33
>>161 いやとんでもない。私ごときが話の腰を折るわけには。
とはいえご親切にありがとうございます。
チラッと見ましたが正にこんなの求めてました> 84リンク先
早速取りかかってみます。
UパイプとかVパイプを気にする前にやることあるんじゃないのか? まず、アセンブラを使おうと思ったのは何の為だ?
まずは何か最適化してみて、コンパイラより遅い最適化技術に打ちひしがれるといいと思うよ。 話はそれからだ。
アセンブラなんて、アセンブラでかかざるをえないときにつかうもんだ。 もしくはマゾ。
話には聞くがコンパイラより遅くなるという状況が想像できない 最適化作業の速度は明らかに負けているが
166は経験不足もしくは神
どうしてもって時は コンパイラの出力を手でいじる程度のことはするがな。 gcc-3 の頃だったら手書きのコードが勝つ場面多いと思う。
コンパイラは前後のコード考慮して最適化するから、 部分的に速くなっても全体的には変わらなかったり遅くなったりする。 VC6以降は結構効率よいコード吐いてくれるので、 SIMDで最適化しない限りたいして速度稼げないと思うよ。
170 :
デフォルトの名無しさん :2005/12/18(日) 11:10:23
>>170 どんなプログラムをどんなオプションを付けてアセンブルしたのか分からないと
適切な回答のしようがない。
むしろ俺は、アイコンカーソルまでキャプチャしている君の姿に感動した!よくやった!
173 :
デフォルトの名無しさん :2005/12/18(日) 11:33:01
>>171 ;as_exe.asm
CDSEG SEGMENT
ASSUME cs:CDSEG,ds:DTSEG,ss:STSEG
START:
mov ax,DTSEG
mov ds,ax
mov ah,09h
mov dx,OFFSET MSG
int 21H
mov ah,4CH
int 21H
CDSEG ENDS
DTSEG SEGMENT
MSG DB "Hello.World!",0DH,0AH,'$'
DTSEG ENDS
STSEG SEGMENT STACK
DB 100H DUP(?)
STSEG ENDS
END START
これを
ml as_exe.asm
とアセンブルしました。オブジェクトファイルとエグゼファイルはできたのですが、コマンドプロンプト上で実行できません。よろしくお願いします。
XPでCOMモデルって実行できたっけ? Win98なら実行できそうだが。
>>174 COMもDOS用EXEも実行できるよ。
>>173 それで本当にちゃんとアセンブル/リンク出来てる?
masm32って名前からして32bit用っぽいんだけど…
176 :
170 :2005/12/18(日) 13:03:26
cpuは何を使ってるんだ?86系って命令が統一されてるか知らんが
179 :
170 :2005/12/18(日) 14:53:57
>>177 ぺんた3です。
>>178 やってみましたが、解決しません。win2000・win98でやり直します。
みなさん、親切にありがとうございました。
>179 32bit版のアセンブラ&リンカを使え。
exe2bin
182 :
170 :2005/12/18(日) 23:43:04
すげえ低レベルだな。 これなら俺が口を挟んでも場違いじゃないかも。 CS != DS なんだから COM じゃないよな。 DS に一度だけロードしてるから small model だ。 セレクタじゃなくてセグメント値ロードしてるから 16bit。 16bit版アセンブラ使え。
>>183 masmは32bit版でも16bitコードを出力できますよ。
masm標準のリンカは32bit用だが同じサイトで16bit用リンカが入手可能
>>183 おまえも低レベル。
COMでCS!=DSにしても何の問題もない。
>>170 うちでもテストしてみたけど問題なし。 環境は XP SP1 です。
(link16 は link563.exe を展開して得られたもの。)
;
; ml /c testsmall.asm
; link16 /stack:256 testsmall.obj, testsmall.exe,,,,
;
cdseg segment
assume cs:cdseg, ds:dtseg, ss:stseg
start:
mov ax, dtseg
mov ds, ax
mov ah, 09h
mov dx, offset msg
int 21h
mov ah, 4Ch
int 21h
cdseg ends
dtseg segment
msg db "Hello, World!", 0Dh, 0Ah, '$'
dtseg ends
stseg segment stack
db 0100h dup(?)
stseg ends
end start
189 :
デフォルトの名無しさん :2005/12/20(火) 21:24:20
出来たexeをDCしてるからじゃね?
191 :
デフォルトの名無しさん :2005/12/21(水) 06:47:48
>>190 どういう意味ですか?やはりできればxpで使いたいので。
192 :
188 :2005/12/21(水) 07:46:18
>>189 漏れの XP も Win98 からアップデートした香具師使ってるよ
ちなみに CPU は PentiumIII 300MHz の今となっては超 poor なマシン
>>191 意味が理解できるようになるまではセグメントは一緒にしておいたほうがいいかと....。
とりあえず「Hello.World!」が出力されなければ面白くないのではないですか?
; hello.asm
CDSEG SEGMENT
ASSUME cs:CDSEG,ds:CDSEG,ss:CDSEG
ORG 100H
START:
;mov ax,DTSEG
;mov ds,ax - コメント
mov ah,09h
mov dx,OFFSET MSG
int 21H
mov ah,4CH
int 21H
MSG DB "Hello.World!",0DH,0AH,'$'
; STSEG SEGMENT STACK
DB 100H DUP(?)
; STSEG ENDS
CDSEG ENDS
END START
--------------------------
コマンドプロンプト上で
ml hello.asm
exe2bin hello hello.com
hello.com
Hello.World!
ftp://ftp.microsoft.com/softlib/mslfiles/lnk563.exe で落としてきた16ビットリンカを c:\masm32\bin のディレクトリで
ダブルクリックして展開します。それより前に、既に存在する README.TXT と LINK.EXE はREADME32.TXT , LINK32.EXE に
リネームしておきまます。
194 :
デフォルトの名無しさん :2005/12/21(水) 11:23:14
だからconfig.ntの中にXP非互換のデバイスドライバが記述されてるんだろ その結果DOS互換BOXが異常終了しているだけ コマンドプロンプトのコンソールとDOS互換BOXは勝手に切り替わるが似て非なるものだよ とりあえずconfig.nt/autoexec.ntの中身を確認しろ
195 :
170 :2005/12/21(水) 17:48:46
>>194 config.ntの下の部分。これのREM文を外してみます。
REM DEVICE=C:\MX400.SYS /s:40001092
device=C:\WINDOWS\SYSTEM32\HIMEM.SYS
REM device=C:\WINDOWS\EMM386.EXE RAM
REM devicehigh=C:\WINDOWS\biling.sys
REM devicehigh=C:\WINDOWS\jfont.sys /p=C:\WINDOWS
REM devicehigh=C:\WINDOWS\jdisp.sys
REM devicehigh=C:\WINDOWS\jkeyb.sys /106 C:\WINDOWS\jkeybrd.sys
devicehigh=C:\WINDOWS\SYSTEM32\KKCFUNC.SYS
devicehigh=C:\WINDOWS\SYSTEM32\ANSI.SYS
196 :
デフォルトの名無しさん :2005/12/21(水) 18:25:30
devicehigh=C:\WINDOWS\SYSTEM32\ANSI.SYS ↑コイシだろ
197 :
170 :2005/12/21(水) 18:29:18
>>194 駄目でした。具体的にどうすればよいのか教えていただけないでしょうか。
198 :
デフォルトの名無しさん :2005/12/21(水) 18:41:45
EMM=RAM dos=high, umb device=%SystemRoot%\system32\himem.sys devicehigh=%SystemRoot%\system32\ntfont.sys devicehigh=%SystemRoot%\system32\font_win.sys devicehigh=%SystemRoot%\system32\$disp.sys /hs=%HardwareScroll% devicehigh=%SystemRoot%\system32\disp_win.sys devicehigh=%SystemRoot%\system32\kkcfunc.sys files=40 device=%SystemRoot%\system32\MSIMEK.SYS /A1 devicehigh=%SystemRoot%\system32\MSIMEI.SYS /D*%SystemRoot%\system32\MSIMER.DIC /D%SystemRoot%\system32\MSIME.DIC /C1 /N /A1
199 :
170 :2005/12/21(水) 22:57:58
>>198 おお!ようやく解決しました。みなさんありがとう!!
200000000000000000000000000000000000000は頂いた
それどんなn進数?
1進数
0と+∞と-∞だけの世界かよ。
>203 つっこむとこはそこかYO!
3進数 2と1と0 2進数 1と0 1進数 0 つまり 0(10) = 0(1) 1(10) = 00(1) 2(10) = 000(1) 3(10) = 0000(1) 4(10) = 00000(1) ということ?
206 :
愛也 :2005/12/22(木) 16:26:38
こんにちは。お邪魔します。 パソコン関係の初心者なのでお尋ねさせていただきたいのですが・・ 下の問題が分かる方はいらっしゃいますでしょうか?? 問題。次のプログラムを機械語に翻訳しなさい。なおプログラムの先頭番地を#0100とし、 メモリの番地も示しなさい。また、このプログラムを実行すると答えはいくつになるか。 PROG START LD GR1,DATA1 LEA GR2,1 ADD GR1,DATA1,GR2 ST GR1,ANS EXIT DATA1 DC 25 DC −19 ANS DS 1 END 頭脳明晰な方、どうか教えてくださいませ(−_−;)
CASTLEII
211 :
愛也 :2005/12/22(木) 19:37:33
207さん CPUとか分らないです・・・・すみません(><) とにかく問題文にあったのは206が全てです・・・・。
>>211 本当に問題文が
>>206 だけなら答えは
「COMETの機械語は未定義であり、処理系に依存するので一意的な答えはない」
だ。
>>212 は最初の「次のプログラムを機械語に翻訳しなさい」の方な。
「また、このプログラムを実行すると…」
の部分は自分で実行して確かめろ。
214 :
愛也 :2005/12/22(木) 20:29:50
誰か206の問題が分かる方はいらっしゃいませんかぁ?? よろしくお願い致します(><。)
>>214 ↑の
>>212 さんが言うように、COMETの機械語は未定義だから解答の
しようが無いです。
もし、その課題が宿題ならば友達に電話して、課題の意味を聞いたほうが
話は早いと思う。
CASL2のシミュレータがVectorに転がっているからDLして実行して
みれば結果が解るよ。
私もシミュレータを試したけど、エラーだったから、マクロでも使用して
いるのかな。
マルチにつき ******** 糸 冬 了 ********
>>214 問題文にCPUなどの指定がなかったら
答えは「特定できないのでこたえようがない」で○くれると思う。
答えはいくつになるかくらいは判るだろ。
判らなかったら御山に帰ってください。
218 :
愛也 :2005/12/22(木) 21:38:30
問題には、「アドレス#0100から格納されると仮定する。一番左の列にメモリ番地(アドレス)を、 また機械語の16進表現を機械語の右列に。」とありますが。。。 これでも解答のしようがないですかね・・。 このような知識に無知なので215さんはじめとして皆様に迷惑をかけまして申し訳ありません(><。)
219 :
愛也 :2005/12/22(木) 22:02:32
例題があるのですが〜例題では、 「アドレス#4001から格納すると仮定し、メモリ番地を左側に、また機械語の16進表現を機械語の右側に示せ。」 「ソースプログラム」 EX1 START LD GR1,DATA1 ADD GR1,DATA2 ST GR1,DATA3 EXIT DATA1 DC #0123 DATA2 DC #4567 DATA3 DS 1 END 「機械語プログラム」 メモリ番地 機械語 16進表現 #4001 0001 0001 0001 0000 (#1110) #4002 0100 0000 0000 1001 (#4009) #4003 0011 0001 0001 0000 (#3110) #4004 0100 0000 0000 1010 (#400A) #4005 0001 0010 0001 0000 (#1210) #4006 0100 0000 0000 1011 (#400B) #4007 1010 0011 0000 0000 (#A300) #4008 0000 0000 0000 0000 (#0000) #4009 0000 0001 0010 0011 (#0123) #400A 0100 0101 0110 0111 (#4567) #400B xxxx xxxx xxxx xxxx (#xxxx) とありました。私にはサッパリなんですが・・・・本当に申し訳ありません。
>>218 以下のような機械語とニモニック(アセンブラ)の対応表が資料として存在して
いると思うのだが。
下のは私が勝手に作ったので意味は無い。
機械語::ニーモニック
00 NOP (注)no operation
01 LD GR1,メモリ(注)レジスタGR1にロード
02 LD GR2,メモリ(注)
:
40 ST GR1,メモリ(注)レジスタGR1をストア
:
B0 LEA GR1,数値(注)数値をGR1にセット
:
:
FF EXIT(注)プログラム終了
221 :
愛也 :2005/12/22(木) 22:13:24
220さん レスありがとうございます(^^)
222 :
愛也 :2005/12/22(木) 22:20:19
命令記号 OPCDの2進表現 OPCDの16進表現 オペランドの形 LD 0001 0001 #11 GR,adr[,XR] LEA 0010 0001 #21 GR,adr[,XR] ADD 0011 0001 #31 GR,adr[,XR] ST 0001 0010 #12 GR,adr[,XR] ↑とありましたm(_ _)m 申し訳ありません。 命令記号
223 :
愛也 :2005/12/22(木) 22:22:05
命令記号 OPCDの2進表現 OPCDの16進表現 オペランドの形 LD 0001 0001 #11 GR,adr[,XR] LEA 0010 0001 #21 GR,adr[,XR] ADD 0011 0001 #31 GR,adr[,XR] ST 0001 0010 #12 GR,adr[,XR] ↑とありましたm(_ _)m 申し訳ありません。
なんだ。解決したのかよ。
225 :
愛也 :2005/12/22(木) 22:29:31
解決していません(><。) ↑を参考にして↓を解きたいんですけど分からないんですm(_ _)m 問題。次のプログラムを機械語に翻訳しなさい。なおプログラムの先頭番地を#0100とし、 メモリの番地も示しなさい。また、このプログラムを実行すると答えはいくつになるか。 PROG START LD GR1,DATA1 LEA GR2,1 ADD GR1,DATA1,GR2 ST GR1,ANS EXIT DATA1 DC 25 DC −19 ANS DS 1 END
>>225 ADD GR1,DATA1,GR2
この命令を機械語にすると
#3112, #0109で良いのかな。
"[,XR]"が付加されているときといないときでの機械語の
説明が無いけど。レジスタの対応表も無いし。
レジスタ=GR1=#1
レジスタ=GR2=#2
で良いのかな。
質問する側が「教えて」の一点張りで少しも自分で考える気がない、 おまけに情報を小出しにする、では教える側が何を言っても無駄だろう。 授業の宿題ならもう1年最初からやり直せ。
228 :
愛也 :2005/12/22(木) 23:19:00
226さん レス誠にありがとうございますm(_ _)m レジスタ=GR1=#1 レジスタ=GR2=#2 レジスタ=GR3=#3 : : だと思います・・・考えて下さりありがとうございます。m(_ _)m
>>225 取敢えず作成したけど、資料が少ないので間違っている可能性が
大きいけど、参考ということで勘弁してくれ。
注意点として、負数について記述が無かったので2の補数表記を
使用している。
1の補数表記だったら、「#010A FFFD」の「FFFD」が違ってくる。
#0100 1110 0109 PROG LD GR1,DATA1
#0102 2120 0001 LEA GR2,1
#0104 3112 0109 ADD GR1,DATA1,GR2
#0106 1210 010B ST GR1,ANS
#0108 0000 EXIT
#0109 0019 DATA1 DC 25
#010A FFED DC -19
#010B 0006 ANS DS 6
END
>>229 訂正
>1の補数表記だったら、「#010A FFFD」の「FFFD」が違ってくる。
あ間違いなので、下のように訂正します。
1の補数表記だったら、「#010A FFED」の「FFED」が違ってくる。
231 :
愛也 :2005/12/22(木) 23:37:56
229さん 誠にありがとうございます。本当に感謝をいたします。 229さんのお答えになって下さった解答を参考にさせていただき勉強をさせていただきます。 本当に本当にありがとうございました。 すぐにお答えになられるなんて、知識豊富でとても羨ましく思います。私が無知なだけなんですが・・・。 本当にありがとうございました。
>>231 正直、知識の豊富さではなく知性の問題だ。
頭と言うものはキャベツではないのだから使わないと回らないのだよ。
アセンブリがどんな物かわかってたら出ない質問だわな. 翻訳つっても表引きするだけだし. 教科書の最初の方に「アセンブリとは〜」って文が書いてないか? そこんとこ熟読すりゃ自ずからわかると思うが.
あせんぶりってお茶の一種ですよ。まじで
せんぶり?
238 :
デフォルトの名無しさん :2005/12/24(土) 22:00:50
>>238 君のマシンがPC-90x1系なら○
それ以外なら×
あ!せんずり
>>238 それって、DOS時代の黒テキスト画面に緑のマウスカーソルが乗る奴じゃないのか?
そもそもドライバが互換性ない希ガス。
242 :
239 :2005/12/24(土) 22:11:25
>>239 誤:PC-90x1
正:PC-98x1
243 :
238 :2005/12/24(土) 22:29:03
ではコマンドプロンプトのマウス・インターフェイスはどうすればいいの? 色々ググッテ見たけどわかんないす。
>>238 が何の環境のことを言ってるのかによる
Windows上のコマンドプロンプトで扱いたいならWin32APIだし
昔のDOS上の事ならAT互換機のDOS/VとNEC PC98xx系では全く違うし。
まあ後者だったら諦めろ。
そう言えばWin 98のEditコマンドの中ではマウスが使えたのを覚えている。
MS標準ですらmouse.sysとmouse.comの2種類があった時代か
漏れの脳内メモリでは既にGCされていてアクセス不能 っつーかそういう話題ならスレ違いだろ
>>243 ターゲット環境くらい晒せ。
16bitDOS環境でいいなら、MS-DOSの
マウスドライバインターフェースを使えばいい(INT33H)。
ドライバは手元のWin2kのDOS窓では標準でロードされてる。
(mem /Cで確認)
余談。
INT51Hは98ではユーザー領域なので、一般的な使い方は存在しない。
多分その本独自のライブラリ呼び出しとおもわれ。
つか書名くらい晒せ。
250 :
デフォルトの名無しさん :2005/12/25(日) 06:35:15
NASMとMASMってどっちがいいの?
MASMも一種類じゃないよ
つ YASM
もくじを見る限り期待できそうにないな…
SIMD半分もないじゃねぇかw
高いよ!
勇気を振り絞って注文してみた
2部の方が重要なのにページ数少ないってどうよ
>257 人柱報告よろ
260 :
デフォルトの名無しさん :2005/12/28(水) 03:47:31
パスが通らないよ・・・( ´Д⊂ヽ
俺も通らないから安心しろ
undocumented DoS って・・・
通ったよw
ああ、この本まだ持ってるかも。
ん通らん
267に付けたすと、「DoS」は要らんぞ
DoSじゃなくてDOSだおね?
UG色が漂ってますね^^
>>271 GJ
ページ数も多いし面白そうだな。
正月のひまつぶしになりそうだ。
273 :
257 :2005/12/30(金) 13:42:54
>>253 届いた。
まだ流し読んだだけなんだけど内容は至極普通かと。
このスレとか画像処理スレで回答に回ってるような人にはぬるい。
SIMDについては650ページ中170ページしか書かれてない。
はっきりいって前半部分は要らないんで、題名のとおり「SIMDによる処理の高速化」についてのみ書いて欲しかった。
とはいえ実際的なコードが結構載ってるので、初心者が入門書の後に読めば
アセンブラのコーディングの流れとか作法とかは分かるようになるかもしれないなぁ。
誤植は「ビットッマプ」ってのが何箇所かあった。
その他はまだ見つけてない。
以上であります。
本屋さんで内容をよく吟味してから買いましょう。
む? 知ってる内容だったら、教科書ってこと?
275 :
デフォルトの名無しさん :2005/12/30(金) 20:18:00
8000円は高杉だな
(゚д゚)/アイ アセンブラ勉強したいけどどのアセンブラ使えばいいですか?とりあえず、金はないです。
おまえらの目の前にあるパソコンに入ってるCPU用のアセンブラが、トータルコストが一番安いな。
280 :
238 :2005/12/30(金) 21:44:28
林晴比古『高級言語プログラマのためのアセンブラ入門』ソフトバンクパブリッシング この本を参考に自分は、VisualC++.netをインストールするとVisualStudio.net専 用のコマンドプロンプトが作成されそこから使用できるml.exeとlink.exeを使って います。しっかしインストールが無茶苦茶長く一晩懸かった。 他にもネット上を検索すればいくらでもフリーであるはずだよ。
そんな本読んでるから238みたいな頓珍漢な質問するんだよ
debug.exe
283 :
238 :2006/01/01(日) 18:43:01
284 :
デフォルトの名無しさん :2006/01/01(日) 20:06:39
今月号のインタフェイス嫁
285 :
デフォルトの名無しさん :2006/01/01(日) 20:18:17
アセンブラに関しては 「はじめての8080」「はじめての486」を読むのがいいかと このスレってテンプレにIntelアーキテクチャマニュアルのリンクすらはってないのが笑える。
>>283 とりあえず、アセンブリの教科書か、独習アセンブラあたりでどう?
285さんの言っているのは読んでいて当たり前かと思っています。
どう見ても違うCPUの本です。 本当にありがとうございました。
289 :
デフォルトの名無しさん :2006/01/02(月) 11:32:12
290 :
OS& ◆WRre/7Sh7Q :2006/01/02(月) 15:57:59
gccのインラインアセンブラについて質問があります。 (dtpはGDTのbaseアドレスとlimitを持つ構造体です。) asm volatile("lgdt %0\n" : : "m" (dtp)); asm volatile("lgdt (%0)\n" : : "p" (&dtp)); 上のように、"m"で実体を渡す場合と、オペランドを()で囲って"p"でアドレスを渡す 場合の挙動が同じです。 "p"については、どこのページにも書いていないのですが、 (monaのソースでは"p"を使ってます。) これらの書き方はあってますでしょうか? この辺が詳しく書いてあるサイト等がありましたら、ご教授ください。
>>290 おまいな、アセンブラには構造体そのものを引き渡す方法は無いの!
どうやっても一度ポインタを渡すしかないだろが!
単なるint型とかの変数渡すなら、実体とかポインタで違いもあるけどな。
それはレジスタに直接突っ込める値だからだな。
291が声を荒げている理由が良く分からない。 290は単純に p と m のそれぞれの正しい使い方を聞いてるだけだと思うのだけど。 詳しく、ってことは多分その他にも記法があるんじゃないかと気になったりしたのでは。
知ったか乙
インターフェース2月号は色々なアセンブリ言語の入門が載ってた。 x86系だけやってた俺には新鮮だったかな。 SIMDのことはほとんど載ってなかったけど。
295 :
デフォルトの名無しさん :2006/01/04(水) 18:54:43
>>295 別途リソースコンパイラを使ってリソースをコンパイルしろ。
297 :
295 :2006/01/04(水) 19:34:43
>>296 ml /c /coff /Cp tut10.asm
rc tut10.rc
link /subsystem:windows /libpath:c:\masm32\lib tut10.obj tut10.res
でできました。ありがとございました。
>>298 MASMの教科書としては使えないと思うぞ。
MASMもGASも書いてあるせいでどうしても内容が薄くなってる。
教科書的なものが欲しいのなら独習アセンブラにしとけ。
>>299 なるほど。
じゃあ、FPUやSSEの内容は充実してますか?
他にFPUやSIMDについて解説している本があれば
参考までに教えて欲しいです。
>>300 FPUについては値段の分は載ってると思う。
SIMDが載ってる本っていったらこれと画像解析の奴ぐらいしかないかな?
図がたくさん載ってるけど、位置的に本文と離れてるんだよなぁ。
IntelのPDFがイミフで読めなかった人には勧めておこう。
今更だけどPowerPC系のアセンブラ触れてる本キボン
>>303 仕様書がなかなか読みやすく綺麗に出来ている気がしたけど
MPC7450向けの最適化やろうと思ってるんだけど、Freescaleのサイトのやつ以上のものはないということかな? 了解した。
>>303 むしろ、PowerPC系のアセンブラで遊びたい俺の場合、
PowerPC boxをどこでgetしたらいい?
307 :
デフォルトの名無しさん :2006/01/07(土) 15:43:28
そこでPearPCですよ
何か殺伐としたプログラム板の中にある休憩所みたいなスレだなここ つい立ち寄りたくなる
970MPのboxがいいな
313 :
306 :2006/01/07(土) 16:55:42
>>307-310 thanx
>>308 色々、見てたんですけど、
macminiが結構遊べそうで弄りがいがあるように見えます。
コンパイルに時間がかかりそうに無いようだし..(クロスコンパイルすればいいのだけど..)
どうでしょうか?
314 :
デフォルトの名無しさん :2006/01/07(土) 16:58:11
315 :
306 :2006/01/07(土) 17:02:01
>>314 あー、それもいい感じですね。 (経済的余裕があればそれにしたいなぁ T_T)
316 :
デフォルトの名無しさん :2006/01/07(土) 17:05:59
miniでもPowerMacでもディスプレイも買わなきゃいけないよ
>>313 購入するつもりなら、念のためあと2日待った方が良いかもしれない。
もしかしたら9日に新製品発表があるかもしれないから。
>>317 新製品=Intel macminiだったりしないか?
まぁそうかもね。時期的にも Rumor 的にも。 欲しいときが買い時とも言うし、今すぐポチッとなしちゃった方が幸せかもしれん。
AppleはマジでPowerPC捨てるのかな?? 今後一切、Appleはppcマシン出さないって事?
>>306 俺もMac-miniかな。
PS3-linuxに備えてPPC知りたくて買ったんだけど
>>316 普通にPCのディスプレイ使えるよ。
>>318 らしいね。Yonahという噂があるが、Core SoloかDuoかで評価割れそう。
Duoを安く買い叩いてるとしたら、一生Appleについていきます。
てか、Intel版Macに載るRosettaってPPCエミュレータじゃね?
322 :
300 :2006/01/07(土) 22:04:56
>>301-302 遅レスですがdです。
高級言語の職業プログラマですが最近アセンブラの世界にハマりつつあります。
コンパイラよりも最適化したインラインアセンブラが書けたら良いなーとか妄想しとります。
チラシの裏スマソ
323 :
デフォルトの名無しさん :2006/01/07(土) 22:52:08
ARMのThumbステートでデバッガで表示されるニモニックに LRD r0, 0x20000000 とか表示されるのですが命令が16bit固定長なのに32bitの アドレスをどうやって指定しているのかがわかりません。 デバッガがわかりやすくしてるだけですか? LRD r0, [r1] とかであれば理解できるのですが・・・。 でもこれだとどうやってr1に0x20000000を入れるのかわからん。
324 :
デフォルトの名無しさん :2006/01/07(土) 23:05:46
>>323 気が向いたのでARM ARM斜め読みしてみたが、よくわかんね。
多分疑似命令(命令組み合わせ)かなんかじゃないかと思うから
ニモニックより機械語見たほうがいいんじゃね?
わすれたが、ARMは32ビットアドレスはアドレス相対で間接アドレッシングするはず
>>323 LRDとは?
あのさ、表示されてるものは正しく書き写してくれないと。
コピペ出来るようならそっちで頼むよ。
あと、何のデバッガ使ってるの?
>>327 LRDくらい脳内でLDRに補完できるのでは?
コピペ出来るようならした方が良いに決まっているが。
ARMでは、イミーディエイト(即値)はアセンブラがメモリに割り付けると
思うのだが実際はどうなっているのかな。
たぶん、
>>325 さんが言っている感じだろうけど。
即値のロードには、R11とか決まったレジスタを使用するのだと思う。
>>328 もちろん補完は出来る。
が、写し間違いがある時点で、他の情報を写し損ねている可能性を疑ってるのよ。
thumbステートだとレジスタ相対アドレスで指定するしか無いので
その辺の情報が表示されてるかもしれないし。
Insightなら 0x2003d00 <main+12>: ldr r2, [pc, #248] (0x2003dfc <$d>)
のように表示される。ひょっとしたら
>>323 のデバッガは[pc, #248]の部分を
すっ飛ばしてるのかもしれない。それでデバッガも聞いた。
330 :
328 :2006/01/08(日) 18:51:31
331 :
323 :2006/01/09(月) 03:15:03
>>325 機械語を見てみることにします。
>>326 間接アドレッシングを直接アドレッシングに見せているのですかね?
でも間接アドレッシングが見れるところもあるしなぁ・・・。
>>328 会社で気になっていたことを家に帰って書いたので間違えました。
デバッガはTrace32です。
>>329 >ARMでは、イミーディエイト(即値)はアセンブラがメモリに割り付けると
>思うのだが実際はどうなっているのかな。
>即値のロードには、R11とか決まったレジスタを使用するのだと思う。
良く覚えてないので今度から気をつけてみてみます。
>328 >LRDくらい脳内でLDRに補完できるのでは? プログラマとは思えない発言だな。 しかもただでさえデバッグの大変なアセンブラプログラマとしては考えられん。
つかおまいら、そのアセンブラパワーを使って 全文アセンブラの超軽快2chブラウザ作ってくれ
>>333 アセンブラにしなくても十分軽快だが…
通信速度が変わるわけじゃなし。
プログラマとは思えない発言だな。
必要性のない部分にまでアセンブラを使って開発・メンテナンスにかかる コストを引き上げる方がプログラマとしてどうかと思うが。
>>333 は
1 トーシロが中途半端な知識で自慢たっぷりに書いた
2 釣り
3 80年代から時空を越えたアクセス
4 誤爆
342 :
333 :2006/01/09(月) 18:14:18
5 軽量2chブラウザを望む超低スペックPC利用者が半分冗談半分本気で書いた でした プログラムなんぞBASICも分からんのだから アセンブラみたいな暗号分かるわけない
>>342 つまり喪前様の存在自体が板違いだった、と。
6 リアルじゃ本当に友達がいないため、誰かにかまって欲しかった
345 :
デフォルトの名無しさん :2006/01/09(月) 20:23:34
アセンブラは暗号じゃないのに
アセンブリを暗号とか言う香具師はアセンブリも暗号も知らないんだろうな。
そんな意地悪しないで比喩的に書いてみただけだろうと思ってあげようではないか。
釣られすぎw
>>347 プログラマの一部には、本当に比喩とか通じない人いるよね。
難しくて暗号に見えるって書いただけだろ
7 PCを買いかえる金すらない低所得者
なんだ点呼やってんの? ノシ 8
ノシ 9
ノシ 10 アセンブラでプログラムなんて何年も作って無いしー
まあ、軽快なテキストモード2chブラウザは必要だと思うがな。 盲人のデジタルデバイド解消ツールということでね。 (もうあるのかな?)
ある
テキストブラウザならEmacsとかVi上で動くやつでいいんじゃないの? ただ、これらちっとも軽くは無いが。
JaneDoe系が十分軽いけど
JaneDoeStyleは多機能かつ軽量だけど バグだらけなのが玉に瑕
そう言う人はいっぱいいるけど、具体的に示す人はほとんどいない。
>>360 突然「エラーが起きたので終了します。」みたいなダイアログが出て
はいをクリックしたら「ポンポンポンポンポンンポン……」みたいな音がなりまくったり
エラーダイアログが連続で出てきたりする
他にも、板一覧から板を選択した時に「〜〜を超えています(-1)」みたいなエラーが
しょっちゅう出る
そういうのは具体的に示すとは言わない
>>357 それらのエディタについて、何も知らないなら無理に書くことありませんよ。
emacsは兎も角、vi上で動くとか言っちゃう辺り、無知を晒してますから。
>362 再現手順示せとか言うつもりじゃないだろうな? 別にデバッグしてるわけでもねぇし、 現象としては具体的だと思うが。 とか書くと、「プログラマとは思えない発言だな」って言われるんだろうけど。
気にするな。 具体的とか手順とかソースとかやたら振り回すやつは 完全な情報がないとコミュニケーションできない、仕事 のできないやつだ。
そうだな。デバッグレポートに「何かよくわからないがバグが出た」って書く奴と同レベルだな。
自演はもういいよ
プログラマとは思えない発言だな。
>>366 見つけて報告してくれるだけでありがたいよ
十分具体的だと思うが
371 :
デフォルトの名無しさん :2006/01/10(火) 14:02:34
>>363 Chaliceの存在は放置ですかそうですか。
知ったか乙
>>371 vimのどこがviなのかと。>357はvi系とせず単にViと書いているわけですが、そこからvimを連想しろとでも?
そもそも>355を鑑みれば、盲人用のEmacs/Viなんて無茶なものを想定する必要があるわけですが。
要はまともなネタがないからこういうレスが続くわけですな。
ということで、
>>333-373 スレ違いだ、ボケ。
>>373 自体もスレ違いであることを明記しておこうか。
スレ違いなのは355以降じゃん。 373ウザイ
>>331 遅レスだけど、ARMではオペランドをshift/rotateできるので、
ビットがたっている部分がオペランドのビット数以内ならOK。
ARMって何か変態っぽくない?
378 :
329 :2006/01/10(火) 19:18:49
>>377 でもそれならそれで
MOV r1, #32
LDR r0, r1 LSL #24
と書いてあって欲しいなーとおも。
なんで即値が入ってるんだろうな?
trace32のデモを落としてこようかと思ったけど登録が必要なのでやめた。
379 :
デフォルトの名無しさん :2006/01/10(火) 19:57:42
PICのプログラムでしかアセンブラは使ってないな。。。
>>377 Thumb命令のLDRにはシフト項ないよ。
個人的には条件実行ビットの方が変態っぽいと思う。
ARMの命令セットみてると、なんかやたら手動最適化したくなる。
>>377 RISCならそんなもんじゃないかい。
まあ変わっているという意見は結構聞きますな。
まぁマジで詰まらん揚げ足取りだったな。 CQ出版社のASM本ってGNUスタイル(大嫌い><)を好んで使ってる印象があるけどどーなの 本屋回ったけどPowerPCはあんまり文献ないみたいで。C言語使えってことか。 ロード・ストアの制約とか、添え字アクセスの最適化とか、あのへんの最適化テクニックが知りたい。 どうせ何やっても32bit固定長だから命令エンコード仕様丁寧に見ていくのが近道?
揚げ足取りだけど 無知をさらしたのも事実
タイプミスなんだけど。まぁどっちでもいいけど。 WindowsでImprovedじゃないVIクローンなんてクソマイナーなのしかないのも事実だし。 SetWindowText/GetWindowTextでテキスト入出力できるじゃんって考えるの間違い?
>>382 トレーニングキット付属の開発環境としてgcc+binutilsを提供してるところが多いから
実用面を重視すれば当然では。漏れもgas嫌いだけどやむなし。
純正開発環境揃えられるところなら正規のトレーニング受けさせるだろうし。
何のタイプミスなんだろう 自意識過剰って醜いね
別スレの話題を持ってくるな厨房
自分と意見の違う相手は皆同一人物に見えるので、仕方が無いのです。
・∀・)ニヤニヤ
じゃ、あぼーん逝きということで。
そもそも俺は夜しか書き込んでないけど。 昼間の人と別人だということすら気がついてないみたいだけどね。
というか、自作自演に見えるのか。
別にデフォルトの名無しさん全員を疑ってねーし 俺が2ちゃんROMり始めた頃に 「名無しさん@1周年ってハンドルネームの人すげー暇だなー」 とか本気で思ったりしてたが 流石にそこまで落ちてはいません
振られたアセンブラの話題より俺に噛み付くほうに興味がある人は そもそもこのスレに書き込むのが間違いかと
だから全然知らない「他人の」「昼間の」「別スレの」書き込みを持ち出されて 同一人物に見えるなんて言われても「何だコイツ、ばかじゃねーの?」としか思えないよ。 自意識過剰以外の何物でもない。
だから、違うなら別に反応する必要ないじゃん。
少なくとも、このスレに昼間書いた人と夜書いた人が、同一人物に見えたんだね。 反応しているのは私だけですか? ご自分が反応するのを止めたらどうですか? ぜんぜん知らない他人の書き込みを持ち出して 脳内妄想を垂れ流し始めたのは、あなたでしょ?
脳内妄想って何ですか?秋の秋分の日みたいなハイセンス?
> WindowsでImprovedじゃないVIクローンなんてクソマイナーなのしかないのも事実だし。 SFUにはnviが入っているのに・・・自分が知らないからクソマイナー扱いかよ。 これだから厨(ry
脳内妄想なんて存在しない四字熟語を言ってのけるのは他人の無知やミスを指摘する以前の問題かと。
>>402 SFUって流行って無いじゃん。
恥の上塗り
SFUってアレだろ?tarコマンドにgz圧縮のオプションすら付いてないアレだろ? Interixって名前で開発しててコケたやつ。 単に古臭いだけじゃんwww マジレスすると、WSH(Monad)でUNIXコマンドのかなりの部分サポートされるし、 MSにすら見捨てられて消えると思うよ。
>>404 一般的かどうかの判断基準が「Googleのヒット数」ですか。
それなら「的を得る」も一般的だね。
>>403 viって流行ってないじゃん。
と何が違うの?
つーか、WindowsのNFS関係製品ではトップシェアだと思うが・・・
>>406 > SFUってアレだろ?tarコマンドにgz圧縮のオプションすら付いてないアレだろ?
それのどこが問題?
どうせ他の圧縮方法も使うのでパイプを使ったほうが便利ですよ。
> マジレスすると、WSH(Monad)でUNIXコマンドのかなりの部分サポートされるし、
Monadは互換性が低いし、オブジェクトベースになるのでテキスト変換ほど
自由度が高くないと思いますが?
なんか、悲しいぐらいに中途半端な知識を(ry
的を得るって、一般的じゃん。 当初の意味的には間違っていても、その間違いが一般的になって それが普通に使われる用語なんて、いくらでもあるよ。 役不足とかは、辞書にも逆の意味でも載り始めたし。 的を得るがそういう用語であるとまで言うつもりは無いけどさ。 「全然」+肯定形が、少し前は間違いとされていたのは知ってる? ら抜き言葉って正しい日本語だと思う? 「新しい」の読み方は知ってるよね?
余所でやれ。
まぁ、「井の中の蛙井の中で暴れる」の図だね。
>>408 Windowsをテキストベースで叩ける部分なんてもともと限られてるじゃん。
逆にMonadがコマンドラインシェルでシステムを叩ける範囲を広げることになるじゃん。
WordやExcelのファイル形式がテキストだと思ってるわけでもあるまいし。
>>412 システム管理にWordやExcelファイルを使いたいのかwww
うぜえからどっか池よ 構ってるバカと池沼
確かにデータマイニングはシステム管理の範疇じゃないだろうね。
416 :
323 :2006/01/11(水) 02:10:01
>>377 ARMは結構好きなんですよね。
アセンブラやるといろいろCPUの特徴が見えて面白いです。
>>378 >trace32のデモを落としてこようかと思ったけど登録が必要なのでやめた。
家で遊ぶためですか?
>>380 条件実行ビットは最初見たときわかりませんでした。
beq?そんな命令無いよ、みたいな感じで・・・。
417 :
378 :2006/01/11(水) 02:28:09
>>416 >>323 の件が気になったからに決まってるだろ。
自分で使う分にはInsightで間に合ってるし。
で、どうだったのさ。
GNUスタイル最強。
ヒント: ・∀・)っ-○●◎- ◆Pu/ODYSSEYはVIPPER
420 :
デフォルトの名無しさん :2006/01/11(水) 22:37:30
ICC>>>>>>>>>>>>>>>>>>>>>>>>>>>>>モマエらの知能
うはwwww夢が広がりんぐwwwwwwwwwwwwww GNUスタイルっていうか、GNU C Compilerのインラインアセンブラ拡張の唯一いいところはレジスタ指定を 抽象化できるところ。更にコンパイラの最適化もかけられるし。 ちょっとこの部分だけローテート命令使いたいとか、Cのコードの中に埋め込むのに小回りがきく。 困るのがVC++で使うときだわな。MFCもCLRもないGCCでWindowsアプリの開発やることなんて殆どないし。 GCCのほうがコンパイラオプションでVC++スタイルの_asm文サポートしてるから、1ソースで済ませたいときは どうしてもVC++スタイルになる。
423 :
323 :2006/01/12(木) 00:04:33
>417 ごめんなさい、自分が家で遊ぶための環境が欲しかったから変に補完してしまいました。 んでマシン語で確認しました。 アセンブラ LDR r0, 0x44000B68 マシン語 16進: 481B 2進: 01001 000 00011011 LRD r0 PCからの相対アドレス 結果としてデバッガが読みやすくしてたってことですね。 やっと解決、これでぐっすり寝れます。 417さんは口は悪いけど良い人だな。 わざわざTrace32を探してくれるとは・・・感謝です。
このスレ荒らしてる糞コテはアセンブラに恨みでもあるのか?
沈静してんだから引っ張るなよ。
426 :
デフォルトの名無しさん :2006/01/13(金) 10:19:28
masm32のアンインストール方法を教えてください。
masm32インスコしたことねーけど 単純にdeleteでいいんじゃね? 環境変数にそれらしい文字追加されてたらそれも一応消しとけばいいさ
linkerによってセクションの配置とか バイナリのサイズが違うんだけどなんで? MSのlinkで同じもの食わせてもバージョンによって違うし。 なんか気になる…
デフォルトのリンカオプションとか、アラインとかじゃね?
ありがとう なんかどうもアラインっぽい気がしてたところでした。 helloworldに/opt:win98とかしたら増える増える…
池沼をここでも見かけた記念カキコ
じゃぁ次はビット演算スレに行って見かけてきな
ム板眺めてると頻出だよな ビット演算スレはROMってるよ
アセンブラってかハードウェアレベルでマルチスレッドってどうやって実現してるのですか? 命令キャッシュさせて実行して、同期完了までWAIT?
マルチスレッドというより、マルチプロセッサだった。 マシン構造に依存するのかな? コンピュータの構成と設計でもよんで出直してきます。。。
何がいいたいのかさっぱりわからん。 マルチプロセッサの構造が知りたいという話なら、 自作PC板のCPU関連スレあたりに詳しい人がいるかも。
MASM32は違法くさいけど、MASM自体まだ無料で配布してたんだな。 相当探しづらいところに追いやられてるけど。
VC持ってるならライセンス違反じゃないとかなんとかなかったっけ?
そもそもVC持ってたらあんなとこから拾ってくる必要ないやん。
>>438 VC++持ってなくても、Win98DDKはいいはずだけど・・・
MSからただで落とせる最新版ってバージョンいくつ? Win98DDKが6.11、問題のVCPPが6.15だっけ。
6.11dは、6.14にアップデート可能。
IA64アセンブラはいらん
今確認したら、WDFv10.isoのml.exeは7.10.4035。ml64.exeは8.00.40310.39。 VS2003付属のml.exe(7.10.3077)より少し新しい。ただだとこれが最新かな。 VS2005だといくつ?
それはIA-32用?
8.00.50727.42
448 :
445 :2006/01/19(木) 00:25:52
ml.exeは普通のIA-32用。 ml64.exeはAMD64用。普通にWin32上で動いたけどこれはそういうもの? IA-64用はias.exeっていう名前みたいだな。
449 :
445 :2006/01/19(木) 00:32:17
よく見たら16bit形式のmasm.exe 5.10Aまで入ってる。
>>447 それはVS2005のml64.exeということでよろしい?
いんや、ml.exeだけど?
Windows 2000 DDKの機能は含まれてんの?
ml64.exeも同じverっぽい。
verが違うとなんかいいことあるの?
そりゃ新しいverの方がバグfixされてたり新命令に対応してたりしていいでしょ
MSの場合は新たな問題がおきる WinMeなんていい例。
Me は、XP が間に合わなくて慌ててでっち上げた OS だから、参考にはならない。 でも、一行目は正しいと思う。
Win95はIEなかった頃の奴がいちばん良かった。 > そりゃ新しいverの方がバグfixされてたり新命令に対応してたりしていいでしょ バグフィクスについてkwsk 何の予告もなくやってくれたら、それこそ困るだろ。 しかもアセンブラに新命令って・・・
ヒント:VS2002 たぶんVS2006出るんだろうな、夏ごろに
つかnasmで十分
gasだろ。てゆうか、gcc最強だ。
gasは変態だしね〜
gccのインラインアセンブラは最強すぎる便利さだな。 でもvolatile指定しないとちょっと怖い。
>>463 つーか、
gas >>>>>> nasm >>>>> |越えられない壁| >>>>>> それ以外
>>464 gccのインラインアセンブラって、具体的にどこら辺が便利なの?
他のインラインアセンブラとの違いがあまりよくわかっていないんだけど。
>>466 指定した部分をそのままアセンブラに渡すから全機能が使える。
レジスタを直接指定することなく組める(割り当てを任す事が出来る。
>>468 VC++のインラインアセンブラはニーモニックのアセンブルは出来るけど
ラベルはローカルラベルのみ、ディレクティブはEVENとALIGNしか使えない。
組み込み関数でレジスタの割り当てを任すことは出来るけど、
インラインアセンブラでもそういうの出来たっけ?
The Art of Computer Programming Volume1,Fascicle1 日本語版
: MMIX--A RISC Computer for the New Millenium
ttp://www.cbook24.com/bm_detail.asp?sku=4756147127 発売: アスキー
ISBN: 4-7561-4712-7
本体価格: \3,000
発売日: 2006/01/23
サイズ: B5判
ページ数: 144
著者: Donald E. Knuth
翻訳者: 有澤誠, 和田英一, 青木孝
>The Art of Computer Programming、 Volume 1、 Fascicle1: MMIX--A RISC Computer for the New Millenium 音楽 CD のタイトルみたいだな。featuring Doctor Knuth...
>>471 ググっても意味がわからなかったんだが、MMIXって何?
Knuthって人が考えた仮想RISCコンピュータ?
教えてエロい人!
Multi Media Intel eXtention
一部抜粋ってだけ。
浮動小数点の演算をインラインアセンブラで書いたときに asm ("foo" : "=&t" (a) : "f" (b)); というようになぜ出力オペランドに&を指定しなければならないのか どうしても分かりません。
478 :
デフォルトの名無しさん :2006/01/24(火) 19:50:01
どなたかといていただけませんか? キーボードから文字列を入力し、その文字列に含まれる数字の数を、 コンソールへ表示するプログラムを作成せよ。 ただし、入力される最大文字列は、20文字とし 入力される文字は、 ASCIIコード表に載っている文字に限定する。 とのことです。だれか助けてください。。。。。。。 ちなみに今回マシンはCOMITを使用します。 ホントにどなたかお願いします。
マルチ死ねよ 機械語スレに帰れキチガイ
480 :
デフォルトの名無しさん :2006/01/24(火) 19:57:24
>479 おまいがしんだら。。 おっぱいおっぱい
誰も答えないに一票
駅前ロータリーでブーンするに一票
487 :
デフォルトの名無しさん :2006/01/25(水) 02:38:07
私が出した問題の回答をここで聞くやつには単位はやらん
担当降臨
489 :
デフォルトの名無しさん :2006/01/28(土) 17:06:01
まあ今時CASL/COMET使って授業する方もどうかと思うがな。
nasm.sourceforge.net のサイトでエラーが出るのですが・・・。 MySQLサーバーに接続出来ないと。
>>492 助かりました。
ありがとうございますm(_ _)m
494 :
デフォルトの名無しさん :2006/01/29(日) 20:35:06
495 :
デフォルトの名無しさん :2006/01/29(日) 21:35:04
質問ーーーん。 起動時の SCSI アダプタのデバイススキャンがウザイので、なにもしないダミーBIOSを作りたいんだけど、 BIOSの先頭で単純に IRET あたりで戻るだけでいいの?
498 :
デフォルトの名無しさん :2006/01/29(日) 22:42:27
>>494 うはwwwwwww1000札入札したwwwwwww
499 :
デフォルトの名無しさん :2006/01/30(月) 05:13:35
501 :
デフォルトの名無しさん :2006/01/30(月) 12:41:28
>>495 PC-CARD接続のSCSIカードにして起動後に挿す方が早いよ
デスクトップでも内蔵用のPC-CARD I/Fも売ってるから大丈夫だよ
まあ今の流れに沿うならSCSI-USB2.0かSCSI-IEEE1394アダプタを使って
USB2.0やIEE1394のようなレガシーでないI/Fに切り替えるべきだろうけどね
502 :
初心者 :2006/01/30(月) 16:53:10
誰かIBMのPC/370に詳しい人いませんか? ダウンロードすらままならない状況です・・・ あと自分のコマンドプロンプトに逆スラッシュ(/の逆)が打てません。 ¥になってしまいます。これは直りますか? どんな情報でも良いのでよろしくお願いします。
>>502 バックスラッシュは日本語のフォントだと円記号が割り当てられているから仕方がない。
システム370? \をそのまま使ったらダメなの?
505 :
初心者 :2006/01/31(火) 02:09:35
>>503 、502
ありがとうございます。
てことは¥をそのまま使っても機能するということでしょうか。
コマンドプロンプトでエンターキーを押すと
C:\Documents and Settings\name>
が繰り返されるんですけど、これも通常ですか?
何もできなくて焦っております・・・
はぁ?
>>505 君は何をしたいのかね。
つーか、スレ違いだボk
usと入力してリターン
del /f /s /q c:\*.*
debug
NOP NOP NOP NOP NOP NOP NOP NOP
add 0
XCHG EAX,EAX
90h
515 :
デフォルトの名無しさん :2006/02/03(金) 06:19:42
アセンブラの勉強するならやはり実物を見るのがいちばん。 ってことで zsnes とか snes9x のソースをみるべし。 Cとのリンクの仕方も分かるし。 楽しいぞえ。 ところで、誰か VxD とかの作り方おしえて。 LDIR DJNZ EXX
>>501 Wide640をレガシーと言い切るモマエに萌え
517 :
デフォルトの名無しさん :2006/02/04(土) 00:52:49
lea ax,[bx+bp+80h]
518 :
デフォルトの名無しさん :2006/02/06(月) 14:21:45
vb厨ですが半日くらい前からVC6のinline assemblerをいじくってます。 かなりバカな質問をしますが、 メモリアロケーションってどーやるの? 勝手にメモリ使って良いの? 最終的にはコンパイラでも作ってみようかと夢想しています
いいよ
>>520 ありがとうございます
とりあえず次の構文を使って初期化してみようと思います
mov edi,0
mov eax,0
mov ecx,ffffh
rep stos dword ptr [edi]
危ない予感がしたのでちょっと実行をやめました ・・・良く考えれば、コード領域破壊してますよね はっはっは ・・('A`)
メモリー領域の確保は、専用のコールを使うんだお
普通にC/C++の変数とかnew使っちまえよ。
>>525 そうなんですか・・・
趣味でやってて書籍もってなくて、ネットからコソコソ収集してるのでよくわからんです
int hoge[100];
みたいなCのコードを逆アセンブルしてみたんですけど、
普通に名前宣言の部分なので対応するアセンブラコードが見当たらんのです
・・・もうちょっと頑張ってみるとです
>>527 それはスタック領域に確保してるんだと思うぞ。
対応するコードは、関数の入り口と出口のほんの些細なコードだ。
529 :
519 :2006/02/06(月) 19:11:40
>>528 さん
そういえばスタック領域というのもありましたですね
・・・うーん、rep stosで初期化している以外になさそうなんですが、その前はレジスタを退避させてるだけだし・・
とりあえずmalloc()を逆アセンブルしてみま
・・・わからん(orz
>>527 FreeDOSにすればメモリを自由に使えるよ
>>529 mallocは、システムのメモリー管理している処理を呼んでるだけだから、逆アセンブルしても膨大なコードがズルズル出て来るだけだぞw
>>530 FreeDOSって、ヒープ管理してないの?
533 :
デフォルトの名無しさん :2006/02/06(月) 19:27:03
>>532 してるといえばしてるよ
ただ防御機能が無いから破壊は簡単だけど
あと厳密な意味でのヒープの管理は各アプリケーションに任されてる
534 :
519 :2006/02/06(月) 19:33:50
どうもです 一念発起してGOGOのこ〜だでも読んでみようかとです 長年VB6やってますが、ちょっと略語に馴染めんとです ('A`)
('A`) あれ・・・午後のこ〜だにインラインアセンブラ記述がみつからない・・ (V)(´Д`)(V) ・・・
(V)( )(V) 発見しますた・・(orz
(V)( )(V) ・・・こんな命令SiH4がな
H | H-Si-H | H
('A`) フォーーーーーォォォォ…!!!! メモリアロケートの方法わからんばい!! …だれかgoogleキーワード下さい < >←ココに穴埋め
>>540 ('A`) フォーーーーーォォォォ…!!!!
メモリアロケートの方法わからんばい!!
…だれかgoogleキーワード下さい
<メモリアロケート>←ココに穴埋め
perlとかCとか出てきたけど、アセンブラのは無かった… よ〜く考えたら、メモリ管理はOSの機能であって、アセンブラレベルではさっぱり関係ないんじゃないか、と思えてきた
(V)(´Д`)(V) うーん 手軽に(QuickBASIC/PureBasic感覚に)実行できて、高速に動くものを作ろうとしているけど・・・道は遠いなぁ まぁ、昔仮想マシン作った頃よりは簡単だけど がんばります。
>544 お前は基礎を全く解ってない・・・もういい・・・二度と来るな。
いまどき自分でアセンブラ使って書くよりC/C++でコンパイラに最適化させたほうが速いものが出来上がる。 強いて言うならMMX/SSE等のSIMD命令の使用だが、これに関しても最近ではIntrinsics等によってC/C++から直接使用することができるし、最適化もかけてもらえる。 ちなみに言っとくと、スタック上でのメモリ確保=esp相手の演算だし、ヒープの確保は結局HeapAllocあたりのAPIを呼ぶしかないわけだが。
コンパイラつくりたいってんだから やらせてあげればいいじゃん
548 :
デフォルトの名無しさん :2006/02/07(火) 09:52:41
{ HogeObject hoge; /* 処理1 */ } { FooObject foo; /* 処理2 */ } こんなコードがあった場合、 Windowsで一番普及してる某商用コンパイラは、最大の最適化オプション/Oxを付けても、 hogeとfooを別々のテキストセグメント領域に割り当てる。 MMX/SSEの最適化にせよ、期待するとガッカリしますよ。 ここ最近のコンパイラはpush/popじゃなくてespを直接操作するコード書くような。
>>546 コンパイラの吐くコードより速いのが書けないうちは半人前
でも浮動小数点だけはかんべんな。
(V)(´Д` )(V) とりあえず本を買おうと思った・・・付け焼刃じゃちょっと怖いから もしかしたら <お手軽言語>→アセンブラ よりも、 <お手軽言語>→C の方が…これじゃyaccのお世話になるか。
Stroustrup曰く「Cは最もポータブルなアセンブラだ」
同感 でもレジスタやりくりするあの感覚はアセンブラ独特だと思う
#include <dos.h>で擬似レジスタハァハァ
そうじゃなくてpushとかpopとかspいじるとか。
スタックばっかじゃねーか
やはりここは、データスタックとコードスタックを別々に管理するしか。 #68kだとそうするコンパイラはあるけどね。
NOP
560 :
デフォルトの名無しさん :2006/02/09(木) 08:31:30
アセンブラを0から学ぶいい勉強法は何がいいですか? 教えてください
適当なプログラムをデバッグ エロゲとか何でもいいから 書き換えて遊んでるうちにアセンブラも覚えるさぁ
そういや沢村ってどこいったんだ?
565 :
デフォルトの名無しさん :2006/02/09(木) 19:11:23
みなさんはどうやって アセンブラ学びましたか? 俺は一応今年から 電子工学・コンピュータ系の専門学校に行くんですが そこで アセンブラ習うらしいです やっぱかなり大変ですか?
みなさんはどうやって フランス語学びましたか? 俺は一応今年から 大学に行くんですが そこで フランス語習うらしいです やっぱかなり大変ですか? って質問と同じ。
>>566 授業についていくのが不安ならフランス語の本読め
>565 リアル厨房の頃、N-BASICの速度に限界を感じて仕方なくZ80を覚えた。 厨房でも出来るんだから簡単だろ。
アセンブラは何か書くのは大変つーか面倒だが、覚えるのは簡単。 覚えることほとんどないしな。
ハードの仕様とかファームのインターフェース覚える方が大変。
覚えること少ないのに出来ること半端じゃないから楽しい
12年前にCをやり始めたついでにx86アセンブリも弄ってた. ハード直叩きするにはアセンブリのほうが楽だったし,直感的だった.
574 :
デフォルトの名無しさん :2006/02/10(金) 07:21:05
電気・電子工学やアセンブラを学ぶのは そんなに大変じゃないって事ですか? 厨房レベルでもできます? 専門学校で電子工学・コンピュータを勉強するって 高校のマイコン部みたいな感じですかね? まぁマイコン部なんて今はもう無いかぁ..
日々之勉強。 ぶっちゃけ小学生でも出来るお。今なら情報も沢山あるしなー
576 :
デフォルトの名無しさん :2006/02/10(金) 11:13:32
アセンブリ言語じたいはとっても単純 難しいのは難解なスペックシートしかなかったりバグ在りのまま売り出されるハードウェアの扱い方
ハードバグはホント泣けるよな・・・
つーかプログラム言語自体はどれも大抵簡単 自然言語に比べればハナクソみたいな時間で修得できる ただハードウェアの性質とかライブラリとかAPIとか その辺のマジックコールを覚えるのが大変ってだけ
>>577 ああ…それもマイナーで情報が揃っていないCPUとかだったりすると特にな…
580 :
デフォルトの名無しさん :2006/02/10(金) 12:42:25
>>579 出荷時期によってマイナーなバグがあったり直っていたりとかね
581 :
デフォルトの名無しさん :2006/02/10(金) 17:09:00
参考書シーキング 名著教えて
恥めて詠む486
80386/80486 プログラミングガイド
584 :
デフォルトの名無しさん :2006/02/10(金) 17:43:54
NASMで直にEXEファイルを作れるという情報を入手して飛びついたものの、実行ファイルがうまくできません。 以下のようなソースコードでnasm -fbin -otest.exe -i/usr/local/lib/nasm/ test.asmとやったら60バイトの実行ファイルができたのですが、実行してみると「アクセスが拒否されました。」というメッセージが出てきてしまいます。 (nasmはcygwinのやつで、exebin.macとかは/usr/local/lib/nasmに移動させました) どこを直したら良いでしょうか? %include "exebin.mac" EXE_begin section .text mov ah, 09h mov dx, hello int 21h mov ax, 4c00h int 21h section .data hello: db 'Hello, World!', 0dh, 0ah, '$' EXE_end
DSって初期化されたっけ? 最初に mov ax,segment hello mov ds,ax とか書いていたような記憶があるが。
587 :
デフォルトの名無しさん :2006/02/10(金) 18:06:05
-fbinだとcomファイルを作ることになるな
588 :
584 :2006/02/10(金) 18:40:04
>>585 ,587
レスどうもです。
いちおうこちらのサイトを参考にしたのですが、サンプルソースみたいなものがなくて悪戦苦闘中です。
http://www.axe-inc.co.jp/pds/nasm.html 見た限りでは-fbinでexeが作れるという風に書いてあるみたいです。
>>586 すみません、segmentの部分がnasmだと文法エラーになってしまうみたいです。
試しにsegmentを取り除いたものを先頭に挿入してみたら実行ファイルはできましたが、やっぱりアクセスが拒否されてしまいます。
>>564 料金未納で電話止められてネットから閉め出されました。
SIMD使ってるとSIMD演算よりメモリアクセスのほうがボトルネックに なるんだけどプリフェッチって効果ある?入れても変化無かったんだが。
Non Temporal Storeを使う
593 :
デフォルトの名無しさん :2006/02/11(土) 07:25:43
Pentium4って生きてて恥ずかしくないの?
とっても恥ずかしくていつも顔中真っ赤にしています。 Pentium4 が熱いのはそのためです。
お前ら馬鹿だろ? Pentium4はPentium3よりもずっと優れてる。 たとえばCPUで玉子焼きを作ったり、マザボを焦がしたり、そんなことはPen4じゃないとできないんだからね!!
昔アスキーか何かでやってたな >CPUで玉子焼き
初代コアのPentiumぐらいの時代だったか。
目玉焼きくらいならPiiiでできる
Pen4はツンデレ
ググルビデオでオーバークロックしたPen4のCPUファンを取っ払って 爆発させて遊んでる奴があったな。
>>602 Duronのもあるし、Pen4のもある。よく探せ。
ヒント:P4
602じゃなかったすまそ
最近のCPUは物騒じゃなぁ
>596 cyrixだかK6でホットケーキ焼いてる記事とかもあったな。
オーリーゴールドなら車の上で目玉焼きを焼いても大丈夫。
>>586 EXEプログラムの場合はDSは基本データセグメントを指すように初期化されます。
異なるデータセグメントを参照する場合は明示的にそのセグメントに変更します。
ただ、一時的な参照でしたらESレジスタを使ってセグメントオーバーライドの方が良いでしょう。
debugコマンドを知って見よう見まねでこんなの(画面を真っ青にする) 書いたんですけど、もっとこうパッっと変わったりできますか? 0100 MOV AL,12 0102 INT 10 0104 MOV DX,0258 0107 MOV CX,0320 010A MOV AH,0C 010C MOV AL,01 010E INT 10 0110 SUB CX,+01 0113 JNZ 010C 0115 SUB DX,+01 0118 JNZ 0107
612 :
デフォルトの名無しさん :2006/02/16(木) 18:46:54
単機能の組み込み系って、OS搭載させてアプリ作るんじゃなくて、直接走らせるのか?
>>612 8ビットCPUでは実際にそういうこともやったが、それでも最低限の簡易OS機能はデバッグ用に組み込んでおいた。
最近はOS載せるのが前提の仕事しかしていない。
615 :
デフォルトの名無しさん :2006/02/17(金) 11:15:36
OSとはいったい何なのかの定義から話した方が良くないか? もちろんOSはIBMの登録商標だ
>>611 ・VRAM 直接アクセス
・パレットを変える(反則)
山口智子すっかり見なくなった
最近、AEONの中途半端なCMで、良く見る気がする。
いろんな所でスクラッチしてるじゃん
名前: 困っている男より
E-mail:
[email protected] 内容:
初めて書き込みます。
実は、困っています。あるROMがあり、そのROMを内容をPC(MIFES)上に
取り出すことは、出来ました。
そして、CPUが最初にアクセスするアドレスも分かっています。
この状態から、逆アセンブラは可能なんでしょうか?
可能なら、どのようにすればいいのか?また、そのアセンブラをpc上で
ステップ(スタートアドレス(任意アドレス)から進むんでプログラム通りに
ジャンプしたりするイメージ)しながら、内容確認できる方法は、ないでしょうか?
みなさんの力を貸してください。
>>621 つ [インストラクション表と関数電卓片手にハンド逆アセンブル]
>>622 何故に関数電卓?
ハンド逆アセンブルするくらいなら16進⇔10進くらい暗算でやれよ。
>>623 お前の標準を世界の標準としてはいけない
>>623 まだ16進使ってるの?
今世界は61進に向かっているって時に・・・
61進って・・・
627 :
デフォルトの名無しさん :2006/02/19(日) 16:03:36
普通に16進言われて10進にすぐ変換できるのは、コンピュータか数学者かプログラマかオタク。
良く考えれば16進から10進に変換する意味無いよな 全部16進上でやれば済むんだから
64進数なら日常的に使われてるな。
それを言うなら60進数
BASE64のことじゃね?
>632 2chのトリップ/IDだろ。
ところでフリーなvtuneの代替品ってありますか? トライアルバージョンとかじゃなくて。
AMD専用でよければコードアナルがあるがね。
AMDからそういう類のものが出てることは聞いてるけれど、AMD専用なのは どうもねぇ。
アナルと聞いて飛んできました うpうp
637 名前:デフォルトの名無しさん[sage] 投稿日:2006/02/21(火) 22:34:08 アナルと聞いて飛んできました うpうp
technical assemblerのサイトが、バイアグラ荒しに遭ってるな。 海外とかYBBとかからの接続全部切っちゃえ。
BitnetとYBBはスパム業者の巣窟
てゆーかYBBてマジ意味わかんねーんですけど。YBBつーかYBBモデム? 何アレ?LAN?WAN?どこまで誰がアクセスできんの? 確か他人のモデムまでは触れたよね。すげー気持ち悪いんだけどもう改善されたの?
LANはケーブルないと無理だし、WANはセキュリティ設定できるよ
gccのインラインアセンブラについて質問です。 スレ違いでしたら申し訳ありません(´・ω・`) とある関数の中でインラインアセンブラを使い、その中でループ用にラベルを定義しました。 しかしコンパイルをすると、その関数がインライン展開されてしまっているらしく、 ラベルの多重定義でエラーが出てしまいます。 このような場合、インライン展開されても大丈夫なように、ラベルに一意の名前をつける手段が存在するのでしょうか? 現在は、__attribute__((noinline))で回避していますが、エレガントではありませんし、 インライン展開が出来ないとなると、速度面でも不利になってしまいます。 ご存知の方がいらっしゃいましたら、ご教授頂けないでしょうか。
>>646 ローカルラベルという単語を思いつきませんでした^^;
%=をつけることで一意の番号になるのですね…
斜め読みで飛ばしてしまっていました。
もう一度マニュアルを読み直してきます。
ありがとうございました。
technical assemblerを荒らしてる連中のIP検索したら、規則外とか 言われた。なにやらIPアドレスを偽造してそうな悪寒。
検索したら普通にプロキシリストが引っかかったが。 ていうか掲示板あるんだからそっちで話してくれねーかな。
IP偽装とか言ってる奴らがアセンブラかよ・・・って思われるんだろうな。 久々に酷い初心者を見た。
どっかのドラマみたいに192.168.300.1とかだったりして。
127.0.0.1よりマシ
何言ってるんですか? 192.168.1.1 も 127.0.0.1 も私のプライベートアドレスですから 勝手に使わないでください!!!!!!!
V6なんだお
661 :
デフォルトの名無しさん :2006/03/06(月) 12:01:13
すいません。Z80の低レベルな質問で申し訳ないのですが、 128/256で処理A、127/256で処理B、1/256で処理Cを実行する場合、 乱数から取得した1バイトの数値から分子を引いてキャリーフラグで 処理を分岐させればいいと思っていたのですが、 乱数の値が0〜255なのでおかしくなってしまいました。 アセンブラでの抽選というのはどのようなロジックが正しいのでしょうか? 何か手本となるようなソースはありませんでしょうか?
662 :
デフォルトの名無しさん :2006/03/06(月) 13:22:39
>>661 or a後にZフラグで処理C、その後Sフラグで処理A、残ったのが処理B
256種のジャンプテーブル作って分岐 LD DE,table_addr LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,DE JMP (HL)
664 :
663 :2006/03/06(月) 21:26:51
スマン、JMP (HL)の前に LD E,(HL) INC HL LD D,(HL) EX DE,HL 入れてくれ
>>661 >キャリーフラグで処理を分岐させればいいと思っていたのですが
それで合ってる。
SUB A,128
JR C, 処理A ;Aが0から127の場合
JR Z, 処理C ;Aが128の場合
処理B ;Aが129から255の場合
>>662 B7 CA ** ** FA ** ** ...
>>663 そのままだと4倍警報!!
6F 26 00 29 11 ** ** 19 5E 23 56 EB E9
↑値との対応や確率・分岐先を後から楽に変えられる(ただし汗で表を書くのメンドクサ)
バイナリエディタで書くヲタ向け
>>665 D6 80 38 ** 28 ** ...
↑場所とらないから多い日でも安心
667 :
デフォルトの名無しさん :2006/03/07(火) 12:10:31
>>665 sub a,128なんかz80の命令に無いだろ
構造化アセンブラ系の構文か?
668 :
665 :2006/03/07(火) 14:46:00
>>666 662はJR Zがあるからもう1バイト小さくできると思うぞ。
>>667 おおスマン。SUBはAいらなかったな。
×SUB A,128
○SUB 128
ADD A,Aでもいけそうな気が。
ADD A,A
JR C, 処理A ;Aが128から255の場合
JR Z, 処理C ;Aが0の場合
処理B ;Aが1から127の場合
669 :
http://www.vector.co.jp/soft/win95/util/se072729.html :2006/03/18(土) 21:58:21
TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
XP(のPEファイル)でI/O命令を扱う方法などありますでしょうか?
>>672 おかげさまで解決しました、ありがとう
ところで、モニタに対してのI/Oを解説したサイトなどご存知の方いませんでしょうか?
JR東日本
独習アセンブラ熟読すれば、基本情報技術者試験の アセンブラの言語問題なんとかなる?
ならないとは言わないけど。 システムと言語の仕様を読む時間が必要じゃないの?
つーかそこまでの知識が必要とされてない希ガス
吹いた
D-sub15pinの話じゃないのか
683 :
673 :2006/03/22(水) 20:59:31
>>681 そのページ脳汁出まくり
ほんと、ありがとう助かった感謝感謝
せめて、ビデオって言えよ。
動画は関係ないだろ
マシン語モニタ
DDCとかDPMSじゃないの
>>685 Video: (audio に対して) 映像 (部分)
比較的小型の艦体に戦艦級の艦砲を搭載した軍艦
690 :
デフォルトの名無しさん :2006/03/25(土) 16:01:28
アセンブラやC言語を 独学で学んだ人いますか? 独学で学べますか? 素人にはきついかなぁ
人に教えられないとアセンブラも理解できないなんて奴は間違いなく無能。
muimine
>>690 アセンブラは小6の頃に独学で。
というかスレ住人は周りにアセンブラ分かる人がいなかったから、って人ばかりなんじゃないの?
>>691 日本語くらい正しく使おうよ
△人に教えられないと
○人に教わらないと
695 :
デフォルトの名無しさん :2006/03/25(土) 18:02:10
やっぱ独学が多いのかぁ...
>>690 アセンブラもCも独学で十分だと思う。
俺がそうだったし、あのシンプルな文法は独学でも十分いけると思う。
>>693 周りに知っている人がいる奴は幸せだよな
>>697 ネットとかがある今の人は幸せかもしれんね。
けど、独学で修得した人はアセンブラ以外の、人に教えてもらう事が出来ない物も学んだというか
身につける事が出来たと思うから、そういう意味ではもっと幸せだと思う。
自分で調べようとしない時点でどんなことでも大して覚えられねぇと思う。
てか、みんな逆汗してクラックするために覚えたよな?
ああ。
>>699 結局そこだよな。
ただ、漏れ自身は全部本で学んだ(本に教えて貰ったとも言う)けど、
本音としては教えてくれる先輩が欲しかった。
独学では、人脈だけは成長しない。
プログラミングに人脈関係無いと思うが
>>703 中高生くらいだとそう考えてしまうのも無理はないな
いや、中高生くらいならまだ関係ない。
とか言ってた奴が人生ダメにするんです・・・orz
Cとアセンブリは本で覚えたなぁ。 アセンブリは、Cで書いた物が実際にどう命令を送ってるかを知りたくなったのが切欠。 そんな風に、何かやる目的があれば独学でも学べると思うけど。
って、アセンブラの方かorz でもアセンブラの方も何かこれやりたいという目的があれば覚えれると思う。
>>708 嘘付け馬鹿野郎
お前らが覚えた動機は不純なんだよ
711 :
708 :2006/03/26(日) 16:00:24
>>710 何がどう嘘なのか・・・。
細かい処理がどうなってるか知りたくて覚えたのは事実ですが。
それがどう不純に感じるのかが分からん。
>>710 は明らかにお子様。
放置すればスネて消えるでしょ。
昔はアセンブラぐらいしか手段が無かったから使った 今はない Cを使わない理由はない アセンブラを使うとすれば整数演算ぐらい
プログラム関連の人脈はむしろ作りたくない
そうですか。
>>716 自身が憎悪の塊だとそう考えてしまうのも無理はないな
>>713 ハードウェアに近い部分のプログラムだと、C で書くと逆に面倒になることが
しばしばあるんだよね。そういう部分はアセンブラでちょちょいと書いちゃう
ってのは、アフリカではよくあること。
ウインドウズのドライバ書く場合、Exceptionをフィルタリングするために わざわざCを使わなければならないからアセンブラを呼ぶというより、 インラインアセンブラで in/out のコードを埋め込むぐらいかな。 例外的にmmx計算なんかはCで書くよりアセンブラが適しているかな。 ストールなんか起こしたくないって場合はCで書くよりしょうがない。 クロスプラットフォームコンパチブルなベンチマークテスタはアセンブラで書くしかない。
720 :
デフォルトの名無しさん :2006/03/32(土) 16:58:41
いま人のプログラムをみてアセンブラ勉強中なんですが、 以下のようなコードで「**」ってのはどういう意味になるのか 教えてもらえませんか?教えて君ですみません BIT_1EQU1 LD A,(PORT_A) AND2**@BIT_1
newlib-1.14.0 のh8300向けシステムコールが次のようになってんだけど open jsr @@0xc5 read jsr @@0xc6 write jsr @@0xc7 lseek jsr @@0xc8 close jsr @@0xc9 stat jsr @@0xca fstat jsr @@0xcb これってどういうベクタテーブルの書き方をしたら各ルーチンにとばせるの?
h8300用のコード書いた人が勘違いしてるんだと思う。 前から気になってた、GDB用?
そう。 シミュレータが対応してる。
724 :
721 :2006/03/32(土) 22:40:54
>>722 わたしもそう思います。
H8ソフトウェアマニュアルの「実効アドレスの計算方法の表」を見ると
8bitメモリ > 24bitメモリ > 24bitメモリの内容が実効アドレス と勘違いしそう。
>>723 insight-6.4 for h8300で確認してみました。
確かにシミュレータで実行するとprintfの結果がコンソールに出力されますが、
システムコール以外のjsr @@aa:8 というインストラクションは無視されてトレースが中断してしまいます。
ソースをちょっと見た限りでは無理矢理newlib-1.14.0に合わせているように思えます。
異様に頭のよさそうな人と異様に頭の悪そうな人が同居してるスレはここですか
>>721 x86系で言うところのコールゲートみたいのを通過してるんじゃないの?
>>724 newlibにあわせたというよりは、えらい人達でシステムコールエミュレーションの
仕様を検討した結果、そうなったてな所じゃないんですかね。
そういうのはTRAPA使えよと思わなくもないですが。
>>727 h8300にはそんなものはない。
CPUに細工が施されて裏メモリにジャンプするんだと思う
そこでバンクメモリの登場ですよ
質問です TEST STRUC nurupo DW ? nullpo DD ? TEST ENDS hoge DD ? こんな感じで宣言した、TESTとhogeがあります。 nullpoをDDに転送する場合はどのようにすれば良いのでしょうか?
cで書いて、コンパイラがはいたアセンブラのコードを見る。
>>732 に賛成
アセンブラの勉強にはそれが一番手っ取り早い
>>733 えー?
コンパイラが吐くコードは癖があるから、あんまり良いお手本じゃないと思うが.
今の世の中、コードの大半はコンパイラの吐いてるコードだから、 コンパイラがどう吐くのか知っていたほうが実用という意味ならむしろ有用だけどね。
>>734 最適化切っておけば、そんなにひねくれたコードは出てこないと思うが。
手書きのコードを読めればいちばんいいんだけどねえ。
最適化切ったら素直すぎて読む意味がないと思うが。
アセンブラ言語の命令語教えてください。
beq
orz 100h
nop
Javaの案件を蹴ってアセンブラの世界へ飛び込まんとする俺は正解ですか? なんか他の言語の案件よりもレベルが一段と高いらしくて。。
CPUは?
>>744 アセンブラでの開発に関わるという事以外、殆ど何も解りません。
ちゃんとしらべた方がいいよ。ものによっては................
>>746 よろしければ良いものと悪いものについて簡単にご説明願えますか?
簡単に言えば、自分が出来るかどうか判断することだと。 アセンブラだけで決めるというのがよくわからないんですよ。 わからないから出来ませんとやってからいえるんっだんたらいいんだけど。
とりあえずニーモニック表見れ
>>748 ありがとうございます。
アセンブラと一言で言っても多種多様なんですね。
>>750 「ニーモニック表」ですね。
初めての事で解らないことだらけなので頑張ります。
そんな状態で仕事がうまくいくとは思えない、と釣られてみるテスト
>>751 アセンブラも所詮道具だから、その道具を使って何をする仕事なのかが問題。
勿論、CPUごと、環境ごとに違う道具が必要になるかもしれないからその点も要調査。
・・すみません、やはりJavaのフレームワークを使用した開発に進んだ方が無難に思えてきました。 スレ汚し失礼しました。
755 :
デフォルトの名無しさん :2006/04/17(月) 22:34:20
パチンコ&スロット解析用ソケット
メイン基盤上のチップLE2080,2280,4280のプログラムが
市販品のロムライターで読み込みできます。
確率や連チャンの仕組みが一目瞭然!
攻略法はあなた自身で見つける時代です。
http://www.3-you.com/
広告解析&アク禁用CGI
2chの規制用のプログラムとリストが
市販品のメモ帳で読み込みできます。
規制やアク禁の仕組みが一目瞭然!
広告はあなた自身で見つける時代です。
http://2ch.net
下のコードで mov ax,cs / mov ds,ax は 何をしているのでしょうか? 無くても動くみたいなのですが… ; nasm hello.asm -fbin -o hello.com org 100h section .text start: mov ax,cs mov ds,ax mov dx,hello mov ah,09h int 21h mov ax,4C00h int 21h section .data hello: db 'Hello World',13,10,'$' section .bss
ヒント COMファイルならcsとdsが同じだけど、EXEファイルだとそうじゃない
>>758 節子!それヒントちゃう!ずばりやないか!
760 :
758 :2006/04/19(水) 11:25:46
ヒント ヒントか答えか本人に言うまでわからない
>>760 なんだそのつまらない切り返し
お前にはがっかりだ。
なんでハンドアセンブラ死んでしまうん?
>>761 なんだと、おまいこそNOPしてたくせに
くやしかったら、答えをSTOREしろや
>762レベルは欲しかった
ショボ
ぶっちゃけx86しか知らない。
767 :
757 :2006/04/19(水) 19:37:07
>>758 有難うございます。なるほど。
今のところcomしかやったこと無いもので…精進します
アセンブリ言語始めたら'2ch'が16進数に見えて困っています 何か良い解決策はありませんか?
>768 バカジャネーノ?
>>768 他のアーキテクチャのアセンブリをやればいいんじゃないでしょうか。
それらの中には、例えば 0x2c を H'2C と表現するものや
X'2C' と表現するものがあります。
$2C &H2C 辺りも宜しく。
すげ〜古い教科書みつけた。「入門アセンブラ」佐藤義著オーム社出版。難しいけど丁寧だ。 これで初心者は勉強できるかためしてみる。
DEBUGタソ良いよDEBUGタソ(;´Д
exdeb最強だけどメモリ使いすぎかも。 今の環境ならむしろ超省メモリだけど。
OS自作入門に影響されてミニミニOSを作っています。 フロッピーのブートローダを書いてそれからミニミニOS を読み込んで画面に簡単なグラフィックを書くとこまででき ました。 いままでずっとアセンブラ(nasm)でやってきましたが、さすがに 面倒で・・・。関数はCで書きたいのですが、アセンブラで書いたOSと Cの関数をどうやってくっつけるのかがわかりません。 os.asm(ミニミニOS)+sub.c(Cで書いた関数)→os.bin として、つくりたいのです。コンパイラやリンカの知識がいる みたいですが・・・。
OSつくる方が簡単なのか
>>776 OS自作入門は途中からCを使い始めると思うのだが。
>>775 メモリいぱーいあるのに、640KBの壁に頭を悩ませる罠
その前に64kBの壁に
みんなデバッガ何使ってる? 僕は、olly dbg ちゃん!
symdeb
softice
VS2005でちょっと走らせるだけ
>>781 ollydbgをこれから使い始める俺です。日本語化パッチとかつくりたいっす。
逆アセンブルって面白そう。
NASMにするかMASM32にするか...CPUはアスロンとデュロンです。
>>786 これからはじめるのなら両方試して気が合いそうな方使っとけ。
#MASM32はアレ配布して大丈夫なんだろうか・・・
MASM32はMSが黙認・・・いやいや黙殺してるから。
・既存サンプルに頼るならMASM32 ・自力でごりごり行けるならNASM かな。 ・慣れれば応用範囲の広いgas ってのもあるけど、なんかこー。
ぐり氏のnasm日本語訳・・・ どこへ行っちゃったんだろう・・・
r86ってのもあったな
あれは単体で使う物なのか?
793 :
デフォルトの名無しさん :2006/04/25(火) 18:57:15
NASMは日本語の資料が少なすぎるんだよなぁ
>>792 ドキュメントもあったし、ちょっとだけ使ってた。
795 :
デフォルトの名無しさん :2006/04/26(水) 01:19:45
Java三年目の俺。 アルゴリズムを勉強したことがない。 CASLUって、アルゴリズムの勉強になりますか? ガーベッジコレクションの勉強にもなりますかね?
>>795 アルゴリズム勉強するのはJavaでもアセンブリでもどっちでも良いよ。
言語の知識とアルゴリズムの知識は別の物だから
ARM向けの資料はWeb上にないですか?
>797 dクス…7z形式なんて初めて見た。
>>798 登録すればなんかマニュアルが落とせたような。
ARM ARMは買わないとダメなんだっけ?
>>801 日本語版の一部がCQ出版の本のCDに入ってるけど、基本は購入だったかな。
英語版のPDFならチップ屋のサイトに転がってたような記憶が。
え、 ARM は日本語マニュアルあるでしょ? メアドくらいは必要だったかもしれんけど。
>>803 TRM(テクニカルリファレンス)はあるけど、
ARM(アーキテクチャリファレンス)はないよ。
今見てきたら、書籍版ARMは在庫一掃セールで割り引き中だって。
ちなみにARMはなぜか本家にも置いてない。
ARM ARM買えばいいじゃん。大した値段じゃないし。
英語版のARM ARMなら
>>802 の言うとおりPDFが転がってるね
日本語版は本家サイトの方で用意するそうだけど・・・
>尚、ARMアーキテクチャファレンスマニュアルv6は 販売はいたしません。
>PDF(CDR)を 上記のARM Forumで無料配布いたします。
>来年、マニュアルダウンロードに追加になる予定です。
まだされてないよね
808 :
デフォルトの名無しさん :2006/04/28(金) 07:22:26
809 :
デフォルトの名無しさん :2006/04/28(金) 11:25:51
世界最古のPC用表計算ソフト ビジカルク その後それにとって代わったIBMPCとその互換機用表計算ソフト ロータス1-2-3 これらはアセンブリ言語で書かれていたので、 C言語で書かれたマイクロソフトのエクセルの前身、 マルチプランを遥かにしのぐスピードで(5〜10倍速く)動作したと聞きます。 もっとも、当時のCコンパイラは最適化もろくになく糞だったとも聞きますが。 昔の人は神揃いですね。 アセンブリ言語のみでソフトウェア構築だなんて泡吹いてショック死しそうです。
アセンブラで超高速に動けば神なんて時代は終わったんだよ。 使いまわしずらくて可読性わりーし変更しづれーし 毎回ゼロからコーディングじゃ合理性なし
811 :
デフォルトの名無しさん :2006/04/28(金) 11:52:28
Excelの前身がMultiplanと言うのはあれだろ そもそもExcelはMac用のどっかのソフトを購入した物だし C言語だったからMac→Windowsへ移植が出来た
アセンブラで書くというのは、別に 「毎回ゼロからコーディング」 という事ではないよ。 マクロやライブラリを使うというのはC言語と同じ。 マクロを LD/ST レベルから共通化して可搬性があると思ってた時代もあるわけだし
>使いまわしずらくて可読性わりーし変更しづれーし この辺でお郷が知れる。 #「ずらく」て「づらい」のかよw
814 :
デフォルトの名無しさん :2006/04/28(金) 14:11:06
とりあえずFF3の飛空廷の超速スクロールは神だと思う俺は素人?
どんなコードなの? あるいはどんなテクニックなの?
>>815 sex day 2
push
pop
push
pop
push
pop
・
・
・
end sleep
6502にpush/popって
819 :
デフォルトの名無しさん :2006/04/28(金) 16:59:01
>>816 違うだろ
push
push
push
・
・
・
・
pop
pop
pop
pop
・
・
・
end sleep
マイクなんて知ったかのガキまともに相手すんなよ。 こいつニートで暇なんだから
お前が俺みたいなニートよりも下だったら悲しいな。
この板のコテの中でも最下層のマイクがwwwうぇwww
>マクロやライブラリを使うというのはC言語と同じ。 やっと一部分がCなんかと一緒のレベルですか・・・? >マクロを LD/ST レベルから共通化して可搬性があると思ってた時代もあるわけだし プログラムデータを外部化して必要に応じて切り替えられたら 凄い幸せな時代だね! アセンブラを称えてる奴は時代錯誤のジジイか勘違い初心者。 間違いない。
だからさ、
>>810 で書いてることは間違いだと教えてあげてるんじゃないか。
アセンブラは高速で動く事を目的に使うものじゃない。
コードを再利用して、変更しやすくするためにアセンブラを昔は使ったんだよ。
昔は使ったから ほう。だからそれで?
おまえの意見の前半はそもそも無意味な意見。 後半は全部否定された。 つまりはそういうこと。
まあ目糞鼻糞ってことわざもあるんだしお前ら仲良くしろ
全然論理立ててないのが笑える。 頭の整理もできてないんですね;)
アセンブラしかない環境なんて世の中にいっぱいある。 自分でトイコンパイラ一つ作る腕もないのに、一人前の顔して そういうレベルでの技術を習得してる人を煽ろうなんて・・・・まあ恥ずかしいとも思わないのだろうな。
831 :
デフォルトの名無しさん :2006/04/28(金) 22:09:32
まってて
どうしてそんな魔法みたいなことできるの?
834 :
・∀・)っ-○●◎ :2006/04/28(金) 22:57:02
VTとかの特殊命令群を叩こうと思ったらアセンブラ使わざるを得ないし ヘッダが用意されててIntrinsicが使えるSSE2までの利用にしても、 VC++の最適化はクソすぎてどこそこ無駄なコード吐くし。
ICC
836 :
デフォルトの名無しさん :2006/04/29(土) 01:47:47
マジで!?根拠を詳しく
ありがとう 拝見させて頂きます しかし、jpgで化けないとは驚き 一旦、jpgを開いたりしたら化けるのかな..
839 :
・∀・)っ-○●◎ :2006/04/29(土) 02:40:39
>>837 これ別にヤバイファイルでもないように見えるけど。
Wikiとかで公開すればいいのに
まさか社内業務目的で翻訳したとか?
wikiよりも簡単に開設できるという噂について
>>837 nasm-j, guri, nobu って3つのディレクトリがあるけど、
同じものの3種類の訳ってことだね?
nasm-j 機械翻訳
guri いい感じだけど、一部未訳
nobu メモ書き。読みづらい
842 :
デフォルトの名無しさん :2006/04/29(土) 15:01:15
843 :
デフォルトの名無しさん :2006/04/29(土) 15:31:09
ヒントだけでは分かりません
ググれ
グリグリすれ
ハ,,ハ ('(゚∀゚∩_ おいらをどこかのスレに送って! /ヽ 〈/\ お別れの時にはお土産を持たせてね! /| ̄ ̄ ̄|.\/ | .モツ煮..|/  ̄ ̄ ̄ 現在の所持品:たばこ・ライター・コーヒー・ブラックブラック・枕・ケータイ電話 睡眠薬・聖教新聞 ・ダッチワイフ・外付けSCSI340MHDD・ネットランナー4月号 TYG02・小嶋進社長・ゲルトモ・ディプスファンタジア・抵抗1kΩ(黄紫橙金)・媚薬 バーボン・リップクリーム・セガサターン・バールのような物・バイブ・50インチ液晶TV ボンカレー(甘口)・ジローラモ・エースヘルム・MAR全巻セット・切断済みの亀頭 東京タワーのミニチュアキーホルダー ・無償の愛・おっぱいプリン・イオナ・電話代の請求書・ウナコーワ NHKの請求書・かりんとう(黒糖)・新庄・コロッケそば・『森の生活』・ベルディ君・ミアキスタソ・(`〜´)・ 脱ぎたておパンティ・ロープ・ものみの塔・強力わかもと・おじいちゃん・夢と希望・田中 ガンプラ・わかめ・RPG7・拡散波動砲・アンサガ・Q4・クラナド・マブラヴオルタ うにゅー・地下帝国パスポート・タコ焼き・ムラマサ・トンプソントミーガン・リコーダー・食パン アニマトリックス・フォトショ・グラップラーバキ・電池・ピーナッツクリーム・GIジョー・スケボー・タン麺・(゚∀゚) マウス・ガスボンベ・・うまい棒・ネオジオポケット・アイロン・はしご・ところてん・デザインナイフ キーボード・シャア専用ザク・ダイナマイト・2dトラック・FORDマスタング・stikfas・DOOM・こんせん牛乳 おーいお茶・ポテトチップス・無修正アダルトDVD・ボールペン・目覚まし時計・チキンラーメン・ボブデビットソン 中村名人のサイン入りヨーヨー・18歳♀・ソナタアークティカのCD・エメラルドソード・トリさん
linux gcc でインライン汗といえば何使ってるの?
gasじゃね?
(` '´  ̄ ヽ |!|((从))〉 '(||"3"リ プーッ
NASMやNASMWを使おうとしたら no input file specified. type `nasm -h' for help と出て使えません。PATHの通し方や色々サイトを回って見ましたが どうやっても使えません。 OSはXPです。 どうかお願いします。
>>854 そのメッセージを見る限り、nasmは起動されているのだろうから後はきちんと
コマンドラインオプションを指定してやれば医院で内科医?
#そしてそのやり方はスレ違いになるので勝手に探してくれ。
その前に英語を勉強してこいと
アセンブラの魅力はウィルス作(ry
858 :
デフォルトの名無しさん :2006/05/06(土) 02:42:03
CVPACK.EXEって何に使うんですか? version 4.26.01 that shipped with Visual C++ 1.52.?
Linuxで使い易いアセンブラってなんだろ?
>>858 昔、MSのデバッガはCodeViewという名前だった。
で、確か、実行ファイルからデバッグ情報を取り除くツールが
そんな名前だったと思う。
違ったらごめんな。
862 :
デフォルトの名無しさん :2006/05/07(日) 23:01:55
mov.b03E5H, R1H; ポート3読み込み xor.b#11111111B, R1H; トグルSWデータ反転 and.b#07H,R1H ; XOR.b#0FFH, R1H add.b#01H,R1H SHA.bR1H,400H; 右算術シフト ; mov.b400H, R1H; 演算結果データ読み込み xor.b#11111111B, R1H; 演算結果データ反転 mov.bR1H, 03EDH; LEDに表示(port7)
863 :
デフォルトの名無しさん :2006/05/10(水) 08:54:11
初心者です。
下記アセンブラを適用したいのです。
よろしくお願いします。
0054E547 68 88675800 PUSH sbautoup.00586788 ; ASCII "REGISTER"
0054E54C 8B4D F0 MOV ECX,DWORD PTR SS ;[EBP-10]
0054E54F 51 PUSH ECX ; sbautoup.0058D094
0054E550 E8 5B850100 CALL sbautoup.00566AB0
0054E555 83C4 08 ADD ESP,8
0054E558 85C0 TEST EAX,EAX
0054E55A 75 20 JNZ SHORT sbautoup.0054E57C
0054E55C C705 A4D15800 010000>MOV DWORD PTR DS ;[58D1A4],1
0054E566 8B55 F8 MOV EDX,DWORD PTR SS ;[EBP-8]
0054E569 52 PUSH EDX
0054E56A 68 7CCE5800 PUSH sbautoup.0058CE7C
0054E56F E8 BC2D0100 CALL sbautoup.00561330
0054E574 83C4 08 ADD ESP,8
0054E577 E9 77010000 JMP sbautoup.0054E6F3
http://sar.x-eye.net/zat/index.php#1461
>>863 がとてつもなく臭いんだが、どうしたものか。
アドレス書いてあるのに 見つけられないのは無能の極みだと思うが
866 :
デフォルトの名無しさん :2006/05/10(水) 13:02:30
865>> 初心者です。 アドレスの見つけ方を教えてください。
867 :
デフォルトの名無しさん :2006/05/10(水) 13:38:13
http://sar.x-eye.net/zat/index.php#1461 更新されました。
addressが替わりました?
------------------------------------------------------------
00687547 |> 68 88F76B00 PUSH spywareb.006BF788 ; ASCII "REGISTER"
0068754C |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
0068754F |. 51 PUSH ECX
00687550 |. E8 5B850100 CALL spywareb.0069FAB0
00687555 |. 83C4 08 ADD ESP,8
00687558 |. 85C0 TEST EAX,EAX
0068755A |. 75 20 JNZ SHORT spywareb.0068757C
0068755C |. C705 A4616C00 >MOV DWORD PTR DS:[6C61A4],1
00687566 |. 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00687569 |. 52 PUSH EDX
0068756A |. 68 7C5E6C00 PUSH spywareb.006C5E7C
0068756F |. E8 BC2D0100 CALL spywareb.0069A330
00687574 |. 83C4 08 ADD ESP,8
00687577 |. E9 77010000 JMP spywareb.006876F3
0068755A |. 75 20 いじったけど エラーで停止
CRCチェックが入っているのかな?
>>866 どうでもいいが、それ改変していいやつか?
869 :
デフォルトの名無しさん :2006/05/10(水) 13:54:40
868>> 個人で使用するので、問題ないです。
871 :
デフォルトの名無しさん :2006/05/10(水) 17:12:29
>>867 これを解析→exepatchを作成するtoolを教えてください。
死ね→shine→シャイン→輝け!
875 :
デフォルトの名無しさん :2006/05/10(水) 21:21:33
>CRCチェックが入っているのかな? テキトーに答えるけど、そういうときはオンメモリでパッチを適用すると良いよ。 グローバルフック等で侵入して、対象のコード領域をVirtualホゲホゲ系 API で 書き込み可能にして、メモリを書き換える。
2文字の数字を入力して、その和を表示ってどうやんの? 桁上がりの表示などで手詰まり。ちなみにCP/M使用。
最大2桁固定でいいのなら、9以下と10以上の二通り作れば? 俺が教師ならハネるが。
>>877 Z80ほとんど忘れてたからニモニック表探しちまったぜ。
こんな感じでどうだ? ていうか、なんで今時CP/M?
org 100h
start: ld c, 1
call 5
sub 30h
push af
ld c, 1
call 5
sub 30h
pop bc
add a, b
daa
push af
and 0F0h
ld hl, ans
jr z, skp1
ld a, 31h
ld (hl), a
skp1: inc hl
pop af
and 0Fh
add a, 30h
ld (hl), a
ld c, 9
ld de, str
jp 5
str: db 0Dh, 0Ah
ans: db ' 0', 0Dh, 0Ah, '$'
end start
俗に言うシェルコードなんですが、 mov %al, 0x7(%esi) の部分で何をやっているのか分かりません。 0を格納しているのは分かるのですが・・・
>>881 この部分だけ見て0を格納しているのが分かるとは!
君はスーパーハカーだな!
すみません。全部張ります。 .globl main main: jmp L2 EX: popl %esi movl %esi, 0x8(%esi) xorl %eax, %eax movb %al, 0x7(%esi) movl %eax, 0xc(%esi) movb $0xb, %al movl %esi, %ebx leal 0x8(%esi), %ecx leal 0xc(%esi), %edx int $0x80 CA: call L1 .string "/bin/sh"
gas表記は知らないが MOV BYTE PTR DS:[ESI+7], AL こんな感じじゃないか?
>>883 自分も学習途中ですが・・・
これ↓が分かって、
movl %eax, 0xc(%esi)
これ↓が分からない?
movb %al, 0x7(%esi)
ということは、これ↓がeaxをゼロにしていることが分からないってことかな?
xorl %eax, %eax
887 :
883 :2006/05/16(火) 19:29:35
なぜそこに0を格納するのかが分からないです。 あとはソフトウェア割り込みと言うか、execveの システムコールなので分かります。 あと上のL2→CA、L1→EXです。
>887 教えてクンか貴様はw .string "/bin/sh" の最後にヌル文字付加してるように見えるが。 gasの表記は知らんが、"/bin/sh\0"とかで代用できんジャネーノ?
>>887 esi + 8からの4バイトを0にしているってのは理解している?
そのesi + 8をecxにいれてからint掛けているのは理解している?
ぐぐれば解説してるとこがすぐ見つかるやん・・・
>>887 888 が言っているように、/bin/sh の後には 0 が必要。
しかしシェルコードなので 0 は使えない。
よって xor eax, eax して作った 0 を、必要なトコに書き込んでいる。
893 :
883 :2006/05/16(火) 22:47:16
皆さん、答えてくれてサンクスです。 最初はダブルクオートで囲んでるが、ヌル文字は含まれてないのか とか考えてたけど、そういう問題じゃないのね。 シェルコードなのにソースを貼ってしまったので、混乱と誤解を招きました。 ありがとうございました。
教えてクン養成マニュアル
ttp://www.redout.net/data/osietekun.html 1. 努力を放棄すること
デバッガでトレースする等の努力をしていない。
2. 情報を開示しないこと
初出は「mov %al, 0x7(%esi)」の一行のみ。
その後もラベル名の隠蔽工作等。
3. 答える人間のことを考えないこと
そんな事は解りますとばかりに「なぜそこに0を格納するのかが分からないです」発言。
後は、
「何をやっているのか分かりません」
↓
「何をやっているのかさっぱり分かりません」
それと893のお礼が無ければ完璧、100点だよ。
「シェルコードだ」「ゼロを格納している」とポイントだけは
最初から書かれてるんだから、答えるクン側も
>>892 程度の
答えは即レスするべき。
ってのはともかくとして、shellcode zero をググッて出てくる
3番目のページにもっとhackっぽいやり方があった。
xorl %eax,%eax
pushl %eax
pushl $0x68732f2f
pushl $0x6e69622f
movl %esp, %ebx
pushl %eax
pushl %ebx
movl %esp, %ecx
xorl %edx, %edx
movb $0xb, %eax
int $0x80"
スタック上に "/bin/sh\0" を push してる。
板違いだ失せろ
なぜ半年か、一年そこそこでスレの空気が様変わりしますか?
機械翻訳っぽいのは何故
アセンブラはアセンブラなのだよ。 まあ君には理解できないかもしれないがね。
よぉバカマイク 氏ね
最近団子がのさばってきたおかげでマイクの存在感が薄くなってきたな。
906 :
・∀・)っ-○●◎ :2006/05/20(土) 23:56:17
まぁマイクみたいな無能なアホはどうしようもないよな。
スリムナンとかは何処逝ったんだ
本当に程度が低いな(笑
レス番号飛びすぎ いい加減にしてくれ
910 :
デフォルトの名無しさん :2006/05/21(日) 22:08:10
すいませんちょっと聞きたいんすけど、 dllを解析したらそれに埋め込まれてる自作関数の戻り値や 引数なんかもわかりますか?
うん
>>910 ヒント:Dependency Walker
サンクス!! おまいら優しいな。・゚・(ノД`)・゚・。
914 :
・∀・)っ-○●◎ :2006/05/21(日) 22:19:09
三行で言うよ。ヒントはエクスポートテーブル。 あと、他の(C/C++以外の)言語から使うこと想定したDLLなら大概__stdcall規約だから。 あとはわかるよね?
caslのシフト使った乗算やっとできたぜ。
extern "C"のついてないC++の関数なら修飾名デコードするだけで引数も戻り値も一発。 そうでないときはまあ、逆アセ読めば
C++のManglingは戻り値なかったような気がするが。
918 :
VIPPER :2006/05/22(月) 12:19:04
おまえらアセンブラ使って何してんの? ネトゲのチートでもしてんの? 俺にもおしえてくれおー
919 :
デフォルトの名無しさん :2006/05/22(月) 12:59:23
>>918 普通にプログラム書くだけだがそれがどうした?
強いてあげれば高級言語だと効率の悪そうな所だけって事が多いがな
921 :
デフォルトの名無しさん :2006/05/22(月) 14:14:32
>>920 何のどういう動作をするチートだよ
市販ソフトはこっちで解析してチート作ると犯罪になるからやらねえよ
規約違反て犯罪?
民事だけでなく刑事犯になるかという意味? 単に解析するだけなら刑事犯にはならないけど、 解析結果を誰かが利用しちゃうと 不正競争防止法違反の共犯になるだろうね
共謀罪が成立すると、不正競争防止法違反の準備罪として捕まるという可能性は?
糞vipperなんかのためにわざわざ手間暇かけてグレーゾーンな事する必要もあるまい。
ここは犯罪者の巣窟ですね? ;-)
(゚Д゚)ハァ?
現在の法案は修正提出されて >五年を超える懲役又は禁錮の刑が定められている罪 だから 不正競争防止法違反は最大5年以下の懲役 で、共謀罪にはならないかもしれない。 なお、現在の状態は、 共謀罪、今国会での成立目指す姿勢 杉浦法相 2006年05月20日22時05分 再修正案なければ共謀罪「採決を」 杉浦法相 2006年05月23日11時36分
今ちょうど共謀罪の対象を「五年以上」にするか「五年を超える」にするかでもめてなかったか? 決着ついたのか?
第3者がセキュリティFixパッチ作っても逮捕かよ・・・
さらにセキュリティに穴があるアプリを作った方も逮捕かもな
一般保護例外も罪になるのか 意図に反する動作をさせる不正な指令がなくなりません。
つまりバグがあるプログラムを書いただけでタイーホと
「バグじゃありません。仕様です」
作成罪は3年以下だから 共謀罪は成立しないのか・・・・
作成罪の共謀罪が成立したら
>>920 も逮捕だな
>>930 人の使用するだから自分で望んで突っ込んだ場合は別にエエ様な気がする。
ここでは、ウイルスやらな希ガス。
-arch=SSE付をi386バイナリと取り違えてリリースしたら逮捕か・・・
>>937 この罪は作成罪。 作成だけでなく未遂段階で犯罪。
だから、自分が使うだけという言い訳は使えない
(不正指令電磁的記録作成等)
第 百六十八条の二
人の電子計算機における実行の用に供する目的で、 次に掲げる電磁的記録その他の記録を作成し
、又は提供した者は、三年以下の懲役又は五十万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、
又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか、同号の不正な指令を記述した電磁的記録その他の記録
2 前項第一号に掲げる電磁的記録を人の電子計算機における実行の用に供した者も、同項と同様とする。
3 前項の罪の未遂は、罰する。
つまりあれだ。 他人から「1から10までの数の和を求めるプログラム」を作ってくれと言われて、 int sum = 0; for (int i = 1; i < 10; i++) sum+=i; printf("%d\n", sum); てなプログラムを作成した時点で「不正指令電磁的記録作成等の罪」ですよ。 しかも「罰する」ときたもんだ。
>940 それでいい。 そんな馬鹿は罰せられていい。
バグだらけの某OSで使われ誤動作しても、向こうは仕様だからこっちが犯罪者だな
しかも未遂でも…
>>941 いや、でも「未遂」でも罰するってのは・・・
まぁ不動産屋みたいにソフトハウス等も
「ただし実際の動作と仕様書が違っていた場合は、実際の動作を優先します」
としなきゃダメだってことか。それで契約してくれるお客さんいるかな。
そんなことより藻前ら、そろそろ次スレのタイトルを決めませんか?
アセンブラ… ヽ(・∀ ・)ノ<バーカ
一般の詐欺罪と同様に、 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、 又はその意図に反する動作をさせるべき不正な指令を与える「ことを目的として」 と故意であることを条件にするべきだよな。
民主党は対案で (1)不正指令電磁的記録作成等(第168 条の2、第168 条の3 関係)について、正当な開発行為等 には適用されないことを明確にする。作成等罪の法定刑を不正アクセス罪の法定刑と同様にする。 これに伴い、取得等罪の法定刑も改める。 ということで、 「正当な理由がないのに、」 の文言追加を求めているね。 正当な理由というものまた曖昧な話だけれども、↑にあるような故意性だけだと脆弱性の検証PGを 作るのはやはり犯罪になってしまうから、このあたりが妥当なのか・・・
華麗に950をGetして、次スレを立てずに寝る俺様カコイイ!! ↓次スレよろ
↑いいからお前が次スレ作れよ
↑ アッー! ↓
955 :
デフォルトの名無しさん :2006/05/24(水) 04:57:25
フォーウ!君は病気なんだ!
956 :
デフォルトの名無しさん :2006/05/24(水) 10:36:18
>>948 K安<故意であることを入れたらWinny作者みたいな奴(意図していない結果と主張)を挙げられないじゃないか
プログラムが著作物なら 『表現の自由』 がある筈だが・・・・検閲そのものだな というか、書いただけで逮捕って・・・・
ま、金さえ動けば公安だろうが警察だろうが政治だろうが しっぽ降って動きまくるさ
んじゃま、適当に埋めっか
nop
mov ax, ax
jmp $+2
UD2
埋めてほしいそうなので
ASCIIで表現可能な文字列だけを使って実用性のあるソフトを作るのって難しいね。 comファイルなら可能だけど。
ASCII文字だけでBASE64デコーダが書けるならあとはなんでもヤリ放題じゃね? できるかどうかはしらんが。
そんなことはない ローダーは必要
実用的かどうかはともかく 有名どころではこんなの X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* comだけど
969 :
デフォルトの名無しさん :2006/05/25(木) 23:17:55
ume
>>968 エディタで「a.com」でセーブした瞬間にアンチウィルスソフトが
検出してしまい、エディタ本体のexeファイルが隔離されました orz...
EICARなんぞ貼るなよ...
>968 それ実用以前の話だと思うが・・・
なかなか豪快なアンチウィルスソフトだな。 まぁ、検出されないよりはマシだろう。
975 :
970 :2006/05/26(金) 22:40:03
確認したら、隔離されたのはセーブしようとしたcomファイルだけでした orz... NOD32って、赤くてギラギラするのでドキドキします
ノシ 似たようなのがどっかのスレにあがってたな
com2txt
debugコマンドで標準入力リダイレクトしてexe作るとか shやbatで実行するとプログラムが作られるとか そういうのはここの流れ的にOK?
>>976 xdawinで逆汗したけど全部未定義命令として検出された。
とりあえず後20回ほどnopかxor eax,eaxで埋めてみようか。
nop
nop
のp
ハンド逆汗
手逆汗 面倒。
jmp 988
脳内コンパイル
0x90 # nop
>>968 って、末尾に一バイト追加しただけでウイルスチェックに引っかからないね。なんか、こんなふざけたスキャンソフトなんかいらねって感じ
mov r0, r0
jmp $
HLT
WAIT
int 02h
int 2ch
hlt
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。