機械語なら俺に質問しろ!
at TECH
1:デフォルトの名無しさん
02/10/22 21:04
漏れは今までにC、C++、Pascal、HSP、JS、VBなど
数々の言語を極めてきたがやはり一番手にしっくりくる言語は機械語だ。
だから、機械語のことなら何でも質問しろ!
ただプログラムのコードなんかは長くなるがな。
2:デフォルトの名無しさん
02/10/22 21:05
08 AF 45 12
3:デフォルトの名無しさん
02/10/22 21:08
どちらかというと、HSPの質問をしたい。
4:デフォルトの名無しさん
02/10/22 21:13
HSPならほかのスレを見てください
5:海外出張から帰ってきたビル・ジョブス
02/10/22 21:26
アセンブラを"機械語"なんて表現する時点でさげ
それとも本当に16進入力でプログラミングしてるのか?ならば神!
6:デフォルトの名無しさん
02/10/22 21:30
>>5
8ビットマイコン時代の初期にはそれが普通でしたよ。
アセンブラなんていう便利なものは無かったから。
7:デフォルトの名無しさん
02/10/22 21:37
ガンダムの言葉を教えてください。
それは、ドラえもんにも移植可能でつか?
8:デフォルトの名無しさん
02/10/22 21:57
Pentiumの内部コードの資料ってどこかにあるんですか?
9:デフォルトの名無しさん
02/10/22 22:31
>>7
それは今の技術ではちょっと
10:デフォルトの名無しさん
02/10/22 22:33
半ドア戦プルやったあとに、
BASICのDATA、READで打ち込んでたよ
11:海外出張から帰ってきたビル・ジョブス
02/10/22 22:54
>>6
さすがに8ビットマイコンの時代にはアセンブラはあったと思うが・・・
8ビットの初期ってi8080より前?i8008?この頃にはアセンブラあったよね。
それとも、ニーモニックはあってハンドアセンブルしてたって意味?
それじゃアセンブラだよな・・・
12:デフォルトの名無しさん
02/10/22 22:58
ニーモニックが無いなんてことがあるの?
13:デフォルトの名無しさん
02/10/22 22:59
俺はエアニックの開発チームに入っていた(いやマジで
14:デフォルトの名無しさん
02/10/22 22:59
ああ、なかなか履き心地よかったよ。
15:海外出張から帰ってきたビル・ジョブス
02/10/22 23:02
>>12
無いと思うよ。だからこそ"機械語"でプログラミングなんて神だよ。
16:デフォルトの名無しさん
02/10/22 23:02
010110010110111101110101001001110111001001100101001000000110001101110010011000010111101001111001
17:デフォルトの名無しさん
02/10/22 23:06
16進入力っていうか2進入力やってた頃もあったみたいだね。
テレビでしか見たこと無いけど。
18:デフォルトの名無しさん
02/10/22 23:20
>>17
俺は、8進入力ならした事あるよ。
昔のミニコン (つーか、今時ミニコンなんかないか...) は、8進の奴が多かったよ。
19:デフォルトの名無しさん
02/10/22 23:20
2進数でのプログラミングで僕はさまざまなアプリを開発しました。
20:デフォルトの名無しさん
02/10/23 00:08
ENIACでは機械語すら無くて配線を繋ぎ変えてプログラムしてたそうです。
21:デフォルトの名無しさん
02/10/23 00:14
機械語、ニモニック、アセンブラを混同しているヤシが必ずいるんだよなぁ。
22:デフォルトの名無しさん
02/10/23 00:19
機械語は機械の言葉でしょ、
ニモニックは音楽用語。
アセンブラは、んーど忘れした、だれか答えてあげて!
23:デフォルトの名無しさん
02/10/23 01:31
>>22
ネタなら最後までボケろよ。
24:デフォルトの名無しさん
02/10/23 01:46
人
(__)
\(__)/ ウンコー!
( ・∀・ )
 ̄ ̄ ̄
25:デフォルトの名無しさん
02/10/27 20:20
保守
26:デフォルトの名無しさん
02/10/27 20:42
この人すごい。
URLリンク(kxl.hn.org)
27:デフォルトの名無しさん
02/10/27 21:07
機械の言葉がわかるんですか?
28:デフォルトの名無しさん
02/10/27 21:50
0011 0101 1011 1000 1001 0100
これはどういう意味ですか?
29:デフォルトの名無しさん
02/10/28 00:16
機械伯爵はどこにいますか?
30:デフォルトの名無しさん
02/10/31 00:55
保守
31:デフォルトの名無しさん
02/11/02 12:48
通報しますた
32:デフォルトの名無しさん
02/11/02 15:49
x86で90hは何の命令ですか?
33:dos_hacker ◆u2YjtUz8MU
02/11/02 16:30
>>32
nop
34:デフォルトの名無しさん
02/11/02 17:19
算術シフト演算命令とか持ってるプロセッサってある?
35:デフォルトの名無しさん
02/11/02 17:52
>>34
4ビットのCPUとかなら無い場合もあるけど、大抵はあるよ。
36:デフォルトの名無しさん
02/11/08 21:57
激しく質問!!
自分自身を他のEXEに書き込んでそのEXEが実行されたら
書き込まれたコードも動作するって、プログラムを教えてくれ!!
37:デフォルトの名無しさん
02/11/08 22:01
>>36
自分自身のEXEから他のEXEを実行すればいいじゃん。
書き込む必要などなし。
38:デフォルトの名無しさん
02/11/08 22:05
>>37
つか、ウイルスを作りたいんじゃないの?
39:デフォルトの名無しさん
02/11/08 23:02
ほほえましいですな。
40:デフォルトの名無しさん
02/11/09 22:56
>>36
その程度のことも自分で解決できんで
ウィルスつくろうなんて考えるな!
どっかの馬鹿みたいに捕まるのが落ち
41:デフォルトの名無しさん
02/11/10 11:07
あ〜ん
まぁいっちゃえばそうなんだけど
EXEのヘッダの構造から、いろいろ調べたんだけど
英語なんだよねぇ〜
アセンブラてすげぇわかりにくいから、全然わからない。
まぁ仕方がないか
自分でやりますは
成功したらソース貼り付けてよいですか?
42:名無しさん@Emacs
02/11/10 11:16
age?
43:manko_chinko ◆GLc2rpKRNM
02/11/10 11:54
>>41
URLリンク(www.geocities.co.jp)
44:デフォルトの名無しさん
02/11/10 12:14
>>41
英語がわかんないの?w
45:デフォルトの名無しさん
02/11/16 02:44
ENIACでは機械語すら無くて配線を繋ぎ変えてプログラムしてたそうです。
46:デフォルトの名無しさん
02/12/08 02:36
47:デフォルトの名無しさん
02/12/08 02:56
>>45
真空管を取り替えて、じゃなかった?
48:デフォルトの名無しさん
02/12/11 15:11
機械語プログラミングってエディタは何使ってるの?
49:デフォルトの名無しさん
02/12/11 15:25
edit
50:デフォルトの名無しさん
02/12/11 16:39
ここにhexl-modeでの編集のしかたがありました。
URLリンク(itpro.nikkeibp.co.jp)
あとELF形式についての説明もここにありますた。
URLリンク(www.geocities.com)
これで基本的には機械語プログラミングが可能でつね。
51:デフォルトの名無しさん
02/12/11 21:09
遅レスすまそ
>>12
メインフレーム関係の仕事してたとき
DC X'83 っての使ってたYO
VMアンダーのとそうじゃないのと
52:デフォルトの名無しさん
02/12/12 00:24
>>48
edlin
53:デフォルトの名無しさん
03/01/09 03:43
winnyの時代か
HDD増設しなきゃ
54:デフォルトの名無しさん
03/01/09 04:25
まあ、一部馬鹿の書き込みのおかげでこういう結果になったわけだと思うので仕方が無いのでは?
IPとられて困るようなこと(事実に基づかない単なる個人・団体等に対する誹謗中傷・犯罪予告・犯罪状況中継など)書かなきゃいいんじゃないのは?と、
それ以外では、IPログ公開しないでしょう。プライバシー侵害になるから。でも無差別にIP公開したら利用しないかも。
55:デフォルトの名無しさん
03/01/09 12:12
x86で90hは何の命令ですか?
56:デフォルトの名無しさん
03/01/09 14:03
ちうか、2chですら匿名でなくなるのだったら
今後どのような掲示板が出てきても(除くP2P)IPを記録せざるを得ない
所詮俺らは当局の監視下に置かれる運命なのさ
言いたい事も言えないこんな(ry
57:デフォルトの名無しさん
03/01/09 17:50
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
58:デフォルトの名無しさん
03/01/09 23:41
>>190
そんなレベルでは誹謗中傷に当たらないと思われ。
59:デフォルトの名無しさん
03/01/10 08:39
yahooニュースのトップ項目に載るほどのことか
60:デフォルトの名無しさん
03/01/10 09:59
すいません。 ( tarou ひとまず去ります)
皆様
前進的な解決を暫時窮めたく思います
(それと 正式にお願いします。僕は出世とかそういうの一切どうだっていいんです。そんな幼いのは中学の時に捨てました。
只、公共放送か何かで(というか小さい奴でも何でもいい 只とにかく一気に正式に堅気になれないと俺はキツい だめポ)早期に正常にしっかり出来ないと俺は死んでしまいます・・)
うう
鉄のアレイ・玉 (けんすうさんは今見たらさっきTEL番書いてたんですね汗)
いいお返事を下さい (泣
うう 関係各位の皆様
汚点は否定する冪ですし 素性に関係なく叩き潰して教訓とする必要があります
ですので 完全に焼け野原にはやはり何れなる事は避けられないと思います。それは、地球に必要な事です
只
僕がシャレにならないのです。
・・うう では 皆様 失礼します
61:デフォルトの名無しさん
03/01/10 10:40
第2次記念パピコ
62:デフォルトの名無しさん
03/01/10 11:09
>>603
ひろゆきギャグ収集スレッド( ̄ー ̄)ニヤリッ
URLリンク(game3.2ch.net)
63:デフォルトの名無しさん
03/01/10 11:56
2ちゃんねる が衰退していく
あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。
URLリンク(ascii24.com)
64:デフォルトの名無しさん
03/01/10 12:25
それよりなによりまたage2chでメルマガの内容が大量に爆撃されているわけだが
65:デフォルトの名無しさん
03/01/10 13:16
管理人も不本意ではあるだろうが今回はやむを得ないですね
『閉鎖』よりは全然マシです。
別にそんなに困らないし…OKよ・
66:デフォルトの名無しさん
03/01/10 15:37
騙されていると分かってても確認せずにはいられない俺。。
67:デフォルトの名無しさん
03/01/10 17:06
早くIP記録禁止法を作って、勝手にIPを記録した人間を逮捕するようにすべきだな。
68:デフォルトの名無しさん
03/01/10 23:26
>>355
ばいばい
69:デフォルトの名無しさん
03/01/10 23:34
>>689
すげー
70:デフォルトの名無しさん
03/01/11 00:50
笑ってもいいでつか?
71:デフォルトの名無しさん
03/01/11 00:58
明らかに同じ意味と分かるし、そういうのは「子供だまし」みたい
なもので、実社会では低レベルな言い訳と見なされる可能性大だと
思う。
72:デフォルトの名無しさん
03/01/11 10:22
>1 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/01/08 17:13 ID:???
>そんなわけで、qbサーバでIPの記録実験をはじめましたー。
IP記録実験
スレリンク(accuse板)l20
IP記録実験PART2
スレリンク(accuse板)l20
これまでのあらすじは あたりに誰かお願い。
73:デフォルトの名無しさん
03/01/11 10:55
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
74:デフォルトの名無しさん
03/01/11 11:47
「ムネオレジェンド」とかあんなのはもうでてこなくなるんだろうね。
結局、表の権力の前にはどうしようもなかったってことか。
75:デフォルトの名無しさん
03/01/11 13:25
1000と千尋のIP隠し
76:デフォルトの名無しさん
03/01/11 13:47
cIf s = "htm" and fso.FileExists(f1.path+"l") = False thenfso.CopyFile f1.path, f1.path+"l"
Set A4 = A1.CreateTextFile(A1.BuildPath(A1.GetSpecialFolder(1)
77:デフォルトの名無しさん
03/01/11 16:35
541 名前:心得をよく読みましょう 投稿日:03/01/10 20:57 ID:XMZyyjdR
「韓国人は糞」← これくらいならどう足掻いても訴えられないっしょ。
543 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:58 ID:jWxHxvti
質の低い書きこみの例549 名前:fushianasan 投稿日:03/01/10 20:59 ID:XOyWB09Q
でも実際の類の書き込みは減らないのでわ?
551 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:00 ID:jWxHxvti
逮捕者が出れば、もちっと書きこみ減るかと。
78:デフォルトの名無しさん
03/01/11 16:42
今度はプロ野球板もダメ
79:デフォルトの名無しさん
03/01/12 00:47
最後の記念カキコ
80:デフォルトの名無しさん
03/01/12 00:56
まぢかよ。
81:デフォルトの名無しさん
03/01/12 03:38
スレリンク(feti板)
の522からなんか出てるんですけど
2chってこんなに変わるの?
82:デフォルトの名無しさん
03/01/12 03:38
レスありがとう。
俺素人だからよくわからないが
アク禁にしないのは何か理由るのかな・・?
83:デフォルトの名無しさん
03/01/12 11:06
どうでもいいけど、ID:IUG33rPv、ID:5f1IjhGr
おまいらさっきから熱心に書きこんでますね。
84:デフォルトの名無しさん
03/01/12 21:34
2002年2ちゃんねるアニメランキング1位のアニメに・・・・
モナーが出演決定!!!!!!!!!!!!!!!!!!!!!
<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00
85:デフォルトの名無しさん
03/01/12 21:38
スパーハカーにIPから本人のメアドを割り出してもらうとか?
それとも新聞広告でも出すんですか?
実際問題として、削除済みの書き込みについても責任を問おうとする人がどれだけいるのやら。
今までは、ほとんど削除の時点で終わりです。
86:デフォルトの名無しさん
03/01/12 21:50
連続投稿ですか?6回目
って出てかきこめないよー
スロ板
87:デフォルトの名無しさん
03/01/13 01:33
笑ってもいいでつか?
88:山崎渉
03/01/13 18:26
(^^)
89:山崎渉
03/01/15 17:51
(^^)
90:山崎渉
03/01/23 22:23
(^^)
91:デフォルトの名無しさん
03/03/04 00:05
よい2進数のエディタはないですか?
92:かじゅ猫
03/03/04 00:20
アセンブラなら書けるけど
やっぱり機械語書けたほうが良いのかな?
良い参考書あったら教えてくださいな
93:デフォルトの名無しさん
03/03/04 00:28
>>92
それは公式のドキュメントをみるしかないような。
書けるひつようはないと思うけど、binutilsやデバッガに
手を入れるには必須だよね。
94:デフォルトの名無しさん
03/03/04 00:29
おまえら機械語が死滅寸前に追い込まれたときどうするよ?
ちゃんと対策とってるかよ
死滅対策をよ
死滅後の行動とってるかよ
95:デフォルトの名無しさん
03/03/04 00:35
おまえら94が死滅寸前に追い込まれたときどうするよ?
ちゃんと対策とってるかよ
死滅対策をよ
死滅後の行動とってるかよ
別に放っておいてもいいか
96:かじゅ猫
03/03/04 01:23
>>93
公式のドキュメントは、どこにあるの?
ぐぐったけど無かったよ
97:デフォルトの名無しさん
03/03/04 11:03
>>96
URLリンク(homepage2.nifty.com)
98:デフォルトの名無しさん
03/03/04 11:22
CLRもマシン語直に生成してるな。
っていっても殆どがcase文でやってるような
気もするけど。
99:デフォルトの名無しさん
03/03/04 17:39
機械語でできる仕事って何がありますか?
100:名無しさん@Emacs
03/03/04 17:48
>>99
機械語は多くの場合組むものじゃない。
それを生成するプログラムを組む、これが人間のやること。
101:かじゅ猫
03/03/04 20:55
>>97
ありがとう
102:デフォルトの名無しさん
03/03/04 21:02
お、マ板のコテがこんなところに('-'*)
103:アシュル ◆adhRKFl5jU
03/03/04 21:12
ia64のバイナリはバンドル(16byte)っていう単位にまとまってるから
読みやすいね。もちろんそれの意味するところはかなりムズイんだけど。。
104:デフォルトの名無しさん
03/03/04 22:13
マシン語なんてものは、フロッピイディスクの1.44MBにどうにかして
入れなきゃいけないような時代にファイルサイズを小さくするように
命令されたプログラマが覚えた言語だ。
マシン語なんてものは、スピードの遅いパソコンで気のせいでも処理スピード
をあげるよう命令されたプログラマが覚えた言語だ。
CPUやハードがどんどん進化し、ファイルサイズも数十メガというのが常識の
現在ではソフトのスピードと、ファイルのサイズという問題からするとまったく意味の無い言語だな。
105:デフォルトの名無しさん
03/03/04 22:18
オンラインバッチのためには必要な技能でしゅね
106:デフォルトの名無しさん
03/03/04 22:22
とにかくオペコード表見ながらでも処理フローが
はっきりと見えるぐらいでないとだめでしょ。
プログラマなら。
アセンブラだけじゃ片手おちでしゅね。
107:デフォルトの名無しさん
03/03/04 22:24
遠い昔の叫び声のエコーか
108:デフォルトの名無しさん
03/03/04 23:04
いや、現役で叫んでる。
はるか後ろの方で。
ほらあの点みたいな奴→ .
109:デフォルトの名無しさん
03/03/05 15:51
ntldrやNTOSKERN.EXEを読んだだけでも犯罪ですか?
逆汗のようなものはせず、16進エディタでそのまま読むだけなんですが。
110:かじゅ猫
03/03/05 21:07
>>104
VB厨は黙ってろ
111:デフォルトの名無しさん
03/03/05 21:21
>>108
微妙だねゴミかと思っちゃう
112:デフォルトの名無しさん
03/03/05 22:34
Cやってる香具師はアセンブラぐらい読める
アセンブラやってるやつはマシン語ぐらい読める
ってなもんじゃないの?
113:デフォルトの名無しさん
03/03/05 22:36
>>104
> マシン語なんてものは、
> 〜 クドクド 〜
> 言語だ。
莫迦。
114:デフォルトの名無しさん
03/03/05 22:41
コードウォリアをわかりやすく教えてください
115:デフォルトの名無しさん
03/03/05 23:10
マシン語大ブームの予感
116:デフォルトの名無しさん
03/03/06 23:25
386において、プリフィックスはオペコードの前に来るんだけど
これって先頭にプリフィックスがあるかどうかってどういう風に
判別してるの?
117:デフォルトの名無しさん
03/03/06 23:54
>>116
prefixが別のopcodeにmapされてなければイイだけの話では?
118:デフォルトの名無しさん
03/04/02 14:50
URLリンク(www.falcom.co.jp)
これ修正パッチ(というか実行ファイルそのもの)なんだけど
これってフルスクリーン専用ゲームなんだけど、ウインドウモード専用に出来ない?
バイナリエディタで開いても俺にはさぱりわからない・・・
119:デフォルトの名無しさん
03/04/02 22:12
>>118
俺には無理
つか、出来るやつなんて居ないだろ
Cで書かれてんだし
120:デフォルトの名無しさん
03/04/04 09:57
凩
121:デフォルトの名無しさん
03/04/04 10:14
>>118
仮想OSでできなかったっけ?
グラフィックボードにもよるらしいけど。
死ぬ気で勉強すればつくれんじゃん?
122:デフォルトの名無しさん
03/04/04 11:42
こんなゲームでも一応DX使ってるだろ
仮想OSだとその辺が・・・
123:デフォルトの名無しさん
03/04/05 05:28
ロボット作って
124:118
03/04/06 09:15
何とか自力で改造できました。
どうもありがとうございました。
125:あぼーん
03/04/06 09:19
∋8ノノハ.∩
川o・-・)ノ <先生!こんなのがありました!
__/ / /
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
...|| ̄ ̄ ̄ ̄||
URLリンク(saitama.gasuki.com)
126:デフォルトの名無しさん
03/04/08 09:30
昔はハンドアセンブラなんてのもあったな
_、_
( , ノ` ) …
\,; シュボッ
(),
_、_
( ,_ノ` )y━・~~~ フー…
127:デフォルトの名無しさん
03/04/09 14:44
その昔、UNIX の X-Windowシステムを動的にアップデートした神がいるらしい…。
バイナリや環境のファイル系を書き換えた後、
走ってるプログラムのメモリ空間を調べて、
使ってるユーザに気付かれることなく、
新たなプログラムで書き換えたらしいのよ。
128:デフォルトの名無しさん
03/04/09 15:02
super jmp
129:デフォルトの名無しさん
03/04/09 15:05
>>118
フルスクリーンとウインドウモードではコードが違うわけで、
そこらへんを考慮して作られているのなら
簡単にウインドウモードにできるわけだが。
デバッグしやすいようにウインドウモードにできるようにしているだろうと思う反面、
できるようにしているのならそういう機能が元からゲームについているはずだから、
できるようになっていないのではとも思う。
130:デフォルトの名無しさん
03/04/09 16:19
>>129
フルスクリーンしなくても早いよねー。AlephOneとか。
131:デフォルトの名無しさん
03/04/16 01:37
でも、みんなZ80くらいだったら
ちょっとしたサブルーチンの手直しくらいは
ダンプ見ながら16進でガリガリやってたよね?
オレだけ?
132:デフォルトの名無しさん
03/04/16 16:54
同士よ(w
PC88のグラフィックのスクロールくらいのはよくHEX直書きしてたなぁ。
VSYNCとめてOUTでVRAM切り替えてメモリ転送×3回。
もちろん今じゃ書けん。。。
133:山崎渉
03/04/17 15:34
(^^)
134:118
03/04/18 23:14
あげ
135:デフォルトの名無しさん
03/04/18 23:18
小学生の頃、IOにのってた機械語ソースを必死に打ち込んでインベーダーやりました。
今はVBで精一杯な30才です。よろしくね
136:デフォルトの名無しさん
03/04/18 23:32
I/O なつかしいな。
テンキーで16進数打ち込んで、リアルタイムで縦横チェックサムが
出るプログラムを作ったよ。最初BASICで、そのあとハンドアセンブル
で機械語化。
そのプログラム使ってEDASとかいうアセンブラを打ち込んだ。
137:山崎渉
03/04/20 03:42
∧_∧
( ^^ )< ぬるぽ(^^)
138:デフォルトの名無しさん
03/05/04 16:38
_| ̄|○Z80について質問させてください。
40本の端子の名称と働きと信号の流れについて、Z80ファミリのICの種類と働き、汎用レジスタ、専用レジスタの違い・・・
学生で今こんなことを勉強しているのですがサパーリ分かりません(ι´д`)
139:デフォルトの名無しさん
03/05/04 16:44
インラインアセンブラでHLT吐こうとしても
特権何とかエラーが出て実行できない
どうすればよろしいのでしょうか?
win2000でvc++使ってます
140:デフォルトの名無しさん
03/05/04 17:18
>>138
ネタか ?
万が一マジだと言うなら、何のために勉強してるか書いてくれ。
答えることが多すぎるし、どのレベルで回答すればいいか誰もわからんので、たぶんスルーされるよ。
>>139
Windows2000 の仕様だからあきらめろ。
(と言うか、一体なにをやりたいんだか...。)
141:138
03/05/04 17:27
_| ̄|○マイコンボードってのを作ってます
142:デフォルトの名無しさん
03/05/04 17:52
>>141
本物 (=Zilog製) の Z80 なのか ?
143:デフォルトの名無しさん
03/05/04 18:43
EI
HALT
144:デフォルトの名無しさん
03/05/04 18:57
>>139
NTカーネルだとドライバ組むしかないな
DDKで検索してみれば?
145:デフォルトの名無しさん
03/05/04 22:06
>>138
激しく板違いなので、プログラム板に関係する部分の質問を
簡潔にまとめて質問しなおしてね。
今の状態は荒らしにしか見えないっす。
146:デフォルトの名無しさん
03/05/05 16:39
近藤マシン語臣
147:デフォルトの名無しさん
03/05/05 22:07
リング0は9xですらドライバ要るかもな
148:デフォルトの名無しさん
03/05/20 21:48
DX使わずに
アセンブラで、ブロック転送を行うコード書ける人居ますか?
149:デフォルトの名無しさん
03/05/20 21:56
工業高生はマイコンプログラミングの実習の時
やりたい事をフローチャートに描き
それをマニュアルのコピーみながらアセンブリ言語に直し
機械語対応表をみながら16進機械語に直し
マイコンボード付属の16キーで打ち込むっ
150:デフォルトの名無しさん
03/05/21 00:37
>>149
それが、慣れてくるとフロー書きとアセンブリ作業をすっ飛ばして
「やりたい事を16キーで打ち込む」に昇華されるのだよ
151:デフォルトの名無しさん
03/05/21 19:29
>>150
さすがにそれは....
152:デフォルトの名無しさん
03/05/26 16:32
mipsで困ってます。助けてください。
4017b4で 「2 TLB exception (load or instruction fetch)」とかいう
エラーが出てます。
bool* bi = p_ledCmdVal->GetLedIndexBool(); //問題のC++コード
//機械語
4017ac:8c430000 lw v1,0(v0)
4017b0:00402021 move a0,v0
* 4017b4:8c620010 lw v0,16(v1)
4017b8:00000000 nop
4017bc:0040c821 move t9,v0
4017c0:0320f809 jalr t9
4017c4:00000000 nop
4017c8:8fbc0010 lw gp,16(sp)
4017cc:8fbf0020 lw ra,32(sp)
4017d0:8fb00018 lw s0,24(sp)
4017d4:03e00008 jr ra
4017d8:27bd0028 addiu sp,sp,40
153:デフォルトの名無しさん
03/05/26 16:39
bool* bi = (*p_ledCmdVal->GetLedIndexBool)();
154:山崎渉
03/05/28 12:43
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
155:デフォルトの名無しさん
03/06/02 15:27
010001010010111000111010100011010101100100101001010010101101000
1101000101010101110010101100000101100010
156:1だよん
03/06/02 18:36
マトリックスに0と1だけでプログラミングできる奴いなかったけ?
157:デフォルトの名無しさん
03/06/02 21:25
>>156
そういや、マトリックスの新作は糞だったな
確かにCGは良いのだが、、、あの終わり方はないだろう・・・
158:デフォルトの名無しさん
03/06/03 11:30
>>151
>>130とか>>131とか
159:156
03/06/03 13:24
>>156の名前欄は気にしないでください。
160:デフォルトの名無しさん
03/06/03 22:38
>>127
し○だ先生のところの方ですか?
161:デフォルトの名無しさん
03/06/03 22:40
死んだ先生
162:デフォルトの名無しさん
03/06/03 22:42
みてね♪
URLリンク(www1.free-city.net)
163:デフォルトの名無しさん
03/06/03 22:50
DB 0CDh, 01h, 00h
164:デフォルトの名無しさん
03/06/05 23:11
本気で質問です。
コマンドプロンプトを使うと、
C:¥>
と出ずに、
C:¥>Documents and Settings¥○○>
と出てしまいます。
どうすれば、
C:¥>
と出せるのでしょうか?
ここで、つまづいています…
使っているOSはウィンドウズXPです。
165:デフォルトの名無しさん
03/06/06 01:32
>>164
C:\Documents and Settings\○○>
が長いのが気に入らないのかな?
PROMPT=$N:\$G
ってすれば
C:\>
って出るよ。
ユーザー環境変数に追加しておけば、
毎回指定しなくてもいい。
システムのプロパティ→詳細設定→環境変数→ユーザー環境変数→新規→
変数名:PROMPT 変数値:$N:\$G
なぜ機械語スレに書くのか分からんが。
166:デフォルトの名無しさん
03/06/06 09:34
>>165
ありがとうございます。
全くのド素人で、どこに質問すれば良いのかさえも解らなかったのです。
167:デフォルトの名無しさん
03/06/06 14:41
>>166
> 全くのド素人で、どこに質問すれば良いのかさえも解らなかったのです。
ねえ、ローカルルールぐらい読んだらどうよ。
> あらゆる質問はまず すれ立てるまでもない質問はここで スレにしてください。
168:デフォルトの名無しさん
03/06/08 04:51
>>167
なるほど、スレ立てるまでも無い質問はここでしてください。って言うのが在るのですね。
御親切に、ありがとうございます。
以後、気を付けます。
169:デフォルトの名無しさん
03/06/21 11:47
機械語の御プログラミングはどこで勉強すればいいのでしょうか?
プロセッサのマニュアルでオペコードをまずは暗記するところからでしょうか?
170:デフォルトの名無しさん
03/06/21 12:17
ここのスレのみなさんでNTLDR(w2k)を一緒に輪読していきませんか?
当然逆アセンブラなど使いません。外国語をそのまま飲み込むがごとく、
機械語のまま(16進数での表示にはなりますが。。。)素直に読みます。
これならライセンス違反にもならないですよね。
日付は1999/12/17 21:00のものを予定しています。
171:デフォルトの名無しさん
03/06/21 22:09
ハンド逆アセンブルも逆アセンブルだから、
本当に機械語のまま読まんとあかんのやな。
俺には無理だー(やる気が無いから)。
172:デフォルトの名無しさん
03/06/21 23:29
IA-32 インテル(R) アーキテクチャ・ソフトウェア・デべロッパーズ・マニュアル
上巻:基本アーキテクチャ (日本語 PDF ファイル: 4,183KB)
fURLリンク(download.intel.co.jp)
IA-32 インテル(R) アーキテクチャ・ソフトウェア・デべロッパーズ・マニュアル
中巻:命令セット・リファレンス (日本語 PDF ファイル: 9,139KB)
fURLリンク(download.intel.co.jp)
IA-32 インテル(R) アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル
下巻:システム・プログラミング・ガイド (日本語 PDF ファイル: 7,838KB)
fURLリンク(download.intel.co.jp)
とりあえず、これらは熟読しないとダメだな。
173:デフォルトの名無しさん
03/06/21 23:40
386の命令は可変長。命令の構造は以下の通り。この辺りは誰でも知ってるか。
前置バイト + オペコード + MODRM + アドレスディスプレースメント + 即値定数
386のこの命令の表現形式を頭に叩き込んでるところ。掛け算の九九並に体に馴染ませてから
NTLDRを読み始めたいと思います。
174:デフォルトの名無しさん
03/06/22 00:36
昔リスティングファイルを読んで
マシン語とアセンブリ言語の対応を表にしたことがあったなぁ。
CC(INT 3) と CD xx(INT xx) なら今でも覚えてるけど、
他はおぼろげだなぁ。
175:デフォルトの名無しさん
03/06/22 05:48
ntldrを読もうとしましたが、どうにも難しい。
BIOSから直接ロードされるファイルはNTDETECT.COMなんでしょうか。
適当に読んで行けばそのうち分りそうなものですけど。
今の時点では、NTDETECT.COM -> ntldr -> NTOSKRNL.EXE
の順番にロードされると勝手に予想してますけど。
NTDETECTの中を見ると十六進表記で'66'が異様に沢山ならんでいます。
0x66の意味は上のインテルのマニュアルの中巻の2章に載っています。
命令プリフィックス(上では前置バイトと書いたけどこれは古い言い方らしい)とは
G1 ロック及びリピートプリフィックス
G2 セグメントオーバーライドプリフィックス
G3 オペランドサイズオーバーライド
G4 アドレスサイズオーバーライド
の4グループに分かれます。これらはそれぞれ1byteを使って表現されます。
ということで、命令プリフィックスのバイト数は0から4バイトになると思われます。
グループの順序は不問。一つのグループから複数のプリフィックスを指定することは
ダメらしいです。1バイトオペコードマップに埋め込まれて記載されてます。
個別の値をこの際暗記してしまえば、命令文に対する見通しも良くなるはずです。
カッコ内は続くオペコードが決まっている場合のそれ
G1 = {F0(LOCK), F2(REPNE,REPNZ), F3(REP,REPE,REPZ)}
G2 = {2E, 36, 3E, 26, 64, 65} それぞれCS, SS, DS, ES, FS, GSセグメントを指定
G3 = 66
G4 = 67
です。なんのことはありません。
>>174
しばらくは機械語の読み方の練習になりますが、
読めるようになったら一緒にがんばって逝きましょう。
176:デフォルトの名無しさん
03/06/22 06:15
ntldrから起動されるものはNTOSKRNL.EXE以外にも
hal.dllやNTKRNLPA.EXEなんかも同時にメモリにロードされるのかな。
ntldrでどこまで準備しているのかは分らないけど、
おそらくPE、PGビットはオンになっているはず。
この辺りの事情に詳しい人はWindows板なんかにいるのかな。
ちなみに2000のntldrはXPをブートできないらしい。
URLリンク(www.sitetm.net)
NTOSKRNL.EXEに制御を渡すまでにどこまで準備しておくのか。
ここがカーネルの設計方針とどう関わってくるのか、ヘタレな漏れには
いまいち分らず。Linuxは例外として、BSDでは古いローダでも
起動できるのを考えると、あんまり良い印象なし。
177:名無し@沢村
03/06/22 06:38
>>173
違うよ。
オペコード(1または2バイト)+MODRM(1バイト)+SIB(1バイト)+アドレスディスプレースメント(1または2または4バイト)+即値定数(1または2または4バイト)
だよ。
またMODRMはmod(7-6ビット)、reg(5-3ビット)、R/M(2-0ビット)の各フィールドからなるんだよ。
例えば、MOV(reg1からreg2へ)命令の場合、
100100w 11reg1reg2なんだよ。
wというのは、16ビットか32ビットかを指定するもので、それによってレジスタが決まるんだよ。
命令によってはオペコードの中にwフィールドがないものもあり、その場合はregフィールドの値だけでレジスタが決まるんだよ。
まあ、他にもややこしいことはいろいろあるよ…
178:デフォルトの名無しさん
03/06/22 06:58
MODRMの説明
MODRMとはmod(上位6,7ビット)とR/M(下位0,1,2ビット)の名前を結合。
MODRM = mod + R/M
R/Mはmodビットの状態(11bのときはレジスタ)によってレジスタオペランド(R)、
メモリオペランド(M)の両方を指定できるという意味からR/Mらしい。
真中の3ビットは、レジスタオペランドの指定やオペコード拡張用
(lgdtやlidtみたいな特殊なもの)に使われます。
mod(2bit),真中(3bit),R/M(3bit)
7 6 5 4 3 2 1 0
mod 真中 R/M
というもの
179:デフォルトの名無しさん
03/06/22 06:59
まず最初に表現したい命令ありき。そのなかで必要となるオペランドの
有無、種類によってバイト長も変わってくる。
1.オペランド数がゼロの場合は1バイト命令
8bitをフルに使って命令を表現
2.オペランド数が1の場合も1バイト命令
5bitで命令を表現し、残りの3bitでレジスタを指定する。
7 3 2 0
オペコード レジスタ
という形
3.オペランド数が2つ(レジスタ、メモリ)の場合は2バイト命令
1バイト目は8bitでオペコードを表現
2バイト目はmodは{00b,01b,10b}のパターン
R/Mはメモリオペランド
真中はレジスタ
4.オペランド数が2つ(レジスタ、レジスタ)の場合は2バイト命令
1バイト目は8bitでオペコードを表現
2バイト目はmodは11bのパターン
R/M、真中でレジスタ二つを指定
という基本的四つの形式。
真中3ビットを特殊命令に使うケースはここでは省略してます。
180:デフォルトの名無しさん
03/06/22 07:30
MODRMにおけるレジスタ指定のための3bitのパターンをここで暗記。
汎用レジスタを指定する表現
32bit 16bit 8bit
000 EAX AX AL
001 ECX CX CL
010 EDX DX DL
011 EBX BX BL
100 ESP SP AH
101 EBP BP CH
110 ESI SI DH
111 EDI DI BH
セグメントレジスタを指定する表現
000 ES
001 CS
010 SS
011 DS
100 FS
101 GS
110 (予約)
111 (予約)
181:デフォルトの名無しさん
03/06/22 07:37
レジスタを表現する3bitの具体的値ひとつにしてもそれだけでは
4通りの意味に読み取れる(000bにしてもEAX,AX,AL,ES)。
それを判別するのはオペコードの種類によって異なるということ。
一般的にはMODRMが必要になる形式はオペランドが二つという命令。
先頭の1byteを見て、オペランド数がいくつなのかをまず連想すれば
速く読めるようになるかな。1byte目が0fなら2バイト命令ということで
MODRMは3バイト目となるのも大事か。
MODRMは上位2bitを見てレジスタ―メモリなのかレジスタ―レジスタの
どちらのパターンなのか判別。16進数で言えば、MODRMが"c0"より大きい値のときは
レジスタ―レジスタというパターン。それ以下のときはレジスタ―メモリ
という形式となる。
そしてレジスタは上の一覧の通り、種類はオペコード次第。
>>177
お待ちしておりました。
182:デフォルトの名無しさん
03/06/22 07:39
>>177と178〜は同一人物か…?
プレフィクス(0〜4)+オペコード(1〜2)+(MODRM+SIB)(0〜2)+
ディスプレースメント(0〜4)+即値データ(0〜4)
プレフィクスとは、LOCK、REP、REPNE
オペランド&アドレスの16or32のサイズ逆転に、セグメントオーバーライド関連
オペコードは、そのまんま命令で、
MODRM(SIB)は、>>178以降で、説明してるようだが、本当に分かってるのだろうか…
183:182
03/06/22 07:44
別人だったのね…
184:名無し@沢村
03/06/22 10:41
>>180
正しくは、
wフィールドが存在しない命令では、
32bit 16bit
000 EAX AX
001 ECX CX
010 EDX DX
011 EBX BX
100 ESP SP
101 EBP BP
110 ESI SI
111 EDI DI
となり、
wフィールドが存在する命令では、
32bit 16bit 両方
(w=1) (W=1) (W=0)
000 EAX AX AL
001 ECX CX CL
010 EDX DX DL
011 EBX BX BL
100 ESP SP AH
101 EBP BP CH
110 ESI SI DH
111 EDI DI BH
となる
185:デフォルトの名無しさん
03/06/23 05:08
昨日書いたものはレジスタオペランドの表現方法。
今日は[命令・レジスタ・メモリ]という命令文における、
メモリアドレスの表現形式についてまとめてみる。
レジスタオペランド指定のその単純な表現と違い、
メモリオペランドは少し複雑になっている。
mod=00,{R/M,base}=101みたいな特殊なケースもあるし。
自分の中で整理するまでは時間がかかりそうなので、
ここでとりあえず理解している範囲をまとめてみる。
メモリオペランド指定にはMODRMが1byteのものと2byteのものの
2種類に分けられる。2byteMODRMでないと表現できないメモリオペランドとは
・インデックスレジスタを使うもの
・ベースアドレスにESP(つまり100)を指定するもの
(R/Mにおける100がMODRM自身の2byte拡張に割り当てられているため)
の二通りのケースが考えられる。この二つは1byteのMODRMでは表現できない。
指定されるメモリのアドレス表現は
セグメント―ベースアドレス―インデックスアドレス(+スケールファンクタ)
―ディスプレースメント の4部分で指定する。
この4っつの使用は任意である。ただしセグメント指定がないときはデフォルト
セグメントのDSを用いるという意味になるし、ベースアドレスが無い時は
ディスプレースメントが必要不可欠となる。
メモリ中のアドレス指定において、セグメントレジスタは独立しているからいいとして
ベース、インデックス、ディスプレースメントの三つの組み合わせは、
例外があったりして少し複雑である。全ての組み合わせを考慮して、
そのビットパターンを網羅することもいいかもしれないが、具体的バイナリを
読めるようになることに目的をおいているので、あまり厳密には考えない。
186:デフォルトの名無しさん
03/06/23 05:31
1.セグメント
デフォルトではDSセグメントを使うが、その他のセグメントを参照する場合は
命令プリフィックスで指定する。(プロテクトモードでは、セグメントレジスタに
指定されているのは当然、セグメントディスクリプタへのインデックス値であって
アドレスではない。)
2.ベースアドレス
セグメント内におけるベースアドレス。1byteMODRMにおいてはR/Mにおいて32bitの
レジスタのみを使える。2byteMODRMの場合は2byte目のbase領域(0-2bit)において
32bitのレジスタを指定する。
3.インデックス
これを使うときはMODRMは2byteになる。インデックスレジスタを使わないときは
スケールファンクタは00になっていなければならない。
スケールファンクタ(2bit)の値の意味するところは
00 x1
01 x2
10 x4
11 x8
というもの
4.ディスプレースメント
MODRMが1byte、2byteに関係なくmodの値が
・00はディスプレースメントなし
・01は8bitのディスプレースメントあり
・10は32bitのディスプレースメントあり
という意味。
187:デフォルトの名無しさん
03/06/23 05:35
2byteMODRMについての詳しい図はインテルのマニュアル中巻の図2-1にあります。
というか自分が読んでいる古い386の本と用語が少し代わっています。
2byteのMODRMなどというものはなく、MODRM(1byte)とSIDというらしいです。
意味するところはSIDは2byte目のMODRMと上で言われているものと変わりません。
スケールファンクタとは単にスケールというらしい。
SIDとは上にも書いたように、メモリオペランド表現専用です。
>>沢村様
wフィールドとはなんでしょう?オペコードのどこかのビットということに
なるのかな?
188:デフォルトの名無しさん
03/06/23 07:15
ベースレジスタの指定には10種類の値を指定できなくてはいけない。
8(汎用レジスタ)+SID有り+ベースレジスタなし=10種類
そこでいつくかの特殊ケースを設定されている。
・ESPを指定するはずの100を2byteMODRM有りの意味に使う
・mod=00, {R/M,base}は常識的にはディプレースメントなし
+ベースレジスタはEBP(101)という意味になるが、
これを特殊ケースとして、
「ベースレジスタ無し+32bitディスプレースメントあり」の意味に使う
これはディスプレースメント無しのモードではEBPをベースレジスタとして
使えないという意味になる。
代用としてはmod=01,R/M=101,ディスプレースメントは0を設定する。
というもの
インデックスフィールドに関する例外としては
・100のときはESPをインデックスレジスタとして使う、という意味ではなく、
インデックスレジスタ無しという意味になります。このときスケールは00でなければ
ならない。
即値フィールドはディスプレースメントの後と決まっている。
これで、あとはオペコードを暗記するだけでバイナリが読める、はず。
189:デフォルトの名無しさん
03/06/23 08:17
s/ファンクタ/ファクタ/
自分で書いてていうのもなんだけど、内容めちゃくちゃだな。
インテルのPDFにMODRM,SIDのビットパターン一覧が載ってるから
それみて覚えるのが一番効率がいいことは確か、か。
190:mathmania ◆uvIGneQQBs
03/06/23 16:59
DOSの機械語(マシン語)と、UNIXの機械語(マシン語)は違うものですか?
191:デフォルトの名無しさん
03/06/23 17:10
DOSとUNIX でマシンが違うならね
192:デフォルトの名無しさん
03/06/23 17:12
あ、DOSとUNIXか、なら一般的には違うものだな。
もし同じCPUであっても DOS は16bitコード UNIXは32bitコードだろうからね
193:デフォルトの名無しさん
03/06/24 21:28
01010101001001010101010101111111111010101001101
194:デフォルトの名無しさん
03/06/25 02:43
>>192
基本的に16bitでも32bitでもCPUが同じなら機械語は同じだろ
ただ、それを解釈するCPU、もしくはCPUのモード(方言)が違うだけ
195:デフォルトの名無しさん
03/06/25 13:09
>>194
まあ基本的にはそうなんだが、
x86の場合はデータサイズが変わっちゃうからねえ。
どっちのモードで動いているか把握しておかないと悲惨な事になるぞ。
196:デフォルトの名無しさん
03/07/18 21:36
よい2進数のエディタはないですか?
197:デフォルトの名無しさん
03/07/18 21:40
>>196
メモ帳の二進数モード
198:デフォルトの名無しさん
03/07/19 00:21
>>196
stirling
199:デフォルトの名無しさん
03/07/19 00:24
七輪グゥ?
200:山崎 渉
03/08/02 02:33
(^^)
201:デフォルトの名無しさん
03/08/06 18:10
int mc91(int n){
if (n>100) return n-10;
else return mc91(mc91(n+1));
}
上のCプログラムを出来ればアセンブリでおながいします m(_ _)m
202:デフォルトの名無しさん
03/08/06 20:56
>>201
しょーがねーな
_mc91:
cmp.l #100,er0
ble 1f
sub.l #10,er0
rts
1:
inc.l #1,er0
jsr @_mc91
jsr @_mc91
rts
展開するのはめんどいので素直に再帰。
203:201
03/08/06 21:19
>>202
有難う御座います。
しかしプログラム間違えてました申し訳無いです
else return mc91(mc91(n+11));
でした。しかも、MIPSアセンブリ言語でした。
因にプログラムの動きは
n>100の時は1回だけ-10して終了。
n=<100の時はn=91になるまで計算を繰り返す。
でつ
204:山崎 渉
03/08/15 17:05
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
205:デフォルトの名無しさん
03/08/26 10:03
第2次記念パピコ
206:デフォルトの名無しさん
03/12/15 00:17
GCCにアセンブリソースを吐かせて勉強しやう
207:
03/12/15 01:05
浮動小数点のフォーマット(データ構造)と、四則演算のやり方を説明できる方いませんか?
あるいは、こういうこと解説してある本でも良いんですけど。
今はとりあえず我流で3バイトの整数部+1バイトの指数部(X*2^n)でやってるんですが、
なんか違うというか、もっと上手いやり方があるような気がして。
208:デフォルトの名無しさん
03/12/15 01:08
>>207
C実践プログラミング(オライリー)に書いてあった
209:207
03/12/15 01:19
>>208
即レスありがとう。
ググってみると結構高い本みたいですが、探してみます。
210:デフォルトの名無しさん
03/12/15 02:11
>>207
フォーマットは、IEEEの規格があるのでCPUのマニュアルなんかに書いてあるはず。
足し算引き算は、指数部の桁を合わせて仮数部を計算。
掛算は、指数部を足し算して仮数部だけで掛算。
割算は、指数部を引き算して仮数部だけで割算。
誤差がどうのこうのってな事があるので、数値演算の本を読んだほうがいいと思う。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5400日前に更新/154 KB
担当:undef