アセンブラ… (´・∀・`)ヘー

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… (°Д°)ハァ?
http://pc5.2ch.net/test/read.cgi/tech/1093519463/
2デフォルトの名無しさん:04/11/25 22:42:58
【過去ログ】
アセンブラ… (゚д゚)ウマー
http://pc2.2ch.net/test/read.cgi/tech/1060928704/l50
アセンブラヽ(`Д´)ノモルァ
http://pc2.2ch.net/tech/kako/1040/10402/1040297337.html
アセンブラヽ(`Д´)ノモルァ
http://pc3.2ch.net/tech/kako/1016/10169/1016991911.html
アセンブラ… (・∀・)イイ!
http://pc.2ch.net/tech/kako/1002/10022/1002267809.html
アセンブラ… (*´д`*)アハァ…
http://pc5.2ch.net/test/read.cgi/tech/1076157613/l50
アセンブラ… (;´Д`) ハァハァ
http://pc5.2ch.net/test/read.cgi/tech/1087897801/
3デフォルトの名無しさん:04/11/25 22:45:02
【関連書籍】

はじめて読む8086―16ビット・コンピュータをやさしく語る
http://www.amazon.co.jp/exec/obidos/ASIN/4871482456/

Computer Organization and Design Second Edition : The Hardware/Software Interface
http://www.amazon.com/exec/obidos/tg/detail/-/1558604286/
Computer Architecture: A Quantitative Approach
http://www.amazon.com/exec/obidos/tg/detail/-/1558605967/

VAX Assembly Language
http://www.amazon.com/exec/obidos/tg/browse/-/3954/
4デフォルトの名無しさん:04/11/25 22:50:48
>>1
キモイ
5デフォルトの名無しさん:04/11/25 23:20:32
あっちにはキモいのが入り込んでるから廃棄でいいだろ
6デフォルトの名無しさん:04/11/25 23:47:47
プログラマからもゲーム解析者からもクラッカーからもクズ扱いの要注意な本。

「いまどきのアセンブラプログラミング」
http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4839912025/customer-reviews/ref=cm_cr_dp_2_1/249-5397889-8897164
7デフォルトの名無しさん:04/11/26 11:44:06
ゲーム解析目的でアセンブラを勉強したい人向け

Digital Travesia
http://hp.vector.co.jp/authors/VA028184/
8デフォルトの名無しさん:04/11/26 16:32:32
糞サイト紹介すんなよ
9デフォルトの名無しさん:04/11/26 17:16:54
Digital Travesiaは、ゲーム解析の勉強にかなり役に立った。

「いまどきのアセンブラプログラミング」は凄すぎる。
本屋で立ち読みしていて中身のデタラメさに吹いた。
ゲームの解析には全く役に立たない。
唯一まともなことを書いているなと思ったコラムは、
Digital Travesiaのコンテンツの丸写しだった。
インテルのアーキテクチュアマニュアルも丸写しだし、
この本のライターってパクリが得意なようですね。
10942:04/11/26 17:25:54
どうも、プロテクトモードへの移行プログラムを書いているものです。

 アレからbochsのデバッガを使って一つ1つ命令を解析していったりしているのですが。どうしても3rd expectionから
抜け出すことが出来ません…。

 奇妙なのはbochsのデバッガで一つ一つステップ実行してゆくと例外は発生しないのですが、一気に実行すると
例外が発生してしまいます。ソースコードは以下のようになっています。どなたか助言を....
11942:04/11/26 17:27:38
jmp100h:start

gdtr:
limitdwsegdesc_end - segdesc_0 - 1
basedd100h * 16 + segdesc_0

segdesc_0:
dw0;limitL
dw0;baseL
db0;baseM
db0;typeL
db0;limitH_typeH
db0;baseH


;code segment
segdesc_8:
dw0xffff;limitL
dw0x0;baseL
db0x0;baseM
db0x9A;typeL
db0xCF;limitH_typeH
db0;baseH

;data segment
segdesc_10:
dw0xffff;limitL
dw0x0;baseL
db0x0;baseM
db0x92;typeL
db0xCF;limitH_typeH
db0;baseH
12942:04/11/26 17:28:54
start:

cli
movax, cs;csレジスタの値は 100hの値
movds, ax;dsレジスタの値もちゃんと設定しておく
movss, ax
sti

RealToProtect:

lgdt[gdtr];gdtrロード

cli
;コントロールレジスタ0の最下位ビットを立てることにより、プロテクトモードへ
moveax, cr0
oreax, 1
movcr0, eax
sti

jmpfresh;パイプライン命令無効化

fresh:
;パイプライン命令無効化完了
db0xea;jmp
dwprotect_start + 100h * 16
dw0x08
13942:04/11/26 17:29:21
[BITS 32]
protect_start:
;ここから32ビットへ移行だ
movax, 08h
movds, ax

movax, 18h
movss, ax

main_loop:
jmpmain_loop
14942:04/11/26 17:33:57
bochsのデバッガで一つ一つ命令を追ってゆくと。mov cr0,eaxの次のstiからアドレスの表示が

(0) [0x0000108b] 0100:0000008b (test. ctxt): sti ; fb

という風になっており、プロテクトモードへ移行できているような気がするのですが…。

そしてsコマンドでステップ実行してゆくと無事に

main_loop:
jmp main_loop

のループに入ることを確認しました。

sコマンドを何回か実行しても例外が発生するような気配はありません。
ですがcコマンドをつかって一気に実行するとたちまち3rd exceptionが発生してしまいます。

どなたかご指導のほうをよろしくお願いいたします
15942:04/11/26 17:36:38
スレ汚し申し訳ありません、あと例外発生時のcsセグメントの値は
c000となっております。これはBIOS領域か何かでしょうか・・・?
16デフォルトの名無しさん:04/11/26 17:43:40
>>mov ax, 08h
>>mov ds, ax

よく見てないけどいいだっけこれ。
17デフォルトの名無しさん:04/11/26 17:44:39
なぜcr0にロードした直後にjmp命令を入れないの?
18デフォルトの名無しさん:04/11/26 17:44:56
あとスタックセットアップ、IDTも設定してないのにstiしてない?
19デフォルトの名無しさん:04/11/26 17:48:56
gdtのコードのベースもセットアップしてないな。100h決めうちなのか?
全部やり直し
20デフォルトの名無しさん:04/11/26 17:50:33
bochsなんつーヌル環境だから、手抜き知識しかない模様
21942:04/11/26 17:53:03
ごめんなさい
cli
mov ax, cs;csレジスタの値は CODE_TEMP_SEGの値
mov ds, ax;dsレジスタの値もちゃんと設定しておこう
mov ss, ax
sti
mov ss,axが抜けていました…
22942:04/11/26 17:54:28
>>19
このgdtはMonaの初期のコードからパクってきました。
これではだめなんですか?
23デフォルトの名無しさん:04/11/26 17:58:36
いいとかわるいとかの問題じゃねーんだけど
24デフォルトの名無しさん:04/11/26 18:01:15
環境ぐらい書けよ
25942:04/11/26 18:09:37
>>23
メモリホールにかぶったらどうするんだ?とか細かいところが分からないので。
とりあえず走らせて見ていじってみようというわけです。

こういうメモリモデルにしたい、という具体的な要望があるわけでもないんです…
とりあえず動かしてみたいな、と。

環境は
Intel PentiumIIIの1Ghz

RAMは370のWin2k。Bochs上でエミュレートして書いています。
アセンブラはnasmを使っています。
26デフォルトの名無しさん:04/11/26 18:16:11
>>とりあえず走らせて見ていじってみようというわけです。

だから「何を」走らせたいんだよ。それがわかんねーから、よいも悪いもないんだよ
27942:04/11/26 18:21:54
>>26
今やりたいことはprotect_modeにちゃんと移行することです。
28デフォルトの名無しさん:04/11/26 18:33:24
29デフォルトの名無しさん:04/11/26 18:39:17
さらに、PM動作確認するため画面に「G」と出すようにする
30942:04/11/26 18:58:55
>>29
上記のプログラムでは、文字出力の部分は全部飛ばしてあります。
実際には文字列を出力するコードが入っていますし、それらは動作しています。
31デフォルトの名無しさん:04/11/26 21:17:06
誰かキーロガー書けプルア
32デフォルトの名無しさん:04/11/26 21:59:00
>>6
このレビューは参考になりましたか?
◎はい ○いいえ
33デフォルトの名無しさん:04/11/26 22:00:24
34デフォルトの名無しさん:04/11/26 22:03:11
キモイ
35デフォルトの名無しさん:04/11/27 01:01:05
スレ立て早すぎ。過疎スレなのに
36デフォルトの名無しさん:04/11/27 02:35:02
>>6
どのへんがクズなの?
37デフォルトの名無しさん:04/11/27 11:50:18
>>36
本屋で立ち読みして、内容を自分の目で確かめてみると良いですよ。
それが出来ないなら、レビューを参考にされると良いでしょう。
ただし、「ゲーム解析に役立つ」というレビューは大嘘ですが。
38デフォルトの名無しさん:04/11/27 14:34:00
(´・∀・`)キモイ
39デフォルトの名無しさん:04/11/27 14:51:34
語感がムカつくもの

mov

モブって言うな!!!!!!!!!
ムカつく!!!!!!!!!!!!
40デフォルトの名無しさん:04/11/27 14:52:13
>>39
moveの略なんだしムブは駄目か?
41デフォルトの名無しさん:04/11/27 14:54:01
QuickTimeのあれとかムカつくよな!!!!!!!!!!!!
42デフォルトの名無しさん:04/11/27 14:54:04
それはそれでムカつく
43デフォルトの名無しさん:04/11/27 15:11:09
ノーブラか?
44デフォルトの名無しさん:04/11/27 18:41:18
てぶら
45デフォルトの名無しさん:04/11/27 19:02:29
前スレ987へ
i8086のシフト命令のクロック数調べてみれ
46BlackLightOfStar ◆ifsBJ/KedU :04/11/27 21:31:46
Re:>37 一部の技術者以外には向かないだろう。私もアセンブリ言語はあまり分からない。
47デフォルトの名無しさん:04/11/27 21:33:59
Re:>
↑これであぼーん設定するとすっきりする
48デフォルトの名無しさん:04/11/27 21:43:37
>>46
「いまどきのアセンブラプログラミング」ご自分で読まれましたか?
一部かどうかを問わず、技術者がこの本を必要とする場面はありえないと思います。

なお、命令セットの解説なら、CQ出版が出している書籍の方がはるかに使えます。
49デフォルトの名無しさん:04/11/27 21:48:55
読み物に技術者としてマジレスしなくても良いと思う。
そもそもアセンブラを熟知してる人は読み物とか入門書は買わないわけで。
50デフォルトの名無しさん:04/11/27 22:07:31
技術者じゃなくてこれからアセンブラを勉強したいと思う人間にも不要です
51デフォルトの名無しさん:04/11/27 23:07:52
と言う割には、具体的な理由が出てこないんだよなぁ
俺は詳しくないので、見ただけじゃどう悪いのか解らないので、
見れば解るというのは無しで。
52デフォルトの名無しさん:04/11/27 23:14:19
正直用途をゲームハッキングに限定している気がする

この板ではハッキングはご法度、
ハッキングはハックラ板へ、
クラッキングはカックラキン板へ、
ファッキングは過激恋愛板へ行け

である
53デフォルトの名無しさん:04/11/28 00:18:39
みんなの意見を総合すると

厨をターゲットにした、厨本って言うことだな
54デフォルトの名無しさん:04/11/28 00:53:03
見れば分かる
55デフォルトの名無しさん:04/11/28 01:02:59
http://pc5.2ch.net/test/read.cgi/tech/1093519463/987

あのころの技術だとバレルシフタはでかすぎて入らんだろうから、
シフトするビット数分のクロックが必要になりますな。

可変じゃなくて2種類切替えならまあ現実的かもしれん。
56デフォルトの名無しさん:04/11/28 01:24:36
まだ蒸し返すのか。jmp、callのoffsetが16bitでどうしようってんだよ
セレクタだけ拡張したって意味無いんだよ。命令体系の全体を見ろよ
57デフォルトの名無しさん:04/11/28 01:26:02
そーか、そういえば、バレルシフタって386からだよな。286にも搭載されてない。

なんて知ったか書いてる俺は、
大昔にSuper ASCIIの 386 de MSDOS を読んだのを覚えてるだけ。
あの連載面白かったな。
58デフォルトの名無しさん:04/11/28 23:07:06
御前等知ってるか!
YAMAHAって反対から読むと破魔矢になるんだぜ。
すげーべ!

>>37
                  / ̄ ̄ ̄\
                   /  /=ヽ   \    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                 |  (゜) (゜)   │  < 大人の階段踏み外して氏ねよおめー
                 |   )●(     |    \________
                  \   ▽    ノ
                   \_∪  /
           .__/ ̄ ̄ ̄       ̄ ̄ ̄ ̄)__
         〃  .// ̄ ̄ ̄/    / ̄ ̄ ̄/ /    〃⌒i
         |  ./ /     /    ./     / /    .i::::::::::i
   ____|  .しU /⌒\./    /     / | ____|;;;;;;;;;;;i
  [__]___|    / /-、 .\_.  /      Uし'[_]     |
59デフォルトの名無しさん:04/11/29 06:46:12
>>53
ああ、お前が一人でいろいろ書き込んだのを総合すると、
たしかにその結論になるな。
60デフォルトの名無しさん:04/11/29 11:55:07
>>6>>9
このレビューは参考になりましたか?
◎はい ○いいえ
61デフォルトの名無しさん:04/11/29 16:33:11
ああ、お前が一人でいろいろ書き込んだのを総合すると、
たしかにその結論になるな。
62デフォルトの名無しさん:04/11/29 17:05:32
http://d.hatena.ne.jp/yaneurao/20040528

このレビューは参考になりましたか?
◎はい ○いいえ
63デフォルトの名無しさん:04/11/29 17:38:48
AMDプロセッサのパフォーマンスカウンタ機能を使ってキャッシュの
ヒット率を確認しているのですが、
無操作で99%、ぷよぷよで96%、メモリベンチで90%とかなりヒット率が
高くなってしまいます。実際こんなにヒット率は高くなるものなのでしょうか?

ヒット率の計算は、イベントDATA_CACHE_MISSES(40h)を
DATA_CACHE_ACCESS(41h)で割っています。msrレジスタの読み書きに
関しては多分間違いはないと思います。
6463:04/11/29 17:59:41
×ヒット率の計算は
○キャッシュミス率の計算は
65デフォルトの名無しさん:04/11/29 18:10:03
うん、高くていいよ。
athlonxpは普通にキャッシュヒット99%達成してた記憶がある
66デフォルトの名無しさん:04/11/29 18:16:59
>>63
どっかで見たけど、バースト転送を利用しているシステムの
キャッシュヒット率は99%になるらしい。

ただ、レイテンシは最悪になると
6763:04/11/30 13:02:59
>>65、66
ありがとうございます。
68デフォルトの名無しさん:04/11/30 18:06:48
アセンブラが勉強できるいい本ない?
69デフォルトの名無しさん:04/11/30 18:13:44
まったくやったことがないんだったら
http://www.amazon.co.jp/exec/obidos/ASIN/4274132072/249-7538230-3156334
がオススメ、、というよりこれしかない。
70デフォルトの名無しさん:04/11/30 19:31:14
俺は、吉川敏則の「Cユーザのための実践アセンブラ」をおすすめする。
71デフォルトの名無しさん:04/11/30 19:40:23
中古の8ビット機、説明書込みで買ってこい。
72デフォルトの名無しさん:04/11/30 20:27:18
Z80、MC68000経験者にいい本ない?
73デフォルトの名無しさん:04/11/30 20:39:21
ところでこのスレは、どの石を前提に進めてるの?
おれは>>72に、SH関連をすすめたりしても良いわけ?
74デフォルトの名無しさん:04/11/30 21:39:06
>>72
経験者なら、
とりあえずCPUメーカーの資料をいきなり読んでアーキテクチャと命令セットを理解し、
適当にサンプルコードを眺めて作法を把握すればOKじゃない? そんな暇ない?
75デフォルトの名無しさん:04/11/30 21:41:39
http://www.kohgakusha.co.jp/books/detail/4-87593-050-X
なつかしいなぁ。どっかいっちゃってもう手元にないよ。
76デフォルトの名無しさん:04/11/30 21:41:56
>>69
これ昔々に読んだけど、そのときは難しかったなぁ。
77デフォルトの名無しさん:04/11/30 21:42:49
秘伝忍法帖は地味だけどよかったよ (昔々・・・)。
78デフォルトの名無しさん:04/11/30 21:46:07
CASL ならまかせてくださいと流れをぶったぎってみる
79デフォルトの名無しさん:04/11/30 21:58:31
パソコン用ではない、組み込み用CPUのアセンブラなら
電気電子板へ誘導してあげたら。
80デフォルトの名無しさん:04/11/30 22:00:25
アセンブラの話題は全部電気板でいいと思う。この板馬鹿が多いし。
81デフォルトの名無しさん:04/11/30 22:00:56
>>80
たとえば誰?
82デフォルトの名無しさん:04/11/30 22:01:13
>>81
おれおれ
83デフォルトの名無しさん:04/11/30 22:47:30
手前等に任せた。

303 名前: デフォルトの名無しさん 投稿日: 04/11/30 22:31:49
あのですね、質問があるのだべし。

ファッキントッシュに、のってる、クピュと、
ブロークンウィンドウズ理論が動く、クピュでは、
破線ブラコードは、違うと、思われなのだべしですが、
この、仕様というか、命令セット大全というか、
何を、どうしたら、どうなる、命令がこんだけある!
と、いうのは、どこで調べたらいいの、ですか。
84デフォルトの名無しさん:04/11/30 22:50:35
まずは解読
85デフォルトの名無しさん:04/11/30 22:53:41
SPARCとかPowerPCとかで、組み込みじゃない時はどちらの板で。
86デフォルトの名無しさん:04/11/30 23:00:20
アセンブラプログラマって頭悪そうだな
87デフォルトの名無しさん:04/12/01 12:58:14
>>63
ぷよぷよって言うくらいだからWindows上での話しだと思うけど
どうやってCR4とMSRをいじったの? 教えてちょんまげ
88デフォルトの名無しさん:04/12/01 13:02:38
>>69の本は今読んでも役に立つの?
89デフォルトの名無しさん:04/12/01 18:05:06
>>87
DDKスレで聞いた方がいい。
90デフォルトの名無しさん:04/12/01 22:55:01
>>88
訳に立つと思うよ。
91デフォルトの名無しさん:04/12/02 00:46:36
その本読んだらアセンブラのコードかけるようになれる?
Cは別に使う機会無い漏れだけど・・・。
92デフォルトの名無しさん:04/12/02 01:09:24
このスレの人たちみたいにCPU周りに詳しかったら
仮想マシンを自分で作ってみたいとか思わないんですか?

(ヘボぃところでCASLとかなら既にあるんだろうけど、、)
93デフォルトの名無しさん:04/12/02 01:11:38
>>92
8ビットCPUのインストラクションセット作って遊んだことならある。
94デフォルトの名無しさん:04/12/02 01:17:06
言語処理系つくるなら(完全なネイティブコンパイラでなきゃ)スタックマシン作る。
CPUそのものは学生のときに授業で作った。
95デフォルトの名無しさん:04/12/02 01:25:57
いいですねー。自分は何も考えずに化学科選んで全然面白くなかったから
そういうの憧れるっすよ。電気とか電子でしょ?CPUを実験で作るのって。
96デフォルトの名無しさん:04/12/02 01:27:01
97デフォルトの名無しさん:04/12/02 01:32:09
化学も面白いけどなぁ
多分、他人の芝生が青く見える人は、技術研究は向かないかも
98デフォルトの名無しさん:04/12/02 01:37:00
化学はね、計算機関係みたいに個人の範囲で実験が出来ないんですよ!
あと収率とかね、一般に低くて化学反応式みたいにクリアな世界じゃないんすよ!
精製とかだるくて惨めでネ!

つまり、つまり日常の世界での個人的なハックの楽しみの余地が無くて・・以下略
99デフォルトの名無しさん:04/12/02 01:38:56
あと、あんまり知られてないけど、有機系の研究者は
長年溶剤の気を吸って生活してるんで肝硬変になりやすいです。
100デフォルトの名無しさん:04/12/02 01:39:36
>化学はね、計算機関係みたいに個人の範囲で実験が出来ないんですよ!

そんなん言うなら個人の範囲でπを一兆桁計算してみろ
101デフォルトの名無しさん:04/12/02 01:41:37
>>98-99
おまえ実験中に暇だから書き込みしてるだろ。
102デフォルトの名無しさん:04/12/02 01:44:16
一兆桁は知らないけどニューヨークのアパートメントで
アルゴリズムの研究してる兄弟とかいてたような・・?
103デフォルトの名無しさん:04/12/02 01:54:42
そもそもあなたは何のためにアセンブラを覚えたいの?
はっきりした目的意識がないと努力も長続きしませんよ。
アセンブラができればみんなに尊敬されたり、就職で有利になったりするかも、
なんて思っているとしたら甘いです。
アセンブラができる、というのは道具の使い方を知っているということに過ぎません。

MS-Wordの使い方を熟知していても、
芥川賞を取れる小説家になれるとは限りません。
フォトショップの使い方を熟知していても、
CG描くだけで食っていけるアーティストになれるとは限りません。
104デフォルトの名無しさん:04/12/02 02:15:42
最初にアセンブラを覚えたのは、純粋に知的好奇心って奴だった。中学生のときだ。
その頃、化学にも興味があった。電子軌道というアーキテクチャから原子というオペレーションが生まれて
それを分子というプログラムに組み上げていくことが楽しそうに思えた。
結局大学まで化学をやったが、原子を自在に操るには難解で範囲が広すぎて
そして未知の事が多すぎて俺の手には余った。
結局、今ではファーム屋をやっている。何とか独力でシステムを組み上げる事ができるから。
そして、わくわくしながら科学記事を読む、俺もまだ居る。
自然というアーキテクトの技が解明されていくのは、とてもエキサイティングだ。
105デフォルトの名無しさん:04/12/02 02:24:46
あっ、意見ありがとうございます。>>103
自分はエミュレータとか作れるようになりたいと思ってます。
ゲームには興味ないんで何のエミュレータ?って聞かれてもアレだけど

ほかにはドライバとかかけるようになれれば、自分のマシンから
他のハードにアクセスできだろうし。

そうなれれば、単にプログラムやアプリを動かす箱としてのPCから
また違った秘密の花園が開けてるかなって期待してる。

>>104さんみたいなファーム屋のスキルがカッコいいと思ってるヘタレです。
106デフォルトの名無しさん:04/12/02 02:45:01
しんみりしてるところ恐縮だが原子を自在に操る連中は物理屋だぞw
その辺考えるとマスマス胸につまされる話になるな?
107デフォルトの名無しさん:04/12/02 04:26:35
>>95
世界初のマイクロプロセッサを作ったのは、化学科出身の人ですよ。
108デフォルトの名無しさん:04/12/02 08:59:17
>>95
CPUを実際に作るのは大変だが、>93のように設計してみるだけなら端末上でできる。
化学だって、コンピュータ上で好きな合成ができるじゃないか。
現実にはありえないような環境を設定して反応速度を変えることもできるし。
有機化学屋なら分子模型見ているだけでわくわくしてこないか?
109デフォルトの名無しさん:04/12/02 09:57:06
>化学はね、計算機関係みたいに個人の範囲で実験が出来ないんですよ!

個人の範疇で実験が出来るのなら、家で勝手にやってサイトで公開とかでもすればいいじゃん。
110デフォルトの名無しさん:04/12/02 11:13:38
えっ?
111デフォルトの名無しさん:04/12/02 11:19:45
頭の悪い香具師が来たな
112デフォルトの名無しさん:04/12/02 11:46:06
色んなイミでかなり・・・ナンダガ
113デフォルトの名無しさん:04/12/02 12:29:04
高校の先生とかしてそうだね。
114デフォルトの名無しさん:04/12/02 12:41:43
おつかれさま
115デフォルトの名無しさん:04/12/02 13:53:42
アセンブラ… (´・∀・`)ヘー

悲しいけど、これ、アセンブラスレなのよね。
116デフォルトの名無しさん:04/12/02 17:29:20
オマエラの科だのの話に興味はないのだよ、興味が
117デフォルトの名無しさん:04/12/02 17:47:00
アセンブラも大事だが現国もガンバ↑(´・∀・`)
118デフォルトの名無しさん:04/12/02 18:24:37
(´・ノ・`)
119デフォルトの名無しさん:04/12/02 19:04:07
無能が無能であることに気付かない事ほど哀れなことはない
120デフォルトの名無しさん:04/12/02 19:07:46
痴脳が池沼であることに気付かない事ほど哀れなことはない
121デフォルトの名無しさん:04/12/02 19:23:52
必至さが笑えたw
122デフォルトの名無しさん:04/12/02 19:24:10
機械の体をタダでくれる惑星まで出かけた>>119
自己出力プログラム化して帰還。
123デフォルトの名無しさん:04/12/02 19:27:29
メーテルを訴えたほうがいい
124デフォルトの名無しさん:04/12/02 19:32:49
車掌も共犯
125デフォルトの名無しさん:04/12/02 23:26:24
化学とか個人とか、やる気がない言い訳にしか聞こえないわけだが。
126デフォルトの名無しさん:04/12/02 23:31:21
>>125
【心と身体】のどっかで槍太陽にやっテロ
127デフォルトの名無しさん:04/12/03 00:50:46
化学専攻してる人がみんなに指摘されて暴れてるようだな
そんなに悔しかったら、化学やめて情報やればいいのに
128デフォルトの名無しさん:04/12/03 01:13:32
化学をまともにやった奴が情報やったらかなり楽しいと思うぞ
しかし、RISCのアセンブラは読みにくい。
129デフォルトの名無しさん:04/12/03 01:16:53
ん… 俺はRISCのアセンブラの方が読みやすいんだが、おかしいんだろうか…
130デフォルトの名無しさん:04/12/03 01:18:11
新スレになっても相変わらずしょーもないふれーむが伸びてるな
131デフォルトの名無しさん:04/12/03 01:19:31
少なくとも私にはSparcのアセンブラは読みにくい。
#68000が(馴れもあって)一番読みやすいかなぁ。
132デフォルトの名無しさん:04/12/03 03:01:40
慣れてないってのはあるが、一行にいろんな事を詰め込んでいる感じがしてどうもわかりにくい。
133デフォルトの名無しさん:04/12/03 05:36:52
Z80は名機。これ定説。
134デフォルトの名無しさん:04/12/03 07:55:56
8ビットCPUで一番使いやすくて速かったのは6809だが、いかんせん
世に出るのが遅すぎた。
Z80は命令体系が8086よりもさらに糞で、いろんな制限が課せられて
いたが、アセンブリで書く事により潜在能力を100%解放していたな。

68000はアドレスレジスタとデータレジスタが分離して、常にアドレス
レジスタが遊んでいる状態を作り出してしまった上に、当時の80286
の速度に完全に負けていた。アーキテクチャ的には良く出来ていた
ので、もし68000系がCISCの主流だったら今頃ソフトウェア技術は
もう少し進化していたかも。いやでも80386が出てからどちらでも良く
なったか。
135デフォルトの名無しさん:04/12/03 09:32:12
>>134
まぁ、8080を元に、拡張命令群を3セットも詰め込んでたからねぇ。<Z80
ニモニック表にない命令が幾つもあったし、裏レジスタもあったりしてね。

68000は無駄にアドレスレジスタがあるのでA7が通常のスタック、A6が
データスタック、A5がthisポインタ(のようなもの)、A4がデバッグフラグ。
あるプロジェクトではそんな使い方していた。
136デフォルトの名無しさん:04/12/03 09:54:08
古き良き時代を語るスレになってきたなw

>>135
そうだね。俺もそういう使い方をしていたプロジェクトに参加していた。
今のRISCのようなレジスタ・ウィンドゥ的使い方をするにはレジスタ数
が中途半端だし、結局誰が使ってもそういう使い方になる。

俺的にはアドレスレジスタとデータレジスタに分けないで欲しかったなあ。
そうすりゃ余ったアドレスレジスタをデータレジスタに使えるのにと何回も
思った。

知っての通り68000だけでは仮想記憶システムを作れないという致命的な
問題があり、68010が出るまでそれは延期されたが、68020で小さいながらも
データキャッシュを積んだときには速度の向上に素直に感激した。

OS/9 68Kが世界を席巻すると当時は信じてはばからなかったよorz
137デフォルトの名無しさん:04/12/03 10:07:14
考えれば6809は8086より一年遅れて出たんだっけ?で、Intelが
6809を露骨に潰しにかかったのが8088。あんなの出したら反則だよな。
で、IBM PCが8088を採用してしまい現在に至る。

8086も発売当初は確かn-MOSでチンチンに熱かったが、C-MOS版が
出てから嘘のように省電力になった。

6809はレジスタの少なさが性能向上の足かせにならないと証明した名機
だったと思うが、現在のようにコンパイラ技術が高まるとレジスタの割り当て
を人間には真似の出来ないような仕方で割り当てて、ロード/ストア回数を
減らす事によるループ内の速度向上が可能になり、特にそれはRISCで
顕著。というか元々RISCはコンパイラとセットで使う事を前提として設計さ
れている。

という事で過去を振り返るのはこれ位にしとく?
138デフォルトの名無しさん:04/12/03 10:33:42
6809といえばSEX
139デフォルトの名無しさん:04/12/03 10:41:30
8086ではCBW、CWDか。
モトローラたん(*´д`*)ハァハァ
140デフォルトの名無しさん:04/12/03 10:42:42
あ、8086にはCWDなんて命令ないんだった。
アセンブラ使い始めたのはPentiumからなので許してスマソ。
141デフォルトの名無しさん:04/12/03 11:33:30
CWDもあるだろ
386で追加されたのはCWDEとCDQ
142デフォルトの名無しさん:04/12/03 11:44:58
コンパイラの混合ソースだと、CBWEもCBWと表示されてるね。
143デフォルトの名無しさん:04/12/03 12:40:00
>>135
チャチャ入れで申し訳ないが

A7(usp)がスタック
A6がフレームポインタ
A5がローカル記憶域(TLSみたいなもの)

がメジャーでなかったか? A5 は 68k Mac 特有だったかも。
144デフォルトの名無しさん:04/12/03 14:23:38
>>143
同じことでしょ。
フレームポインタと言わずデータスタックと言ってるのだろうし、
ローカル記憶域を指してthisポインタのようなものと言ってるのだろう。

PalmOSだとグローバル記憶域がA4だったっけ?
145デフォルトの名無しさん:04/12/03 16:22:16
>ローカル記憶域を指してthisポインタのようなものと言ってるのだろう。
かなり違うじゃん
146デフォルトの名無しさん:04/12/03 19:29:57
ということは、6809が2個載ってる、FM-7シリーズが最高と言うことでいいですか?
147デフォルトの名無しさん:04/12/03 19:31:11
Z80が2個載っている、PC-8801MkIIシリーズが最高にきまっとろうが!
148デフォルトの名無しさん:04/12/03 22:39:00
こいつら30代だとしたらかなり寒いな
149デフォルトの名無しさん:04/12/04 00:11:52
今、たいへんなことになっています。

それはそうです、「逆汗」という言葉の意味でです。

言う、私は「逆汗というのは、はいそうです、汗が逆に流れる、それはそれです。意味。」
しかしながら、私の友人が会話をしました。
「あなたは間違っています!組み立てる、真逆に、なので、みんなはそうです、言います。逆汗!」

どっちが正しいのでしょうか、あなたの助け?
150デフォルトの名無しさん:04/12/04 00:14:24
ワウ、私は足りなかったかもしれません。

汗が逆に流れる、顔が真っ青になる、そうです、意味。

友人は言いました。意味。
真逆に組み立てる、それは壊すことです!破壊屋というべきです!


知恵を流してください!上に。
151デフォルトの名無しさん:04/12/04 00:17:02
あわわ…
152デフォルトの名無しさん:04/12/04 00:42:17
荒しばっかり・・・
このスレはもうダメぽ・・・
153デフォルトの名無しさん:04/12/04 14:44:51
荒しやっつけるコード書いてよ。アセンブラで。
154デフォルトの名無しさん:04/12/04 14:50:42
これはもうだめかもわからんね。
155デフォルトの名無しさん:04/12/04 14:56:35
0100 58 35 4F 21 50 25 40 41-50 5B 34 5C 50 5A 58 35 X5O!P%@AP[4\PZX5
0110 34 28 50 5E 29 37 43 43-29 37 7D 24 45 49 43 41 4(P^)7CC)7}$EICA
0120 52 2D 53 54 41 4E 44 41-52 44 2D 41 4E 54 49 56 R-STANDARD-ANTIV
0130 49 52 55 53 2D 54 45 53-54 2D 46 49 4C 45 21 24 IRUS-TEST-FILE!$
0140 48 2B 48 2A
156デフォルトの名無しさん:04/12/04 18:08:50
157デフォルトの名無しさん:04/12/04 18:17:11
ぜとはち?そんな言い方するか?
ゼッパチとかハチマルとか言うだろ。
158デフォルトの名無しさん:04/12/04 18:18:17
ふつーぜっぱち
159デフォルトの名無しさん:04/12/04 18:22:07
ゼッパチと言えば、Z8と思う私。
80と言えば、8080と思う私。
160デフォルトの名無しさん:04/12/04 18:33:53
かといって、ぜとはちと聞いて、Z80を思い浮かべられる人もおるまい。
CPUの話という前提で、音の感覚でなんとなく推測する域だな。

まー、プログラム板だから、ゼッパチでまず通じるでしょう。
8080と互換だから、ハチマルとして系でまとめるのもあるかも。
161デフォルトの名無しさん:04/12/04 19:22:46
ゼットはちまる
162デフォルトの名無しさん:04/12/04 19:23:11
はにまる王子
163デフォルトの名無しさん:04/12/04 20:03:23
ゼット (英語だが本物の発音はズィー)

はち (日本語)

ゼロ (また英語に逆戻り)



英語か日本語かどっちかに統一しろよ
164デフォルトの名無しさん:04/12/04 20:28:30
Z80マシン語秘伝の書
165デフォルトの名無しさん:04/12/04 22:08:08
ぜっぺき
166デフォルトの名無しさん:04/12/04 22:17:14
違います。ゼットもゼロも日本語です。
167デフォルトの名無しさん:04/12/04 22:25:22
>>163
誰もゼロとは読んでないような気がするが…
168デフォルトの名無しさん:04/12/04 22:28:07
>>163
日本語名は、ゼットハチマル
169デフォルトの名無しさん:04/12/04 22:51:13
乙八零
170デフォルトの名無しさん:04/12/05 00:17:23
俺はメガドライブに乗ってた奴


Z80とピーンと来る能力がある。
171デフォルトの名無しさん:04/12/05 00:23:45
http://e-words.jp/w/Z80.html



ヴチッと来るものがある
172デフォルトの名無しさん:04/12/05 00:34:14
むう。ザイログハチジューって言われてもなあ(w
173デフォルトの名無しさん:04/12/05 00:52:53
メガドライブって、16ビットだろ?
174デフォルトの名無しさん:04/12/05 00:54:24
68000とZ80の二本立てCPUなんさ
175デフォルトの名無しさん:04/12/05 00:54:42
メガドライブは68000
一応Z80も乗ってることは乗ってるが、音出してるだけ

普通、Z80と言えば、普通のセガ(とMarkII-III)だと思うが
176デフォルトの名無しさん:04/12/05 01:00:23
普通、Z80といえばゼビウス
177デフォルトの名無しさん:04/12/05 01:04:15
ガーン!
Z80のZって、ZILOGの頭文字だったんだ!

十数年の時を経て知った驚愕の事実!

まぁ、物心つくまえからZ80つかってたから、
名前の意味なんて考えたことないし
178デフォルトの名無しさん:04/12/05 01:05:31
>>175
それはちょっと違うような。
どっちがメインでもよかったはず。
なのでZ80が主処理で、
68000がサブという動かし方でもよかったはず。
179デフォルトの名無しさん:04/12/05 01:55:28
PC-8001もZ80だったが、PC-8031もZ80積んでたのには驚いた。
しかも(当時としては)広大な16KBものRAMを積んでた。
なんせ本体も16KBRAMとか言ってた時代だ、ディスクドライブに本体と同じだけあるとはね。
尤も、価格的にも本体同様16万8千だった気がしたが。
#無印8031はもっと高かったかも知らん。

そう言えば、FM-7は6809*2だったっけ?
180デフォルトの名無しさん:04/12/05 02:03:35
181デフォルトの名無しさん:04/12/05 02:15:10
FM-7の先輩のFM-8も6809*2だったんだがな…。
182デフォルトの名無しさん:04/12/05 02:16:10
2ちゃんねる昔のPC板
http://bubble2.2ch.net/i4004/
183デフォルトの名無しさん:04/12/05 13:33:30
>>137
6809はメインメモリ全部をレジスタにしてるようなもんだからなぁ。
当然、他の8ビットCPUよりも遥かにメモリアクセスがシビア。

Z80のZはZilogのZでもあるが、THE 80 のTHEを一文字に縮めたZでもある。
184デフォルトの名無しさん:04/12/05 15:27:30
アセンブラとかダッセwww
カス同然だっての
185デフォルトの名無しさん:04/12/05 16:05:15
アセンブラって素敵ぃ♥♥♥
尊敬しますっ☆
186デフォルトの名無しさん:04/12/05 19:47:38
アセンブラに嫉妬する奴はまだいいよ。Java厨とか、
なんてったってアセンブラ読めないからね。
187デフォルトの名無しさん:04/12/05 19:50:50
Java バイトコードが読めれば、それでいい。
188デフォルトの名無しさん:04/12/05 20:08:23
んなわけない
189デフォルトの名無しさん:04/12/05 20:18:42
俺は、ジャバは、
風呂釜さえ綺麗になれば、それで、いいと思って、いる。

ttp://www.johnson.co.jp/inquiry/faq/ja01/
190デフォルトの名無しさん:04/12/06 00:23:48
gcc(Linux/x86)で、 .Sファイルから.cの関数(foo)を呼びたいんですが
call foo
と書くとリンク時にundefinde referenceになってしまいます。
なにか手順があれば教えていただけませんか?

191デフォルトの名無しさん:04/12/06 00:30:19
>>189
ワラタ
MASMあげ
192デフォルトの名無しさん:04/12/06 00:33:00
80386と
カローラFX
193デフォルトの名無しさん:04/12/06 00:35:17
>>190
objdumpコマンドで.oファイルとかを見てみよう!
194デフォルトの名無しさん:04/12/06 00:36:00
gcc -S hoge.c がいいんじゃないかな
195デフォルトの名無しさん:04/12/06 00:40:06
どーせネームマングリングだろ。FAQ過ぎ調べなさ過ぎ根性なさ過ぎ
196デフォルトの名無しさん:04/12/07 03:23:00
パチンコ/パチスロ特殊技術裏掲示板
http://jbbs.livedoor.jp/sports/19329/index.htm
197デフォルトの名無しさん:04/12/07 20:17:49
へーかよ
198デフォルトの名無しさん:04/12/08 01:47:07
6809の評判いいみたいだけど何が良かったとですか?
俺はMZとMSXでZ80erだったんで。
199デフォルトの名無しさん:04/12/08 02:19:17
Z80をフランスパンに例えると、6809はパンの生地のような感じだったな。
とにかく思った通りにプログラムがガシガシ書けた。

Z80は命令体系が固いので、何度も同じようなフレーズを繰り返し繰り返し
書かなければならなかった。例えば8ビットCPUはメモリ空間が狭いので
スタックフレームなどと優雅な物を作る余裕がなかなかなく、CALL命令の
後に1〜2バイトのパラメータを置く、いわゆるインラインパラメータを多用
していたが、Z80のようなCPUではそのパラメータを取り出すのに大変な
手間が必要だった。

6809ならすぐ取り出せた。
200デフォルトの名無しさん:04/12/08 03:27:22
データレコーダで普通のカセット再生させて録音とかやったなぁ…
201デフォルトの名無しさん:04/12/08 05:58:59
なつかしいなぁ。よくWラジカセでダビンg(ry
202デフォルトの名無しさん:04/12/08 07:03:37
>>201
そういう意味ではなく、PCのメモリに録音したんだと思われ
203デフォルトの名無しさん:04/12/08 08:17:11
だから、いいかげんZ80だの6809だのの話は昔のPC板でやれっての。
専用スレまでちゃんとあるだろ。
204デフォルトの名無しさん:04/12/08 08:22:11
>>203
じゃあ、具体的に何のCPUの話をしろと?
205デフォルトの名無しさん:04/12/08 09:41:40
PCとCPUの区別もつかないのか?
Z80なんて組み込みじゃまだ現役だぞ。
206デフォルトの名無しさん:04/12/08 10:21:22
>>203
知ったか君は二度と来なくていいよ。
207デフォルトの名無しさん:04/12/08 10:30:38
>>203
そんなに排除したかったら、32bitアセンブラとでもスレ建てて、
勝手にそっちでやればいいのに。
208デフォルトの名無しさん:04/12/08 10:37:50
>>203
煽るぐらいなら、まずお前がアセンブラの話をしてみろ。
それも出来ないで煽るだけなら迷惑だ。
209デフォルトの名無しさん:04/12/08 11:19:27
そもそもアセンブラでガシガシ書いてたのってそのあたりのCPUでだからな
これは自然の流れと言う奴だろう
210デフォルトの名無しさん:04/12/08 11:21:45
逆に、AMD64とかSPARC64とかで、アセンブラでガシガシ
書くのが最高とか本気で言ってる奴がいたら、結構引くな。
凄いと言うより、アホかなと思ってしまう。
211デフォルトの名無しさん:04/12/08 11:30:01
あー今思い出したけど、6502ってCPUもあったな。
AppleIIとかコモドールに使われていたっけ。
俺がパソコンを知った時は既に16ビット時代だったのでついに一度も
6502でアセンブラを使った事はなかったけど、なぜか手元に本だけある。

インデックスレジスタまで8ビットだって!?こんなんでよくプログラムを
書いてたんだなあ。
212デフォルトの名無しさん:04/12/08 11:37:01
何を言ってるんだ。AMD64 でレジスタ数が倍増した今こそ
ループアンロールと依存性最適化で人間様の実力を見せ付けてやるときじゃないか
213デフォルトの名無しさん:04/12/08 12:19:16
214デフォルトの名無しさん:04/12/08 12:22:12
>>212
アセンブラの未来は君に託した
ガンガレ
215デフォルトの名無しさん:04/12/08 12:29:34
>>212
あーでもね、コンパイラより速くハンドアセンブルして、コンパイラの吐いた
コードよりも速く動作するものを書けないと、お払い箱だからね。
216デフォルトの名無しさん:04/12/08 13:03:40
217デフォルトの名無しさん:04/12/08 13:07:06
218デフォルトの名無しさん:04/12/08 13:15:36
>>217
これ見て、FM-7のゲームのプロテクトがもの凄くトリッキーに書かれて
いたのを追憶したよ。

6809は綺麗に書けるというより、楽に書けるという方が正しく、汚く書けば
それこそ解読不能なほどトリッキーなプログラムになってた。

さらにFM-7はサブシステムにも6809を使っていて、メインの方でディスク
を読んでいる途中でサブシステムから割り込みを掛けて、別の所へ飛ばす
なんて常套手段だった。おっとっと、これこそ昔のPC板で書かないといけない
話題だな。

UNIXにしろWindowsにしろ回りがOSでガチガチに固められている今、あまり
面白い事はできなくなったなー。
219デフォルトの名無しさん:04/12/08 13:15:38
220デフォルトの名無しさん:04/12/08 13:19:59
221デフォルトの名無しさん:04/12/08 14:02:02
ファミコンは6502カスタム、スーパーファミコンは65816カスタムが
使用されていた。
特にコンシュマーで65816のシェアはほとんどスーファミに消費されて
いたと言えるほど独占的だった。
驚くべき事に、スーファミのゲームの大半はアセンブラで書かれていた!

それがGBではZ80カスタム、GBAとDSではARMカスタム、GCではGekko
(PowerPCカスタム)と節操がない。まあ開発言語にC/C++を使用する事
によってアセンブラレベルの違いはライブラリで吸収してしまった事による
効果だろうが。
222デフォルトの名無しさん:04/12/08 14:04:57
【過去ログ】
アセンブラ… (゚д゚)ウマー
アセンブラヽ(`Д´)ノモルァ
アセンブラヽ(`Д´)ノモルァ
アセンブラ… (・∀・)イイ!
アセンブラ… (*´д`*)アハァ…
アセンブラ… (;´Д`) ハァハァ
アセンブラ… (°Д°)ハァ?
アセンブラ… (´・∀・`)ヘー
223デフォルトの名無しさん:04/12/08 14:06:48
>>221
AppleIIGSにも搭載されていたよ。短命におわったけどね。
224デフォルトの名無しさん:04/12/08 14:10:37
>>221
コンシューマーゲームじゃ標準ライブラリの有用性はほとんど
無いから、ハードウェア操作やタイミンブバリバリのコードを
組むならC言語よりも、アセンブラの方がやりやすいのだろうな。

プリプロセッサ(トランスレータ)型の構造化アセンブラを
使ってるから、そんな書きづらい訳じゃないしね。
自分はC言語ライクで組めるアセンブラトランスレータを自作して
それで組んでた。
225デフォルトの名無しさん:04/12/08 14:13:14
6502は秀逸のデキだったが65816はウンコだった
226デフォルトの名無しさん:04/12/08 14:16:46
>>225
ひどかった。8ビットと16ビットのデータを使い分けるのに命令ではなくて
フラグで制御するなんて、とてもあり得ない。

16ビットCPUで多分一番レジスタが少なかったし。
227デフォルトの名無しさん:04/12/08 14:18:11
6502の設計者は予知能力があったのか、それまで散々現場でコードを
書いてきた超ベテランなのかのどっちかだな。
228デフォルトの名無しさん:04/12/08 14:22:45
両方だろ
229デフォルトの名無しさん:04/12/08 14:26:26
最強の周辺チップのZ80と最強の命令セットの6502
8ビットならこの二つのうちどちらかが良かったね
Z80が6502の命令セットを載せると無敵だったろうな。

230デフォルトの名無しさん:04/12/08 14:27:19
>>210>>212>>215

マジレスすると、真に最高速のコードを書くのは骨が折れる。
ていうかスケジューリングは手でやらず自製オプティマイザでやってる。
231デフォルトの名無しさん:04/12/08 14:28:48
最早命令セットなんて何の価値もないんだよ。
そんなものに固執するなんて
果物の皮かじって喜んでいるようなもんだな。
232デフォルトの名無しさん:04/12/08 14:32:24
>>230
頼む、そのオプティマイザを公開してくれ
233デフォルトの名無しさん:04/12/08 15:32:43
金とれるんじゃねーか
234デフォルトの名無しさん:04/12/08 15:43:16
>>212
アホですか?
命令セットは同じでも、中身がコロコロ変わっていくぞ。その度に、全部書き直すのかよ。
235デフォルトの名無しさん:04/12/08 18:45:27
32bitのWindows(2k/NT)でソフトウェア割り込みする方法を教えてぴょん!
236デフォルトの名無しさん:04/12/08 19:32:17
>>234
そうだよ。アーキテクチャごとに最適化してる。常識だよ?
237デフォルトの名無しさん:04/12/08 19:35:07
ttp://www.k-micro.com/seihinm03g.html#RAM

KC80のデータバスについての記述なんですが
リード時はハイインピーダンス・・・って
ハイインピーダンス状態でどうやって読み込んだデータをレジスタに入れるんでしょうか?
238デフォルトの名無しさん:04/12/08 19:39:53
>>237
>データバスD<7:0>はハイインピーダンス状態への変化ですから、
>データバス上の負荷(浮遊容量を含む)により、短時間ですが
>データが保持されます。これは、データホールド時間の余裕を増す方向です。
239デフォルトの名無しさん:04/12/08 19:49:41
>>237
データバスは入出力(双方向)です。入力と出力がつながっている。
そのため(データバスの)出力がハイインピーダンスにならないと、外部の信号を読み取れない。

データバスがハイインピーダンスになれば、外部の信号を読み取れる。
240デフォルトの名無しさん:04/12/08 20:12:11
普通リード時のデータバスはハイインピーダンスだ
そうで無いとデータを出力しているデバイスと信号がぶつかるだろ
241デフォルトの名無しさん:04/12/08 21:12:30
>>238-240
言われて見ればその通りですね・・・
ド文系なので電子回路の常識すらわかってない始末でして
もっと勉強します。
ありがとうございました。
242デフォルトの名無しさん:04/12/08 21:37:14
>>237
 内蔵RAMアクセス時は、アドレス・データバス及び各制御信号の状態は以下の通りです。
~~~~~~~~~~~~~~~~~~~~~~
アドレスバス :  アクセスするアドレス値を出力
 データバス :  リード時はハイインピーダンス状態、ライト時は書き込みデータ値を出力
各リードライト信号・チップセレクト信号 :  "H"(インアクティブ状態)
243デフォルトの名無しさん:04/12/08 21:55:51
>>242
そりゃ「4.内蔵RAM」しか読まないとそうなるだろうな。
244253:04/12/10 18:59:20
無視すんなぴょん!
245デフォルトの名無しさん:04/12/10 19:17:43
目的が何で
試みた手段が何で
どうダメだったか書け。

この池沼っぷりのカキコからして、カーネルモードの話じゃなさそうだしな。
246デフォルトの名無しさん:04/12/11 05:23:33
HSセグメントレジスタって使われていますか?
247デフォルトの名無しさん:04/12/11 05:27:48
>>246
FSとかGSと違うのか?
248デフォルトの名無しさん:04/12/11 06:39:47
HentaiSexセグメント
249デフォルトの名無しさん:04/12/11 07:36:47
>>246
HSはAMD64しか持っていないけど、WinXP sp2で使われているよ。
250デフォルトの名無しさん:04/12/11 09:12:44
>>249
嘘つけ。良く調べないでいい加減な事を書くな。
Athlon64は64bitモードではCS、FS、GSの3つだけが有効になる。
32bitモードでは従来と同じ。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
251デフォルトの名無しさん:04/12/11 09:30:33
>>250
あるんだなそれが。
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF

↑P254のパフォーマンスイベントの項目にHSレジスタのロード回数がある。
sp2上でそのイベントをモニタするときちんとカウントしている。
252デフォルトの名無しさん:04/12/11 09:34:28
>>250
自分で自分のこと、馬鹿って言うこと無いのに。
253デフォルトの名無しさん:04/12/11 10:08:06
>>251>>252
だからどうした。命令表のどこを見てもHSをセグメントセレクタとして
使う方法はのっていない。パフォーマンス・モニタにはロード回数が
カウントされるのだろうが、アセンブラレベルからいじる方法はなく、
説明もない事から、これは拡張予定のレジスタなんだろ。

もしどうしても存在するというなら、XPSP2で使われているという
ソースを示してみろ。
254デフォルトの名無しさん:04/12/11 10:16:02
アセンブラレベルって・・・直接バイナリコードで埋めれば
使えるじゃん。
まぁ、あることは確かだね。漏れもパフォーマンスカウンタで確認した。
255デフォルトの名無しさん:04/12/11 10:19:21
メーカーが公表していないものを、あると言えるソースはどこに
あるのだろうか。命令の規則性と、パフォーマンス・モニタから、
ある事は推測できても、使えるという保証はないわけで。

ちょうどOCして動作保証がないのと同じ感じ。
256デフォルトの名無しさん:04/12/11 10:21:37
>>253
こういうのが一番みっともないね。
公式のマニュアルにHSレジスタの存在が書かれているわけだから
それがすべてジャン。
257デフォルトの名無しさん:04/12/11 10:23:42
>>256
いやだから、>>251のパフォーマンス・モニタには項目はあるものの、
アプリケーション・ガイドとか読んでも、どこにも記述がない。

という事は、あくまでも拡張予定で、実際には内蔵されていないという
可能性もあるわけだ。
258デフォルトの名無しさん:04/12/11 10:26:40
>>251
俺も確認した。Win2kでは0x4020のイベントは0のまま
XPsp2ではカウントしていた。

Athlon64のパフォーマンスカウンタの一覧を探していたけど
BIOSのマニュアルに載っているとは・・・
259デフォルトの名無しさん:04/12/11 10:30:02
HSレジスタ関連のコードってどんなんだろ?
セグメント プリフィクスだとFS: GS:の後は違う命令で埋まっているし。
260デフォルトの名無しさん:04/12/11 10:37:54
パフォーマンスカウンタってどうやって調べるのかいな。
カーネルモードじゃないと、MSRレジスタって書き込めないよね。
261デフォルトの名無しさん:04/12/11 10:45:20
>>260
http://home.iae.nl/users/mhx/perf.html

ここのどっかにあるはず。ちょっと使い方は面倒だけど。
262デフォルトの名無しさん:04/12/11 11:12:29
HSレジスタって詰まる所は隠しレジスタなのか?
263デフォルトの名無しさん:04/12/11 11:41:09
ほんとうにhsレジスタがあるならば、M$には隠していないようだけど。
ググって見ても、それらしきものはAMDのマニュアルしか出てこないなー
264デフォルトの名無しさん:04/12/11 11:52:19
別にHSでもISでもJSでもあっていいと思うが、状況証拠だけであると
決めつけている奴は嫌だ。

プログラミング・マニュアルにきちんと正式に載ってから、「ある」と
言うのならわかるが。
265デフォルトの名無しさん:04/12/11 11:57:48
俺だったら、最低OPコードが公開されてから信じる。
そうでないと、まるで霞を食っているような気分が消えない。
266デフォルトの名無しさん:04/12/11 12:14:06
HS = HiddenSegment ?
267デフォルトの名無しさん:04/12/11 12:16:59
Z80の隠し命令について語ろうぜ
268デフォルトの名無しさん:04/12/11 12:20:09
海外をぐぐってもHSはパフォーマンス・カウンタ・イベントしか出てこない・・・・
ウィルスを作られるのを恐れて、OPコードは厳重に隠してるんだろうか?
269デフォルトの名無しさん:04/12/11 12:20:47
>>259
mov hs,axを66h 8Ch F0hとして実行したら、マニュアルに定義されていない
30番例外が発生しました。何かありそうですね。
270デフォルトの名無しさん:04/12/11 12:25:42
>>267
IX、IY関係(0DDH、0FDH)の空きの部分に隠し命令がたくさんあったね。

http://www.geocities.com/SiliconValley/Peaks/3938/z80undoc.htm
↑これが過去ログで見つかった。今も生きている。
271デフォルトの名無しさん:04/12/11 12:27:20
6809にも変な隠し命令があったよ。ASLCCとか。使えそうもないね。
272デフォルトの名無しさん:04/12/11 12:30:17
6809の日立製セカンドソース6309の隠し命令は強力だった。
確かモトローラから訴えられそうになって、慌てて隠したそうだけど。

http://www.6809.net/op6309.html
273デフォルトの名無しさん:04/12/11 12:39:41
>>266
ソレダ
274デフォルトの名無しさん:04/12/11 12:43:52
>>270
0ddh,0fdh関係って、HLのプレフィックスだから隠したと言うより公開しなかっただけって希ガス。
他にもμPDシリーズだからNEC製かな? 0edh関係で隠し拡張があったような記憶がある。
275デフォルトの名無しさん:04/12/11 12:49:32
X1-Turboって、確かIN/OUT命令で、本来はアドレスバスの下位8ビットに
Cレジスタの内容が出力される事だけが保証されてたのを、無理矢理
BCレジスタが16ビットとして出力されるのを利用して画面描画してたよね。
276デフォルトの名無しさん:04/12/11 13:25:10
教訓
言い訳はやめよう
277デフォルトの名無しさん:04/12/11 13:52:56
>>264
>状況証拠だけで

状況証拠がすべてだろ
あるって書いてあるんだから

使って欲しいからマニュアル化するのであって、
使って欲しくない物までマニュアル化する必要はないでしょう。
278デフォルトの名無しさん:04/12/11 14:02:59
>>277
だからどうやって使うのん?OPコードは?
279デフォルトの名無しさん:04/12/11 14:05:04
ああそうか、そういう事ね。
使われたくないから、OPコードも仕様も公開しない。
だけど確実に存在する。

俺はてっきり、使い方やOPコードもどこかで公開されているのかと
思ってたよ。
280デフォルトの名無しさん:04/12/11 15:20:13
>>250の必死さがにじみでてよい
281デフォルトの名無しさん:04/12/11 18:18:45
>>280
「良く調べないでいい加減な事を書いてしまいました。ごめんなさい。」
って書くだけなのにね。哀れなり。
282デフォルトの名無しさん:04/12/11 19:04:47
どうでもいいけどAMD64のマニュアルはちゃんと読んでおこう な!
283デフォルトの名無しさん:04/12/11 19:06:42
sakky乙
284デフォルトの名無しさん:04/12/11 19:24:35
>>282
マニュアルも糞も、>>251の資料に申し訳程度に書いてあるだけで、
他のプログラミング・マニュアルにはHSに関する事は一つ足りとも
出てないっつーのに。普通はそう思って当然だぞ。
285デフォルトの名無しさん:04/12/11 19:25:01
>>250であそこまで啖呵切っちゃたらそりゃ引けないわな
286デフォルトの名無しさん:04/12/11 19:41:00
アセンブラとCでプログラミングをしてます。

Cコンパイラはgcc、アセンブラはnasmを使用したいのですが。
gccのインラインアセンブラにnasmを使用することは出来ないのでしょうか?

gasのあのけったいなニーモニックを使いたくありません。

もしくはnasmで記述したアセンブラ命令をCから関数として呼び出すことはldを使ってできるのでしょうか?

どなたか教えてください
287デフォルトの名無しさん:04/12/11 19:43:23
gcc -S -masm=intel 程度じゃダメか?
288デフォルトの名無しさん:04/12/11 19:45:20
>>287
意外と知られてないよね
289デフォルトの名無しさん:04/12/11 21:33:04
>>261
Thx。ドライバを手動でインストールするとはw
確かにSP2でHS Loadはカウントされていますね。試しにSP2を
アンインストールして確認してみたらHS Loadはカウントされませんでした。
290260=289:04/12/11 21:55:32

あ、イベント(?)は4020Hであってますよね?
291デフォルトの名無しさん:04/12/11 23:00:20
AMDのマニュアルにHSレジスタロードでカウントすると書いてあり
かつ実際の環境でカウントしているのに、HSレジスタは無いと言い張る輩
(多分>>250が自演)が惨めですね。

あ、途中で「無い」から「保証はしない」と変わっているなw
292デフォルトの名無しさん:04/12/11 23:54:29
293デフォルトの名無しさん:04/12/12 03:20:37
HSって冗談で書いたのに、マジであるのかよ。

P4にはないのかな
294デフォルトの名無しさん:04/12/12 03:23:13
>>291
しつこい。氏ね
295デフォルトの名無しさん:04/12/12 04:51:06
というか、何に使うんだろ
FSもGSももてあましていると思うんだが・・・
296デフォルトの名無しさん:04/12/12 05:10:48
>>295
NTはfsを良く使うけど。gs以降はしらん
297デフォルトの名無しさん:04/12/12 05:13:08
>>291はHSがどんな使われ方をされているかも知らない癖に、
知ったかぶりをする馬鹿。お前どれくらい知ってて人の事を
それだけけなしてるんだ?
298デフォルトの名無しさん:04/12/12 06:25:07
単なる誤記のような気がすんだけどな
299デフォルトの名無しさん:04/12/12 06:41:37
そういえば、AMD64とEM64Tの違いの発生原因は
AMDのマニュアルの記載ミスだったとかなんとか。
300デフォルトの名無しさん:04/12/12 06:49:37
>>299
それは、LAHFとSAHF命令でしょ。
古いAMD64の仕様書には、この2つの命令はロングモードで無効命令と
なっていた。

それに性能カウンタは、もともとAthlonとP4でまったく互換性はありません。
301デフォルトの名無しさん:04/12/12 07:38:13
>>278
お前がはっきりと『存在しない』と断言したのでみんな反応しているわけだが。
302デフォルトの名無しさん:04/12/12 07:40:10
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。

どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。

どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。

どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。

どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
303デフォルトの名無しさん:04/12/12 07:43:24
なんか、HSはあることはあるけど、使われない物と言うことで収束させたいみたいだけど、
>>249では、WinXPのSP2で使ってるって書いてあるけど。
304デフォルトの名無しさん:04/12/12 07:52:22
つまりSP2では、CPUを自動判別してAMDの場合にはHSを使ったコード
を実行してるってこと?
305デフォルトの名無しさん:04/12/12 08:12:57
自分で作ったカウンタで調べたので、信憑性ないといわれたらそれまでだけど
確かにHS Loadはカウントされている。本当にHSが存在しているのかは謎だけど。
何もさせない状態だと1秒間に250〜600カウントくらい。
(一番多いのはFSだった)

AthlonXPからえらくイベントの項目が増えたな。
306デフォルトの名無しさん:04/12/12 13:28:22
>>301
みんなじゃなくて、ここまで派手に反応しているのはお前だけだろうが。
307デフォルトの名無しさん:04/12/12 15:44:19
出た出た
敵が単独に見える病(w
308デフォルトの名無しさん:04/12/12 15:46:24
うっせハゲ
309デフォルトの名無しさん:04/12/12 16:38:42
トリップつけようよ
310デフォルトの名無しさん:04/12/12 20:19:22
>>296
nt!SwapContext+0xc7:
804def3d e8595c0000 call nt!KeReleaseQueuedSpinLockFromDpcLevel (804e4b9b)
804def42 33c0 xor eax,eax
804def44 8ee8 mov gs,eax
311デフォルトの名無しさん:04/12/12 23:13:37
HSっていうと、PICを思い出す
312デフォルトの名無しさん:04/12/13 00:21:38
IS
313デフォルトの名無しさん:04/12/13 00:24:38
スターリン戦車
314デフォルトの名無しさん:04/12/13 01:09:37
ZS
315デフォルトの名無しさん:04/12/13 01:14:44
>>310
0をセットするコード見ても面白くねえよ
316デフォルトの名無しさん:04/12/13 01:18:32
>>314
シルカ対空砲
317デフォルトの名無しさん:04/12/13 05:00:00
push cs
pop gs
318デフォルトの名無しさん:04/12/13 13:28:52
証拠出されてやっと引いたか。アンチHS厨。
319デフォルトの名無しさん:04/12/13 13:46:34
>>318
そうではない。お前があまりにもしつこいのでスルーしてただけ。
ここはアセンブラスレなので、HSの存在確認を行う場ではない。
そういうのはハードウェア板へ逝け。
悔しかったらHSの使い方を説明してみろよ。
320デフォルトの名無しさん:04/12/13 13:47:22
俺書き込んだの初めてだけど?
321デフォルトの名無しさん:04/12/13 13:49:13
名無しだから何とでも言える罠。
322デフォルトの名無しさん:04/12/13 19:40:07
まあまあ。喧嘩はよくない。

しかし、MSはわざわざAMD用のコードをSP2に入れて何をしたかったんだろうね。
323デフォルトの名無しさん:04/12/13 19:49:40
当然次世代Windowsに向けて、AMD64へのネイティブ対応も
模索してるからだろ。
324デフォルトの名無しさん:04/12/13 19:51:36
250 :デフォルトの名無しさん :04/12/11 09:12:44
どちらにしろHSなんてセグメントレジスタは存在しない。
325デフォルトの名無しさん:04/12/13 19:56:26
うやむやにして
どちらにしろ〜ない
というのはテンプレだからな。
326デフォルトの名無しさん:04/12/13 20:20:42
>>324
しつこ過ぎる。女の腐った奴みたいだな。
327デフォルトの名無しさん:04/12/13 20:27:36
PG女の7割がこんな感じだけどな。
328デフォルトの名無しさん:04/12/13 20:34:17
>>327
女は女だからいいんだよ。男が女みたいだと禿げしくキモイだけ。
329デフォルトの名無しさん:04/12/13 20:38:06
>>250顔真っ赤ですよ
330デフォルトの名無しさん:04/12/13 20:39:43
嘘つけ。良く調べないでいい加減な事を書くな。
Athlon64は64bitモードではCS、FS、GSの3つだけが有効になる。
32bitモードでは従来と同じ。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
331デフォルトの名無しさん:04/12/13 20:39:56
SP2でAMD用の独自コードといえばDEPくらいしか思い浮かばないな。
332デフォルトの名無しさん:04/12/13 20:49:35
>>330
どうして存在しないと言えるんだ。パフォーマンス・カウンタのイベントに
HSへのロード回数が記録されているんですけど(・∀・)ニヤニヤ
333デフォルトの名無しさん:04/12/13 20:52:37
コピペ
334デフォルトの名無しさん:04/12/13 20:54:29
>>330
あるんだなそれが。
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF

↑P254のパフォーマンスイベントの項目にHSレジスタのロード回数がある。
sp2上でそのイベントをモニタするときちんとカウントしている。
335デフォルトの名無しさん:04/12/13 20:58:31
香ばしくなってまいりました。
336デフォルトの名無しさん:04/12/13 21:48:00
で、それは実際なんなの?
337デフォルトの名無しさん:04/12/13 22:03:21
でじゃぶー
338デフォルトの名無しさん:04/12/13 22:06:07
何とかAMDからもっと詳しい情報が流出しないかな。
過去にも隠し命令を持ったCPUは数あったけど、AMD64は他にも
いろいろ隠してそうで、宝箱みたいで楽しみだ。
339デフォルトの名無しさん:04/12/13 23:09:20
自爆コマンドとかないかな
340デフォルトの名無しさん:04/12/13 23:47:05
>>300
よく聞く話だけど、どこかに古い仕様書ある?
341デフォルトの名無しさん:04/12/14 00:20:26
342デフォルトの名無しさん:04/12/14 13:39:52
>>321
敵が一人に見える病が治ってないみたいだな
343デフォルトの名無しさん:04/12/14 14:04:24

344デフォルトの名無しさん:04/12/14 14:21:06
>>342
不治の病だから
345デフォルトの名無しさん:04/12/14 23:40:56
富士の山
346デフォルトの名無しさん:04/12/15 00:02:47
おれのFreeBSDでもカウントアップしてる模様なんだけど、
そこんとこどうよ
347デフォルトの名無しさん:04/12/15 04:03:30
>>323
とっくの昔にAMD64版のWindowsXPは開発されてβテスト中ですよ。
CPU依存しない部分は、AlphaやIA-64で開発したコードをコンパイルし直しただけでしょうが。

で、32ビットのWindowsXPのSP2といえば、AMD64のCPUの新機能を使ったセキュリティ強化ですよ。
HSレジスタも、それに関係があるのと考えるのが妥当。セキュリティ関連なので開示されてないのだと思う。
348347:04/12/15 04:11:36
え、FreeBSDでもカウントしてるの?
じゃぁ、セキュリティ機能じゃないね・・・。

ああ、そうか、わかったぞ。
もう今のx86系CPUには物理的にEAX等のレジスタは存在しなくて、
内部にRISC風の多くの(本当に)汎用なレジスタがたくさんあって、ばりばりリネーミングしてるわけで、
HSレジスタというのもISAでは触れられないんだよ。

レジスタとして中に存在しているのかもしれないし、
レジスタと呼んでるけどパフォーマンスカウンタの中の1カウンタにつけた名前に過ぎないのかもしれない。
349デフォルトの名無しさん:04/12/15 08:01:37
>>348
つまりsp2やBSDで明示的にHSを使ってるわけじゃないってこと?
BSDだったらその辺の情報が公開されていそうだが、どうなんだろう。
350デフォルトの名無しさん:04/12/15 08:41:27
明示的ではないとなるとTSSをつかったfar jmp系くらいしかないと思いつかないけど
他にあったっけ?
あと、NTはコンテキストの復帰にTSSは使っていなかったような
351デフォルトの名無しさん:04/12/15 08:58:05
水を得た魚のように、ほら、やっぱりHSなんて無いかも知れないじゃん!
と厨房復活の予感。
352デフォルトの名無しさん:04/12/15 09:07:10
ほら、やっぱりHSなんてないじゃん。
353デフォルトの名無しさん:04/12/15 09:48:19
たとえ実はなかったとしても
最初に >>348 みたいな理由を書かなかった時点で
厨房確定だろ。
まぁ騒いだあとに、実は本当にHSレジスタあったよーん
っていうのが理想的だが。(w
354デフォルトの名無しさん:04/12/15 12:20:45
おまえらHSのセグメントオーバーライドプレフィクス探してから寝言言ってくれよ
355デフォルトの名無しさん:04/12/15 13:37:32
AMDだけあるのかな
356emulator 8086:04/12/15 14:38:08
分かりますか?

"write an 8086 assembly language module that inspects an array of ASCII
characters at location STRING: The last character is the terminator
and is "00H"(null). A variable TEST: is to be set to 1 if STRING
contains at least one digit(0.....9) and 0 if no digits are found,
variable length: is to have the length of STRING but not including the
terminator..."
357デフォルトの名無しさん:04/12/15 14:41:37
宿題くらい自分でやれ。
早い話がstrlenとatoiを合わせたようなのを作れってこった。
358デフォルトの名無しさん:04/12/15 14:44:54
訂正。atoiまでやらなくていい。もっと簡単。数字の有無だけわかればいい。
359デフォルトの名無しさん:04/12/15 14:54:38
>>344
不治の病でdie end
360emulator 8086:04/12/15 14:59:02
もう一個あります。

Write an assembly language program, patterned after the
"LODS/STOS" example program, but that moves a block of 60H bytes
from location DS:300H to lacation DS:400H. DS(data segment) is
loaded correctly. The bytes are to be written in reverse order:
that is an even byte location(LSB address is 0) is written to
an odd byte location(LSB address is 1) and vice-versa.
361デフォルトの名無しさん:04/12/15 15:06:39
strlenなんか習った事ないんですよね。
362デフォルトの名無しさん:04/12/15 16:00:34
英語で出題されたってことはそれを読むのも宿題のうちだろ。ボケ。

363デフォルトの名無しさん:04/12/15 21:33:10
それは、「LODS/STOS」の例プログラムから学習され作られます。
更に、アセンブリ言語プログラムは書かれています。しかしながら、
それは、位置DS:300Hからlacation DS:400Hに60Hバイトの
ブロックを移動させます。DS(データセグメント)は正確にロード
されます。:――それにそれは書かれることになっています(それ)
それは正しい――――それは逆で1バイト(カーブ)(LSBアドレス
は0です)まで目的のために[位置/バイト]を与えてもよい、それ、
オーダーで――どれに?NAす、奇妙なバイト位置(LSBアドレスは
1です)およびそれは、これに書かれています。
364デフォルトの名無しさん:04/12/21 12:07:50
(´・∀・`)ヘー
365デフォルトの名無しさん:05/01/02 05:09:55
 int 13h命令を使用してフロッピーを読もうとしていまが。どうにもうまくいっていないように思います。
やりたいことは、21,012 バイトあるフロッピーのデーターをとあるint 13h命令を使用して、とあるアドレスに読み込むことです。

私の知識によれば、一般的な1.44MBフロッピーは1トラックあたり18セクタ。一セクタあたり512バイトと記憶しています。

 となると。2セクター以降の21,012-512バイト分(トラック番号はどこで指定すればよいか分かりませんが、
Linuxのブートコードを見ると、どうやらchレジスタに指定しているようなのですが…
BIOSのインストラクションセットの表を見るとchレジスタはシリンダ番号と書かれています)を読むのに、
以下のように設定してint 13命令を発行しました。al=17, cl=2(2セクタ目から読み込む),dl=0, ch=0, dh=0

 これで、17 * 512 byte分読み込まれたことになりますよね?。

ここからが分かりません。フロッピーがどのような書き込みイメージ形式を取っているのかわからないのですが。

 al=60などと指定しても、きちんと読み込めているようです
(int 13h命令発行後のalレジスタの値とフラグが立っていることからも正しく読んでいると思われる。)
これはなぜでしょうか?、1.44MBフロッピーは一トラックあたり18セクターではないのですか?。
それなのになぜ18セクター以上でも読み込めるのでしょうか?

 また、1.44MB(2HD)ですので、裏面が存在します。

記録順としては表→裏→表→裏なのでしょうか?、それとも表(の限界まで書き込んで)→裏なのでしょうか? 
 見苦しい文章ですが…どなたか教えてください、お願いします
366デフォルトの名無しさん:05/01/02 05:43:51
スレ違い。

アセンブラの話じゃないじゃん。
それはBIOSのファンクションコールの話。
367デフォルトの名無しさん:05/01/02 06:38:33
でーでーげでげーでーで
でーでーげでげーでーで

くっしゃみ一つで呼ばれたからは
それが私のご主人様ァよぉ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜い

んってーんてーけてーてけてけてけてー

ファ
ファ
ファンクション大魔王
壷(2ch)の中からはははん飛んでくる
368デフォルトの名無しさん:05/01/02 11:27:41
困ったときはInterrupt List

Most BIOSes support "multitrack" reads, where the value in AL exceeds the number of sectors
remaining on the track, in which case any additional sectors are read beginning at sector 1 on the
following head in the same cylinder; the MSDOS CONFIG.SYS command MULTITRACK (or the Novell
DOS DEBLOCK=) can be used to force DOS to split disk accesses which would wrap across a track
boundary into two separate calls.
369デフォルトの名無しさん:05/01/02 12:59:27
>>365
> ここからが分かりません。フロッピーがどのような書き込みイメージ形式を取っているのかわからないのですが。

我々は、君が読もうとしている FD を持っていないので、それは君もしくはエスパーにしかわからない。

(つーか、そんなこともわからずに FD 直接読み出して、何をしたいんだろう...。)
370デフォルトの名無しさん:05/01/09 17:14:03
ロリータ指向プログラミング
ttp://www.entis.jp/doc/lolita_programing/lolita2.html

ナニコレェ
371デフォルトの名無しさん:05/01/11 20:25:05
自分でespを変動させてスタックエリアに色々値を詰めてしまってもいいのですか?
例えば400バイト欲しい時に、0を100回pushするのでは無くて、
sub esp, 400
とやってその間のesp〜esp+400の領域を勝手に利用してしまっても大丈夫ですか?
372デフォルトの名無しさん:05/01/11 21:06:35
Cコンパイラの吐くコードみたことないのかなあ。
373デフォルトの名無しさん:05/01/11 21:53:01
alloca
374デフォルトの名無しさん:05/01/11 21:58:18
>>371
>0を100回push
>sub esp, 400

後者は0fillされてないことに留意すればおk。
375デフォルトの名無しさん:05/01/12 01:57:17
>>371
esp変更しただけでは駄目。
4kごとにわざと空参照しないとページ違反でるよ。
OSによってページサイズ違うかもしんないし、
かならずページ違反になるわけではないけど、
これ放置しとくと後々謎のバグということに・・・。
376デフォルトの名無しさん:05/01/12 02:01:16
>>374
嘘教えんなヴォケ
377デフォルトの名無しさん:05/01/12 03:24:09
>>373-375
良く分かりました。ありがとうございます。
378デフォルトの名無しさん:05/01/12 03:44:23
>>375
ハァ?
379デフォルトの名無しさん:05/01/12 04:52:07
win32ではスタックを4KB以上広げるときにスタックプローブといって
上位のページからタッチ(=なんらかのアクセス)していかなければいけません
VCかなんかで、大きい配列をスタックから取ってくるコードを
逆アセしてみたりするとわかる
380デフォルトの名無しさん:05/01/12 05:03:30
高々400バイトの話をしているときに何を得意げに……
381デフォルトの名無しさん:05/01/12 05:14:27
>例えば400バイト
「例えば」
382デフォルトの名無しさん:05/01/12 05:22:48
>>380
バーカ
383デフォルトの名無しさん:05/01/12 05:29:27
そういやlinuxも4k制限があったな
384デフォルトの名無しさん:05/01/12 09:00:06
>>375
ハァ?
385デフォルトの名無しさん:05/01/12 13:25:16
まぁ、>>376>>374に謝れってことで。
386デフォルトの名無しさん:05/01/12 17:12:11
Linuxで事故書き換えのアセンブラ組んだけど
セグフォルトになった。
Linuxではもう事故書き換えのコードは書けないんだ。知らなかった。
(できるのはDOSだけ?)
387デフォルトの名無しさん:05/01/12 18:47:53
>>386は、アセンブリで書いて普通にリンクしたんでしょ。
それなら昔から、出来ない。書けなくなったのではなく、ほぼ最初から出来なかったはず。
自己書換したかったら、書き込み可能なページにコードを配置しなきゃだめだ。
388デフォルトの名無しさん:05/01/12 20:50:38
MASM や Intel 書式じゃなくて AT&T 書式の、つーかぶっちゃけ GNU (GAS) なアセンブリ言語のオペランド一覧がわかるドキュメント、どっかにありますか? ぐぐっても見つからないだーよ、これが。
389デフォルトの名無しさん:05/01/12 21:45:45
Intel形式でGASにかけるのはダメなのか?

ところで、改行くらい覚えろよ。
390386:05/01/12 22:28:55
>>387
ヒープ領域(e.g. malloc()とか)ではできた。
なので、やろうと思ったらできるね。>事故書き換え
391デフォルトの名無しさん:05/01/12 22:38:10
じきに、それも出来ないのが標準になるよ。
NXビットでぐぐればわかる。
392388:05/01/12 22:58:16
>>389サン

改行スマソ。
実際は、GASに通すコードを書いてるんじゃなくて、
逆に crash や lcrash で dis(assemble) したコードを
読んでいるのです。AT&T -> Intel なコンバータを
通すよりは直に読みたいっす。
393デフォルトの名無しさん:05/01/12 23:12:48
>>391
気のせい。
NXがサポートされていたって、性能のためにどうしても自己書き換え
したいプログラムってのがある。典型的にはJava VMみたいなやつ。
だから、せいぜいスタックのコードが実行できなくなる程度。
現実的には、それだけでもずいぶんバッファオーバフローなんか
の穴をつかれたときの挙動が安全側にふられるけどね。
394デフォルトの名無しさん:05/01/12 23:53:41
いや、自己書き換えを必要とするプログラムの比率は低いし、
そういうのは、現状だってXPSP2では登録して除外してるだろ?

今はまだ外部からの登録での除外が主流だけど
今後はmalloc()で確保した領域での実行も不可能になり
「実行も可能な書き換え領域のalloc」というAPIを介した領域だけになると
俺は思ってるよ。

まあ、スタックだけ実行禁止でも効果はあるけど
バッファオーバーフローを突くために必要なのは
本来、「リターンアドレスの書き換え」だけなんだから。
395デフォルトの名無しさん:05/01/13 01:12:00
自己書き換えっていうと普通は既存のコードセグメントを書き換えるんで
ヒープに動的にネイティブコード生成するのとは違うと思うけど。
んで今はコードは普通write禁止だからね。

ヒープ上のコードはmallocでNXするとしたら、NXしたいヒープをアロケートする
関数が作られるだけの話。UNIXだと以前からページ単位でread/write/execの許可を
設定するシステムコールがあったりするね。もちろんCPUの機能の範囲でだけ
チェックされるんだけど。
396デフォルトの名無しさん:05/01/13 11:25:32
>>395
例えば、Java VMの実行時コンパイラは、後のクラスローディングなんかをきっかけに、
それ以前にコンパイルしたコードを書き換えることがある。というか、それができることを
前提にしないとできないか、もしくは、効果の薄い最適化をやってる。自己書き換え
と呼ぶべきだと思うが?
397デフォルトの名無しさん:05/01/13 13:08:56
そうなのか。知らんかったです。異論ありません。
398デフォルトの名無しさん:05/01/13 15:39:47
JITは自己ではない
399デフォルトの名無しさん:05/01/13 16:10:35
VMが書き換えてるのは自己書き換えとはイワンと思う。
400デフォルトの名無しさん:05/01/13 17:20:34
JITはコンパイラがやってるじゃん。他者の介入。
自己書き換えっつーのは自分のコードで自分のコードを
細工することをいうのだよ。
例えば自力で自分のコードをヒープに移してそのヒープを実行するのも
自己書き換えの一種と言える。
401デフォルトの名無しさん:05/01/13 20:23:57
>>400
「自力で自分のコードに移してそのヒープを実行する」ってのをやっているプログラムと、
「自分で作ったコードを生きたまま、書き換えつつ実行する」ってのの違いを分けている
のは何? JITコンパイラが自分に含まれない理由が分からん。同じプロセスの中で
同じスレッドで、プログラムの他の部分(例えば関数)を実行するのと同じレベルで
動作するんだよ。細かく言ったら別スレッドで動くこともあるけどね。
402デフォルトの名無しさん:05/01/13 20:29:10
TEXTセグメントに置かれるバイナリに元からあったコードとそれが生成してヒープなりに置いたJITの結果を混同する理由は?
403デフォルトの名無しさん:05/01/13 20:58:46
>>402の定義では、TEXTセグメントに置かれるバイナリを書き換える
ことを自己書き換えと呼ぶってことなんだね。

Java VMって、入力として、あるデータ(Javaプログラム)を読み込み、
データを処理して何かを出力するという、それだけのプログラムだ。
たまたま、データの処理にコンパイラの技術を使うと速くデータの処
理ができるから、コンパイルしたりする。JITコンパイラがやる仕事っての
は、データと入力したプログラムに適した形に、Java VM自身をカスタ
マイズするという仕事であって、入力したデータを変更するというもので
はない。なんで分けるの?
404デフォルトの名無しさん:05/01/13 21:41:35
VMにとってそれが処理するデータが自であると思う理由を聞きたいが?
405デフォルトの名無しさん:05/01/13 22:05:50
>>403
>JITコンパイラがやる仕事ってのは、データと入力したプログラムに適した形に、Java VM自身をカスタマイズするという仕事であって、入力したデータを変更するというものではない。
初耳モード。
406デフォルトの名無しさん:05/01/13 22:10:50
JavaVMのやっていることは、
JavaVMという仮想マシンのエミュレータでしょ。
普通は、それだけなら、自己書き換えなんて言わない。

JIT等によりネイティブコードに変換してそれを実行するとしても
コードを生成して実行するだけで、自分自身は書き換えないね。
407デフォルトの名無しさん:05/01/13 23:02:32
Java VMのJITコンパイラが生成したコードを使うのはJava VM自身であって、
そこで動くJavaプログラムじゃないってことは理解しているか?

JITコンパイラが生成した機械語ってのは、Java VMからみて、データとして読み
込んだJavaプログラムを、(仕様に定められている範囲で)ユーザおよびJavaプ
ログラムから観測できる副作用も含め、全てインタプリットした時と同じ効果を与
えるというプログラムだ。Java VMの上で実行されるJavaプログラムにとって、それ
がどう処理されているのかは完全に隠蔽されている。つまり、コンパイルされて出て
くるコードってのは、与えられたデータ専用のインタプリタみたいなものに過ぎない。

そういう意味で、JITコンパイル自体も広い意味で自己書き換えといえるかもしれない。
が、ここで話題にしたのはもっと狭義の話で、Java VMってのはVMなので、定められ
た仕様さえ満たせば、中で何をしても良いわけ。だから可能な限り高性能を目指すた
めに、JITコンパイラはコンパイルした時には安全だ(仕様通りの振る舞いが保証できる)
けれど、その後Javaプログラムの実行が進むと場合によっては、正しくない結果に繋が
りうるコードも生成する。で、その正しくない結果を引き起こしそうな条件が揃った時に、
自分のスレッド、および、別スレッドでCPU/OSからみて何の疑問もなく普通のプログラム
として実行されている最中の機械語列を、Javaの仕様的に正しく動くように、書き換えた
り、コンパイルされたメソッドそのものを全て捨てたりってことをする。これは自己書き換え以
外の何者でもないでしょ。OS/CPUからは区別されないし、Javaプログラムからも見えな
い機械語列はJava VMの自己と言うのが適当だと思うが?

解釈実行が進むにつれて
408デフォルトの名無しさん:05/01/13 23:10:37
Cコンパイラの動作を自己書き換えと言うか?
言わないだろ。
仮にコンパイラが実行ファイルを生成せず、
そのままメモリ上のエントリポイントに飛ぶようになっても
それは全く変わらない。

JITとの違いは、
実行時にそれを行うか、事前に行うか
メモリ上で行うか、ファイルに書き出すか
だけ。

中間コードを用いるものや、インタプリタ系であっても
ネイティブコードを生成し、(別プログラムとせず)そのまま実行するものもある。
でも、これらを自己書き換えなどとは言わない。
409デフォルトの名無しさん:05/01/13 23:17:11
>>390,391,393がJavaVMに話題が振られた理由じゃないのか?
ヒープ上のバイナリイメージを実行できるのかどうか。
JITならインストラクションポインタが展開イメージの
アドレスを指す事があるのかどうかが話の本題で、その挙動を
自己書き換えと呼ぶかなんてどうでもいい事だと思うんだが。
410デフォルトの名無しさん:05/01/13 23:19:54
というか、何故こんなに必死になるのか、俺にはそれが理解できない。
411デフォルトの名無しさん:05/01/14 01:27:35
自己書き換えの定義なんてどうでもいいよ
412デフォルトの名無しさん:05/01/14 01:39:55
メモリケチるためにオーバーレイって手法があったよな。
実行時にcodeや静的なdataを必要に応じて補助記憶から読み出して主記憶に置くヤツ。

スレとは何の関係もないけどな!
413デフォルトの名無しさん:05/01/14 02:03:54
どこ行ってもJava厨の物知らずには呆れるな
414デフォルトの名無しさん:05/01/14 02:05:15
ケチるっつーか、アドレス空間が足りなかったからな。

ところで、Win16上で32bitコード(と32bitアドレス)を実行可能にするために
Win32sというのがあったような気がするが、
http://pc5.2ch.net/test/read.cgi/win/1097684748/226-
によると、Win32上で64bitコードが実行可能になる可能性もあるらしいな。

まあ、ネタかもしれんけど。
415デフォルトの名無しさん:05/01/14 02:12:22
>>414
前スレあたりで誰かやっていたような。カーネルモードで
使えそうじゃないけど。
416デフォルトの名無しさん:05/01/14 02:21:04
「Windows等のOSは、自己書き換えにより、メモリ上に収まりきらない
膨大な数のプログラムを切り替えて実行することを可能にしています」
417デフォルトの名無しさん:05/01/14 02:36:21
>>>416
(´・∀・`)ヘー、もうどうでもいいけど
418デフォルトの名無しさん:05/01/14 17:27:37
アセンブラやりたいんですけとどうすれば良いでしょうか?
419デフォルトの名無しさん:05/01/14 17:51:10
420デフォルトの名無しさん:05/01/14 19:53:07
無料で揃える アセンブリ
421デフォルトの名無しさん:05/01/16 16:03:18
本当にGUIは作れないのですか。

それともできることはできるけど
面倒なので誰もやらないだけですか。
422デフォルトの名無しさん:05/01/16 16:06:45
やってる人はいくらかいるけど、あんまり意味は無いです。
あえてやりたいなら、Windowsの場合ここに仲間がたくさんいます。
http://board.win32asmcommunity.net/
423デフォルトの名無しさん:05/01/16 16:07:35
こんな形で出来ない事もない。激しく面倒。

ttp://www.nk.rim.or.jp/~jun/slasm/arm09.html
424デフォルトの名無しさん:05/01/16 16:09:20
結局ライブラリとかシステムコールに頼る事になるからアセンブラでやっても
面白くもなんともない。
425デフォルトの名無しさん:05/01/16 16:23:24
      ハ从ハヾ
      i:::::::::::::::::::ヽ
      l/^_,ヽ,_:;;ノ それでもやるのが
     从 ・ω・)  アセンブラーって奴だろ
      /~ヽ、; i ^)
      (⌒'し' J⌒)
    (_) ⌒(_)
426デフォルトの名無しさん:05/01/16 22:39:14
なんで条件分岐ジャンプはshortジャンプしかできないんですかウンコ
427デフォルトの名無しさん:05/01/16 22:47:30
8bitもあれば充分でしょ。
428デフォルトの名無しさん:05/01/16 22:48:21
いつの時代の話でしょう?
あ、Z80ですか。失礼しました。
429デフォルトの名無しさん:05/01/16 23:00:44
VESA
430デフォルトの名無しさん:05/01/17 10:24:02
8080AのRST(リスタート命令)について知りたいんですけど資料が見つからなくて困ってます。
どこかに資料がないでしょうか?
431デフォルトの名無しさん:05/01/17 13:31:17
>>428
Z80の条件分岐は全メモリ空間に届くわけだが。
今考えてみると条件命令はものすごく豪華だったな。

>>430
Z80ので代用する。動きは同じだ。
432デフォルトの名無しさん:05/01/17 22:40:45
>>431
豪華かなぁ。相対ジャンプ弱すぎかと。
433デフォルトの名無しさん:05/01/17 23:47:42
条件returnは、x86に慣れると異質に感じるな。
8086を触ったときは、「何故ret zが無いんだ」と思ったが。
434デフォルトの名無しさん:05/01/18 15:04:56
高級言語でスタックフレームを使うから、もう条件RETはいらないじゃん、
という発想だったのかも。

そう言えば8080用のCコンパイラはヤケクソのやっつけ仕事みたいなことやってたね。
C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C9
435デフォルトの名無しさん:05/01/18 15:24:14
ハンドアセンブルから20年たってもC9で反射的にRETを思い浮かべる自分が嫌だ。
436デフォルトの名無しさん:05/01/19 06:01:56
やっぱりさあ、マシン語といえど、人間に読みやすい形じゃないと厳しいよな。
ia64の読みにくいこと読みにくいこと・・・・
437デフォルトの名無しさん:05/01/19 06:07:33
Z80のマシン語なら読めたけど
16bit以上は俺には無理だな。
438デフォルトの名無しさん:05/01/19 09:37:14
68000は割りと読みやすかったけどね。
439デフォルトの名無しさん:05/01/20 14:28:10
Powerも読みやすいよ。書きやすいし。
IA32はレジスタ少ないから読み書きしにくい。
中の人は沢山持っててリネーミングしてるくせにさ。
440デフォルトの名無しさん:05/01/20 16:02:36
IA32eでしがらみのないレジスタが11本になるのは今までと比べれば夢のようだ。
64ビット化はレジスタ増加のおまけ。
441デフォルトの名無しさん:05/01/20 21:17:43
アセンブラ(アセンブリ言語)は読めるけど、マシン語は読めないなぁ。
442デフォルトの名無しさん:05/01/21 00:06:15
レジスタって1本2本って数えるの?
443デフォルトの名無しさん:05/01/21 00:09:16
自慢したがりはね
444デフォルトの名無しさん:05/01/21 02:31:44
レジスタに「本」以外の数え方なんて聞いたこと・見たことないけど?
445デフォルトの名無しさん:05/01/21 02:43:26
2進数で

     101010100010010011111

とか書いたら棒だから本なんじゃねえ?
446デフォルトの名無しさん:05/01/21 03:30:44
      ,-――――――-.
      /           |
     /           |
     /             |
    l"   JECXZ     l
   ,、_lー-―――――‐--、/l
   i ト、ミミ ,r‐- 、``'ニ=‐、.彡リ.
   ヾ,iハ゛.´ _,,、_  i.; _,. ` 彡'i)
    `、j,'  `゚''´:.ノ i::<・ゝ) .ハン
     i,   ` ,、/ i_ `` ,r'
   ,r〃'i  ,r'ヽ、 _,〉  /.
   /i:ト、;;i,  ミ=_‐_-, 'i /ヽ__
r-‐'´i::::ハ;;ヾ、‐‐-、  ノ´/i:::'i`i‐- 、_
::i' .l:i 'i::::i ヾ;;`‐---‐'i':/ i、 'i::! i::::i `
:i' i:| !:::l _,r.、;;;;;,r''´ヽi. ll::i i::i l:::'i
447デフォルトの名無しさん:05/01/21 03:49:50
24319002_j.pdfだと『個』だな。
448デフォルトの名無しさん:05/01/21 11:42:00
多寡はともかくどちらも使うだろ。
レジスタの個数 の検索結果 約 245 件中 1 - 10 件目 (0.39 秒)
レジスタの本数 の検索結果 約 73 件中 1 - 10 件目 (0.38 秒)
449デフォルトの名無しさん:05/01/21 14:18:42
直列のワンセットだから棒のイメージが強いんでそ
俺は「個」とも言うけど
450デフォルトの名無しさん:05/01/21 22:24:51
パイプラインはその名前のとおりに線のイメージがあるので「本」で数え
レジスタは箱、ボックスのようなイメージがあるので「個」で数え
451デフォルトの名無しさん:05/01/21 22:43:31
452デフォルトの名無しさん:05/01/22 11:02:51
普通はレジスタはチップの足みたいなイメージで本と数えると思う。
でも最近のやたら沢山レジスタがあるものとか、SPARCのレジスタウィンドウ
の話をするときとかはもうどうでもよくなってくるので個でも違和感ないかな。

個と数えるのは最近のソフトウェアの知識しかない人に多いという感じはする。
453デフォルトの名無しさん:05/01/23 05:57:37
const DWORD pMm[2] = {0x00FF00FF, 0x00FF00FF};

下の一行の処理にかかるクロック数を図ると1万クロックぐらいかかってました。
なぜでしょうか??
(環境:Pen4 winME VC++6)

_asm{
movq mm6, QWORD PTR pMm
}

アセンブラでソースを吐き出すと↓
movq mm6,mmword ptr [ebp-2Ch]
454デフォルトの名無しさん:05/01/23 12:11:08
ユニット初期化クロック
455453:05/01/23 17:13:33
ユニット初期化クロックはどういうときに発生するんでしょうか?
456デフォルトの名無しさん:05/01/23 17:32:54
そもそもマルチタスクOSで正しいクロックなんて計りようがない
457デフォルトの名無しさん:05/01/23 20:48:08
そういうときこそアセンナヤ

急がば回れ
458デフォルトの名無しさん:05/01/24 10:15:09
>>456
カーネルモードで割り込み禁止して測定すりゃいい
459デフォルトの名無しさん:05/01/24 10:38:58
>>453
QWORD境界を割ったりしてないか?
あと、DirectXサーフェイスをじかに触ったときの話だったりしないか?
460デフォルトの名無しさん:05/01/24 11:05:06
>>453
再現性はあるのか。
461デフォルトの名無しさん:05/01/24 16:33:11
>>455
初めてMMX命令を実行したときじゃないのか?
以降のMMX命令は、普通になると思うけど。
462デフォルトの名無しさん:05/01/24 18:07:08
いまどきのアセンブラの教科書  橋本和明 (著)
http://www.cbook24.com/bm_detail.asp?sku=4839917183
発売日:2005/02/01
定価:¥2,940(税5%含む)

どうよ?
463デフォルトの名無しさん:05/01/24 18:16:47
> いまどきのアセンブラの教科書
> 『いまどきのアセンブラプログラミング』が、特定ゲームの解析に終始したのに対し、(ry

自覚があるならアセンブラと銘打ってあんな本売るなよと思った。
そして目次を見たら、相変わらずチートが目的だったので呆れた。
464デフォルトの名無しさん:05/01/24 18:16:50
作者が作者だもんなぁ・・・
目次を見ても前著との違いが判らん

地雷探知機が作動しますた
465デフォルトの名無しさん:05/01/24 18:27:02
はじめて読む8086>>>>>>>>>>>>>∞>>>>>>>週刊アスキー>>>>>>いまどきのアセンブラ(ry
466デフォルトの名無しさん:05/01/24 18:31:53
>>465
その順位はいいとして、
何故2番目が週アスなのかw
467デフォルトの名無しさん:05/01/24 19:16:23
80年代のSuperASCIIはお勧め
468デフォルトの名無しさん:05/01/24 19:20:42
いまどきと言うならこんな屑みたいな本ではなく、
新しいCPUのレイテンシやペアリング条件、
メモリキャッシュの最適化ノウハウについて書かれた
インテルのPDFのような本がほしい。
469デフォルトの名無しさん:05/01/24 19:22:59
インテルのPDFを読めばいいじゃん
470デフォルトの名無しさん:05/01/24 19:26:25
>>462
宣伝乙
471デフォルトの名無しさん:05/01/24 19:44:59
>>469
P4しか載ってないし、実例で話をしないから抽象的で
どんな条件の時にどの程度の効果が見込めそうなのか
掴みにくいんだよあれ。
472デフォルトの名無しさん:05/01/24 19:59:31
こっちのスレの方がいいかも。

x86命令の所要クロック計測スレ
http://pc5.2ch.net/test/read.cgi/tech/1103609337/l50
473デフォルトの名無しさん:05/01/24 21:07:33
>>462

他スレからコピペ

『いまどきのアセンブラプログラミング』でもDigital Travesiaの解説を
丸写ししているページとかあったし、今度は解析系サイトや同種の本の
パクリで固めているんじゃないの?

橋本和明本人が書いたらどんな内容になるかは、『いまどきのアセンブラプログラミング』で
実証済みだし。というか、この人プログラミングや解析の説明は向いてないよ。

この本を買うぐらいなら『クラッカー・プログラム大全』や『解析魔法少女美咲ちゃん』の
続編を待つよ。
474デフォルトの名無しさん:05/01/24 21:09:04
x86アセンブラってもはや痛いヲタの解析にしか使われてないんだな。
475デフォルトの名無しさん:05/01/24 21:15:08
476デフォルトの名無しさん:05/01/24 21:46:52
>>462
http://d.hatena.ne.jp/yaneurao/20040528
っていう経緯があるから、「いまどきのアセンブラの教科書」は
逆恨みで解析本「解析魔法少女美咲ちゃん」の内容をパクッてくるでしょうね。
あと、ソフト解析の解説は解析サイト「Digital Travesia」からのパクリでしょう。
自分じゃまともな解説書けないライターだし、これまで彼が執筆した本を読むと
パクリを何とも思っていないようですから。

それにしても、この橋本和明って、ゲーラボのライターからも馬鹿にされているそうで。
パクリに頼るしかないライターって・・・
477デフォルトの名無しさん:05/01/24 21:49:02
>>474に同じ。ネタがワンパターン化してないか?
478453:05/01/24 21:59:59
>>459 QWORD境界を割ってるかどうかはわからない。変数の定義はconst DWORD pMm[2] = {0x00FF00FF, 0x00FF00FF};
システムメモリをいじる処理なのでDirectXのサーフェスとかは関係ないと思う。

>>460>>461 ソースを消したので再現することは出来ないけど
ブレークポイント設定して何度か調べたときは常に同じぐらいのクロック数がかかってた。
あと、新しくWin32コンソールアプリのワークスペースを作って>>459をコピペして実行したときも同じ分だけクロック数がかかってた。

なんか特別な環境でのみ起こる事象っぽいし、再現できないのでもう原因を追求するのは無理っぽいなぁ。
皆さんどうもでした。m(_ _)m
479デフォルトの名無しさん:05/01/24 22:00:54
>>478
ページアウトされてるメモリに読み書きしようとしたのでは?
480デフォルトの名無しさん:05/01/24 23:35:12
サブルーチンが複数階層で呼び出される場合に呼び出されるサブルーチンで最初に行うべき処理は何でしょうか?
そして、何故そのような処理をするのでしょうか?
481デフォルトの名無しさん:05/01/24 23:35:42
pusha
なんとなく
482デフォルトの名無しさん:05/01/25 05:17:47
>>478
mmxレジスタに転送する命令を2回続けてやって、クロック数を測ってみた。
1回目は数千クロックで、2回目は84クロックだった。
つまり、>>454>>461ということだろう。
483デフォルトの名無しさん:05/01/25 08:44:52
imul eax, 3

lea eax dword ptr[eax+eax*2]

どっちが速いですか?
484デフォルトの名無しさん:05/01/25 09:25:49
等価でないぞよ
485デフォルトの名無しさん:05/01/25 11:03:46
キャリーフラグのことですか?
スクリプト言語の掛け算で使うので桁上がりとかは無視してください。
符合が関係あるならダメでしょうけど。
486デフォルトの名無しさん:05/01/25 12:14:27
素直に考えるならleaだが・・・・・
487デフォルトの名無しさん:05/01/25 12:34:50
PIIIまでならまずleaでよい。
P4はシフトが遅くなったのでスケールインデックスがある場合はleaを避けたほうがよい。
ただし、コードを短くすることが重要な場合は leaの方が良いことも有る。
488デフォルトの名無しさん:05/01/25 12:41:31
でたP4厨
489デフォルトの名無しさん:05/01/25 20:08:37
自分自身でP4使って無くても利用者はP4が一番多いんだからしょうがないじゃん
490デフォルトの名無しさん:05/01/25 20:38:57
P4固有の処理をするかしないかの問題で、ユーザ数とかはあまり関係ないような。
491デフォルトの名無しさん:05/01/25 20:51:29
RUNS GREAT ON PENTIUM 4 HT


このロゴが欲しければ
492デフォルトの名無しさん:05/01/25 20:59:38
よく分からんが、488がアホ
493デフォルトの名無しさん:05/01/25 21:04:30
>>492
分からないなら口出しするな、アホ
494488:05/01/25 21:12:12
うん?呼んだかい?

ところで、ここのところ学生が抽象思考ができなくて困ってる
495デフォルトの名無しさん:05/01/25 21:21:50
>>488がアホでFA
496デフォルトの名無しさん:05/01/25 21:21:55
がが
497デフォルトの名無しさん:05/01/25 21:29:48
みの「ざんねん!」
498デフォルトの名無しさん:05/01/29 22:31:57
EM64TのSAHFとLAHFがいつの間にか

Exceptions (All Operating Modes)
None.
499デフォルトの名無しさん:05/01/29 23:02:56
>>498
嘘こき麻呂
500emulator 8086:05/02/01 13:46:41
整数の切り上げと切り下げをemulator 8086でやる答えをもらったのですが、
ちょっと理解できないところがあります。コードは以下の通りです。

#make_COM#
ORG 100H
start:
mov [200H],al
mov al, data
and al, 0Fh
mov bl, data
shr bl,4
cmp al, 8h
jl end
add bl,1
end:
mov al,bl
mov [201H],al
ret
data db 68h
この問題では68Hをテストして答えが7になるのですが、
最初にdataをalに移した後、なんで0fHでandするのか分かりません。次に、
なんで、dataを右に4ディジットシフトするのか分かりません。最後に、8hと
比較するのも分かりません。どなたかよければ、ヒントください。
501デフォルトの名無しさん:05/02/01 14:13:10
てか自分で2進に直してノートにでもトレース書いてみればすぐ分かると思うんだけど
502デフォルトの名無しさん:05/02/01 14:13:48
503デフォルトの名無しさん:05/02/01 14:29:03
整数の切り上げと切り下げとは何ぞや?
504デフォルトの名無しさん:05/02/01 14:59:59
>>500
整数って言ってるけど、基数は何なのか。何進数なのか。
次に、mov って書いてるが、それは移動なのか。コピーなのか。
次に、0Fh で オペランドを and すると、一般論としてオペランドはどのように変化するのか。
次に、「4ディジットシフト」なのか。
次に、8h という数には特殊な意味があるのか。
次に、出力は 7 なのか、 7h なのか。
次に、理解できない程度は「ちょっと」なのか。
505emulator 8086:05/02/01 15:13:36
>504
if you don't know shit about x86, stay back and be quit, fuckn' asshole.
506デフォルトの名無しさん:05/02/01 15:26:40
てかトレースしろやー
507デフォルトの名無しさん:05/02/01 21:07:42
ウァセンブラーって

何で桁あふれとか気にしないのですか。

行ってみればバッハオーバーランじゃないですか。
風呂の水が溢れたようなものじゃないですか。
もったいないじゃないですか。
508デフォルトの名無しさん:05/02/01 21:11:20
気にしてるよ。
お前がフラグ見てないだけ。
509デフォルトの名無しさん:05/02/01 21:37:24
わざと溢れさせて計算結果を合わせる



そんな力技が気に入らない
なんか結果オーライみたいなのは肌に合わない
510デフォルトの名無しさん:05/02/01 21:38:25
>>509
はぁ?
511デフォルトの名無しさん:05/02/01 21:44:48
「とりあえず8bitで合ってりゃいいんだよ」
512デフォルトの名無しさん:05/02/02 02:02:05
leaって使い方いまいちわかんねー
513デフォルトの名無しさん:05/02/02 04:23:41
基本はアドレスをとるだけなんだけど、簡単な計算に応用できるので便利。
x86のメモリオペランドで使える計算を外部から使えるようにするオペコード、
みたいなもんだ。
80386が出て最初にこの命令見たときは笑ってしまった。

514デフォルトの名無しさん:05/02/02 04:25:20
あ、286だったかな?
それまでも命令があることははあったんだけどあまり使わなかったような。
515デフォルトの名無しさん:05/02/02 04:45:43
あーmov,add,subでアドレス計算する肩代わりなのか
わかりますた
516デフォルトの名無しさん:05/02/02 07:47:24
>>515
むしろ活躍するのは掛け算なような…
517デフォルトの名無しさん:05/02/02 07:54:10
アセンブラで組む時はx5やx9で使うかもしれないが
使用機会が最も多いのは、高級言語でスタックフレーム内の変数のアドレスを取る時。
例えば
main() { char str[100]; ... ; printf("%s", str); }
など。
518デフォルトの名無しさん:05/02/02 09:51:09
はぁ?
519デフォルトの名無しさん:05/02/02 11:46:59
>>500は8bitの16進数で0.1h(こんな表記法はないけど)の位を七捨八入(wするコードだね。
alで端数を求め(andは端数だけ抜き出すため)、blで整数部(shrで切捨て)を求める。
cmpして端数が8(16の半分)以上だったらblに1足して切り上げにする。
4つシフトするのは、dataの小数点位置が4bit目というこのコードの仕様。

ただ本当は、このコードは何進数かを決めていない。別に2進数の零捨一入でもいいし。
比較の8は、この表記(dataに入れる数の)での1/2であるだけ。
つうか>>500は68h(6.8h)を丸めて7hていう仕様を理解してる?
520504:05/02/02 13:01:39
いま519がいいこと言った!
煽って弄って甞めてしゃぶってばかりいる
俺とは大違い   (;゚∀゚)=3 ハァハァ
521デフォルトの名無しさん:05/02/02 13:36:12
>>507
あふれてもいいから使いやすいんじゃないか。とマジレスしてみる。
522デフォルトの名無しさん:05/02/02 14:59:45
523デフォルトの名無しさん:05/02/02 18:18:03
>>522

>>502でがいしゅつ
524デフォルトの名無しさん:05/02/05 18:50:08
525質問。:05/02/07 06:07:34
#make_COM#
ORG 100H
Start:
mov al, N1
mov bl, N2
mul bx
mov cl, N3
div cx
shl ax,1
ret
N1 db 0ABh ;3.5
N2 db 017h ;5.3
N3 db 040h ;4.4
これ、N1×N2/N3の式を計算するコードなんだけど、何故に故最後に、AXをレフトシフト
してるのでしょうか。
526質問。:05/02/07 06:11:16
連続すいません。divをcl registerでやると違う答えが出てきます。
何ででしょうか?
527デフォルトの名無しさん:05/02/07 06:39:36
>>525
その数値表記方式は一体何者なんだ?
何故0x40が4.4なのかがわからん。
528デフォルトの名無しさん:05/02/07 06:46:30
>>525
その数行だけで完結しているとは思えないので、
呼び出しもとで ah, bh, ch に相当する部分が、
どういう風に使われているか
調べないといけないんじゃないの?

※ax = ah*256 + al
 bx = bh*256 + bl
 cx = ch*256 + cl
529デフォルトの名無しさん:05/02/07 07:28:40
ret
どこへ行くんだろう・・・
530デフォルトの名無しさん:05/02/07 09:22:14
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません
531デフォルトの名無しさん:05/02/07 13:03:13
>>529 (・∀・)ソレダ゙! 
532デフォルトの名無しさん:05/02/07 14:18:50
>>526
  これは小数の掛け算、割り算のコードかな?最後のHex数値の横の数字は小数点の場所かな?
 そうだと仮定すると、cl registerは8bitsでcx registerは16bitsだよね。ということは、div
(割り算)の後の答えは8bits以上になるので、この場合、cx registerを使わなければ、ならない事
 になります。
533デフォルトの名無しさん:05/02/07 17:05:22
>>532
thank you, man.
534デフォルトの名無しさん:05/02/07 17:09:58
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません
535デフォルトの名無しさん:05/02/07 17:13:32
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません


536デフォルトの名無しさん:05/02/07 17:16:09
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません
537デフォルトの名無しさん:05/02/07 17:24:03
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません
538デフォルトの名無しさん:05/02/07 17:35:28
539デフォルトの名無しさん:05/02/07 17:38:49
>>538
その本は立ち読みしました
たいしたことかいてませんよ
540デフォルトの名無しさん:05/02/07 17:52:53
IA32のRDMSRを呼び出せるまでのアセのコードがわかりません
541デフォルトの名無しさん:05/02/07 18:00:00
542デフォルトの名無しさん:05/02/07 18:06:32
>>541
つまんないからもういいって
あんたがなんにも知識のない役立たずってことはわかったけどさ。
543デフォルトの名無しさん:05/02/07 18:20:50
IA32のWRMSRを呼び出せるまでのアセのコードがわかりません
544デフォルトの名無しさん:05/02/07 19:14:26
>>592>>531
ORG 100HからしてMS-DOSのCOM型だと思う。
そうだとすれば、0000Hへ飛んで、INT 20Hを踏んで、プロセス終了。
545デフォルトの名無しさん:05/02/07 21:07:50
SSの最初って0がPUSHされてんの?
546デフォルトの名無しさん:05/02/07 21:12:55
>>544
レガシー互換をいつまでも信奉する池沼
547デフォルトの名無しさん:05/02/07 23:43:13
>>545
COM型はすべでのセグメントが同一の値に設定されて、0000Hがスタックにプッシュされる。
ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_3.html
ってMS-DOSでは保障されてなかったのねん。

>>546
一応そういうテクがあるってことで。
普通はINT21Hリクエスト4CHを使うし。
548デフォルトの名無しさん:05/02/08 09:01:56
IA32のWRMSRを呼び出せるまでのアセのコードがわかりません
549デフォルトの名無しさん:05/02/08 09:14:06
>>548
そうですか
550デフォルトの名無しさん:05/02/08 09:49:19
>>525
shlは、答えをaxに小数点位置11.5で入れるためだろう。

>>532
小数点の位置だとよく気づいたな。よくある表記なんだろうか。
div clとすると、(商が8bitに収まった場合)剰余がahに格納されて邪魔というのもある。
8bitに収まらなきゃエラーが出るからいいが、なまじ収まってるとデバッグが大変だ。

ahやbh、割り算に使うdxも、このルーチンに入る前にゼロでないといけない。
バグの温床みたいなコードだなw
俺もこのレベルの潜在的なバグによく悩まされたものだ。
551デフォルトの名無しさん:05/02/09 13:43:42
IA32のWRMSRを呼び出せるまでのアセのコードがわかりません
552デフォルトの名無しさん:05/02/09 13:59:58
あ、そう
553デフォルトの名無しさん:05/02/09 14:21:11
>>551
俺知ってるよ!
でもここでは言えないなあ。
そういや来週のワラっていいとも変人コンテストに出るから
君も出なよ。
そこで落ち合おう。
554デフォルトの名無しさん:05/02/09 14:22:59
>>551
俺も知りたいのだが、あんたのせいで
誰も教えてくれなくなちゃったよ。鬱だ。
555デフォルトの名無しさん:05/02/09 14:36:57
だって、WinかウニックスかリアルモードDOSかわかんないもの。
556デフォルトの名無しさん:05/02/09 14:50:47
>>555
Windowsです
GASかIntel形式どちらでもいいです
557デフォルトの名無しさん:05/02/09 15:11:03
CPUIDで済ませられないの?
558デフォルトの名無しさん:05/02/09 15:18:12
>>557
わからんならとっとと死ねよ
おまえがCPUIDを知ってるえらいこちゃんなのはわかったからさ。
チロルチョコくってねなさい
559デフォルトの名無しさん:05/02/09 15:22:12
うん、寝る。残念だな。芥川龍之介・杜子春を読め
560デフォルトの名無しさん:05/02/09 15:33:51
>>558
お前リングレベル、コールゲート、知ってる?
知ってるなら教えるの楽なんだが
561デフォルトの名無しさん:05/02/09 15:39:28
>>560
だいたい知ってる
てかIntelのPDF上中下巻は暇な時読んでる
RDMSRはレベル3からどう呼ぶかさっぱりわからん
562デフォルトの名無しさん:05/02/09 15:43:19
アプリからリングレベル0には突入できないというの分かってる?
OSの意味無くなるからな
デバどら作れルカ?
563561:05/02/09 15:46:13
やっぱDDKいるのかよ
探すの面倒だな

んでどうするんだよ
>>562
おまえなにもしらんじゃねーの
情報小出ししてさ( ´,_ゝ`)
564デフォルトの名無しさん:05/02/09 15:47:44
ごめん、知らない、じゃあねー
565デフォルトの名無しさん:05/02/09 15:48:02
>>562
お前日本語読めるか?

俺は
「IA32のWRMSRを呼び出せるまでのアセのコードがわかりません」
と書いてるんだ

レベル0とかデバドラとかいいから
コアのアセコード教えろっていってんだよ。
ああ在日にはわからんか。
566デフォルトの名無しさん:05/02/09 15:50:36
貴様みたいなやつにウイルス作られたらたまったもんじゃない、市ね
567デフォルトの名無しさん:05/02/09 15:54:28
>>566
わからんならでしゃばんなやカス
568デフォルトの名無しさん:05/02/09 15:55:53
うるせーお前も名カス
569デフォルトの名無しさん:05/02/09 16:11:01
>>562
ドライバでなくてもできるよ。WinNTからI/Oポートを直叩きとか。
570デフォルトの名無しさん:05/02/09 16:12:32
なんか、ここには基地外ファームウエアプログラマがのさばってる
見たいですねw
571デフォルトの名無しさん:05/02/09 16:15:08
>>569
トラップ付でね。w
一般保護例外をキャッチしてエミュレートしてるだけ
572デフォルトの名無しさん:05/02/09 16:16:37
そもそもin,out命令自体が特権命令だしw
573デフォルトの名無しさん:05/02/09 16:24:52
そもそもin,out命令自体が特権命令だしw
574デフォルトの名無しさん:05/02/09 16:27:07
Windows2000SP4でIpentium4のWRMSRを呼び出せるまでのアセのコードがわかりません
gccでもclでもいいです
575デフォルトの名無しさん:05/02/09 16:29:12
バカか?リングレベル0で実行するだけだろうが?
576デフォルトの名無しさん:05/02/09 16:44:22
Windows2000SP4
実行環境:レベル3から
pentium4のWRMSRを呼び出せるまでのアセのコードがわかりません
gccでもclでもいいです
577デフォルトの名無しさん:05/02/09 16:51:09
アプリケーションプログラムからは不可能
578デフォルトの名無しさん:05/02/09 17:10:15
そもそもWin2000を動かす意味無いし、
579デフォルトの名無しさん:05/02/09 17:14:11
だな、変にSPとか指定されても困っちゃう。
アプリからOSを操作されたら嫌だよ
580デフォルトの名無しさん:05/02/09 18:06:14
Windowsアプリかドライバからリングレベル0にいけないってことなの?
そりゃねーだろ
HDDTempとかマザーボードのベンダが出してるシステムツールは
あきらかにレベル3じゃねーだろ

不可能じゃネーのやるんだよ
581デフォルトの名無しさん:05/02/09 18:11:21
>>580
バカじゃないの?HDDてmpは直接ハードにアクセスしてネーよ、ボケ
わかんない奴だな、勝手に決め付けるなよ
582デフォルトの名無しさん:05/02/09 18:15:31
>>581
smartだろ
べつにいいよそんなの

sysenterでもなんでもいいからRDMSRが呼べるまでのコードをおしえろってんだ
583デフォルトの名無しさん:05/02/09 18:27:09
>>582
分かってんならあきらめろ、
なんとか.sysでも読む位の甲斐性見せろよ、ぼけ
584デフォルトの名無しさん:05/02/09 18:36:01
DScalerとかBPFの様にデバイスドライバを抱えているソフトのソース読めば、
自前でデバイスドライバ用意してリング0であれこれするのがいかに簡単かすぐわかるよ。
こんなとこ読み書きしてないでちゃんと根詰めて2、3日コード書けば出来ちゃうよ。
585デフォルトの名無しさん:05/02/09 20:42:27
こんな態度悪のやつがいくら根詰めたってできるわけねーだろがwwww
586デフォルトの名無しさん:05/02/09 22:01:30
CLIとかSTIとかコントロールレジスタに書き込みできたりする。
青画面で死んでしまうがなw

>>571
ええっ、そうだっけ?一般保護例外をキャッチできるなら青画面にはならないよ。
カーネルモードでぬるぽしたら青画面で死亡したんだが。
587デフォルトの名無しさん:05/02/09 22:35:01
>>586
一般保護例外でエミュレートできない奴はブルースクリーンで
ごまかす、それだけだよ。リアル86モードでブートして、ページテーブル
セットアップして、32ビットモードに入って、さらに、OSテーブル
ロードして・・・分からんかな、最近のガキはOSの意味も知らんか?
588デフォルトの名無しさん:05/02/09 22:39:17
あー使えない痴症がきたよ
さしずめスパーPGになったつもりの大学生か?

今はリングレベル3からRDMSRを呼び出す話であって
レベル0からbootする話じゃないんだよ。

そんなもんいくらでも資料あるだろ(minix.linux、はじめての486)
そんなの自慢するなんて(ップ
日本語も理解できない
自分の知識はひけらかす

本当に社会のゴミだよ>>587
589デフォルトの名無しさん:05/02/09 22:48:04
>>588
ヒントやろう、XPだがなマイコンピュータのプロパチー>はーどうぇあ
デモ穴があくほどみろボケ
590デフォルトの名無しさん:05/02/09 22:57:23
>>588
ワロマクローリン
591デフォルトの名無しさん:05/02/10 12:17:02
>>582
ttp://mentai.peko.2ch.net/prog/kako/962/962986060.html
簡単にring0に移行する方法が書いてあった。
ここにあるライブラリはNT4.0のものだけど、2000やXPでも動く。
592デフォルトの名無しさん:05/02/10 12:24:58
明太とか名塚C
593デフォルトの名無しさん:05/02/10 12:46:34
歴史は繰り返されるのか・・・
594デフォルトの名無しさん:05/02/10 13:01:06
>>591
キタ━━━ヽ( ゚∀゚ )ノ━ヽ(  )ノ━ヽ( ゚∀゚ )ノ━━━!!

$ ./CGATEAPP.EXE
Selector allocated = 120
cr0=8001003b, cr2=404043, cr3=21fb9000
Selector allocated = 118
cr0=8001003b, cr2=404043, cr3=15de5000
FreeCallGate failed, CallGateSelector=118, rc=1


でもこれDDKでドライバ作れってことか?
595デフォルトの名無しさん:05/02/10 13:39:06
ふつーにソース書くだけでいいみたい。DDKは使ってない。
実行時にGALLGATE.DLLとCALLGATE.SYSさえあれば大丈夫。
例によってAdministrator権限じゃないと動かないけど・・・
596デフォルトの名無しさん:05/02/10 13:54:15
>>595
いや違うだろ
DLLとSYS作るのはDDKいるんじゃないか?

僕ちんはコールゲートを呼び出すアプリを作りたいんじゃなくて
コールゲートを呼び出す方法を知りたいのよ

それに>>591には
GALLGATE.DLLとCALLGATE.SYS
のソースがありません
ring0.asmがそれらしきソースではあるけど。
597デフォルトの名無しさん:05/02/10 14:00:26
???コールゲートを呼ぶって?
far Callすれば委員でない甲斐?
598デフォルトの名無しさん:05/02/10 14:02:36
いや、dllとsysは作る必要がないってば。
dllでコールゲートを作って、far-callでring0に入る形になってる。
sysはdllの方で読み込むから、DDKを意識する必要がないってこと。
dispeでcgateapp.exeを逆汗するとring0.asmのコードが入っているはず。
599\__________________/                    :05/02/10 17:29:43
        V
  , v、ヘM 'リ"ノンミ/ソMv、
   ソVvミ ヘ/Wv彡vV/ ミ∠ミ::
  ミミ          _   ミ:::  
  ミ    二__, --、r'"___、 ヾ ト、::ヽ
  ミレ'"~ ,-,、 !  ! ' '" ̄ .ノ \ヾ:、 
  K/ー'~ ^~_/  ヽミ:ー‐‐'"   ヽ i.
 !〉 ー― '"( o ⊂! ' ヽ   ∪   Y 
 i  ∪  ,.:: :二Uニ:::.、.       l i
 .!      :r' エ┴┴'ーダ ∪    !Kl  
 .i、  .   ヾ=、__./        ト= 
  ヽ. :、∪ ゙ - ―-    ,; ∪ ,!   
  \.  :.          .:    ノ    
   ヽ  ヽ.        .    .イ     
.    `i、  、::..      ...:::ノ ,∧
600デフォルトの名無しさん:05/02/10 17:38:33
( ´,_ゝ`) で、何?
601デフォルトの名無しさん:05/02/10 17:40:24
狂ったんじゃないの?
低脳プログラマーのやつ
しょせん、向いてなかったんだよ
602デフォルトの名無しさん:05/02/10 20:43:57
WinNTでコールゲートはまずいような気がしたが。
ring0に入ったら、すぐに割り込みを禁止した状態でTRAP_FRAME構造体に
必要な値を入れなければならなかったはず。

コールゲートだとring0に遷移した直後は割り込みが禁止されていないので
たとえTRAP_FRAMEに値を入れようとしても、その間に割り込みが入れば
システムは落ちるよ。
603デフォルトの名無しさん:05/02/10 21:12:32
DDK(送料15$くらい、CD-ROMはタダ)手に入れて、サンプルのcancelあたりを改変して
作ったほうが早いと思うけどなー。
俺はこれで遊んでいるけど。

>>602
_KTRAP_FRAME
604デフォルトの名無しさん:05/02/10 21:16:47
>>602
 CALLGATEという名前はついてるけど、SYSファイルが付いているってことは
dllがDeviceIoControl でメモリ位置渡してドライバ呼んで、asmで書いたコード
はちゃんとドライバのコンテキストで真っ当に実行されるんじゃないのかな・・・
605デフォルトの名無しさん:05/02/10 21:51:44
>>604
http://www.windowsitlibrary.com/Content/356/10/2.html

callgate.sysとdllのソースだけど、コールゲートでユーザーのルーチンを
呼んでいます。

これ使って昔試したことがありますが
1回くらいのfar callなら運が悪くない限り落ちません。しかし、
for (i=0;i<100000000;i++)
 _asm far call xxx
なんてやると、ほとんどの場合落ちます。
606デフォルトの名無しさん:05/02/10 22:05:18
x86でincとdecはどっちが速いんですか?
607デフォルトの名無しさん:05/02/10 22:08:21
incとdec
608デフォルトの名無しさん:05/02/11 00:34:13
最近のクソガキには「リアルモード」は通じないのか?

クソガキと言っても精神年齢のことであり
肉体の年齢は30過ぎてずいぶん経つようなクソだが
609デフォルトの名無しさん:05/02/11 02:37:00
>>608
最近になっても糞GNOMEマンセーだからなwwwwwアヒャ
610デフォルトの名無しさん:05/02/11 19:15:13
V25
611デフォルトの名無しさん:05/02/13 18:44:21
x86のあっせんぶらが書かれたソースを見ていたら、
asm("rep; nop");
ってコードがあったんですけど、
repはストリング命令等で繰り返しで使用する場合がある事は知っているし、
nopも意味はわかるんですけど、
今回のコードがどういう意味を持つのかがわかりません。

これってどういう意味があるんですか?
612デフォルトの名無しさん:05/02/13 19:06:12
nopを繰り返すんだよ
そんな事もわからんのかボケ
613デフォルトの名無しさん:05/02/13 20:27:21
でっきるっかな
でっきるっかな
はてさてふむー

「nopさーん」


ウホ
ウホホホホ

おやおや、ゴンタ君は今日もおおはしゃぎ
614611:05/02/13 22:13:43
>>612
やはりそうですか。
だとしたらCXレジスタが影響しますよね?
そのコード周辺でCXを維持ってるように見えないので
何か別の用途で使用するのかと思ったのです。

ちなみに自分はボケでありません。
615611:05/02/13 22:29:02
ようやくその意味がわかりました。
やはり特殊な使用方法でした。

最後に
ありがとうよ>612のボケ野郎。
おまえこそ間違ってるんだよアホが。
616デフォルトの名無しさん:05/02/13 22:47:23
>>611
釣られてる時点でボケなんだよ。
617611:05/02/14 00:07:48
なんだこのスレの住人。
人を馬鹿にすることしか出来ないのか。

もういいです。二度と此処へは来ません。
618611:05/02/14 00:32:52
なーんちゃって。反省してま〜す☆ミ
619611:05/02/14 02:06:48
この中に偽611がいます。さてどれでしょう?
620デフォルトの名無しさん:05/02/14 07:26:11
全部真正611
621デフォルトの名無しさん:05/02/14 07:55:16
判ったんならさ、せっかくだから解説するくらいすりゃいいのに。煽る時間あるならさ。

それはnopを繰り返すと読んでも間違いではない
スピン・ウェイト・ループというのは・・・
http://www.atmarkit.co.jp/fsys/kaisetsu/013ht_pentium4/ht_pentium402.html
にある pause命令の事
622デフォルトの名無しさん:05/02/14 14:26:49
全然関係ないけど、>>621の記事見て思ったんだが
HTって別プロセスのスレッドを同時に実行できるの?
同じプロセス内の2スレッドだけ同時に実行できるんだと思っていたんだが。
プロセスを切り替えるには、コストかかりすぎて逆に遅くなるような気がする。
おしえて、エラい人。
623デフォルトの名無しさん:05/02/14 14:33:50
アセンブラ命令って一応言語かなと思っていたら、
内部レジスタのソース、デストのアドレスだった。
624デフォルトの名無しさん:05/02/14 15:02:47
>>622
CPUはプロセスとかスレッドなんて知らないよ。
ただ、2つの命令ストリームを実行しているだけ。
625デフォルトの名無しさん:05/02/14 15:34:38
>>622
MMUのアドレス変換テーブルをHTの2つのコンテキストで共有できれば
うまくスケジューリングされたときには実行効率上がるかもしれないけど、
OS側のスケジューラを変更しなきゃならないし、非マルチスレッドAPは
せっかくのHTコアを1スレッドで占有しちゃうしで面白く無いと思う。
626デフォルトの名無しさん:05/02/14 16:52:35
よく分からんです。
;ASCII文字列を入力して以下のデータプロトコルに従って10進小数点数に変換する
;C言語のプログラムを書くという問題です。 もし誰か分かる方いたらお願いします。

1バイトめ: 小数点の前のの桁数 (非パック化BCD)
2バイトめ: 小数点の後の桁数 (非パック化BCD)
3バイトめ: 最上位数 (非パック化BCD)
4バイトめ: 最下位数の次の桁等 (非パック化BCD)
9バイトめ: 最上位数10進数 (非パック化BCD)
N+1バイトめ: 最下位数の次の10進数等 (非パック化BCD)
627デフォルトの名無しさん:05/02/14 16:59:22
↑あちこちでよく見るレスですね
628デフォルトの名無しさん:05/02/14 18:19:30
>>624,>>625
よく分からないけど、問題なくできるってことですか?
どうもありがとう。
629デフォルトの名無しさん:05/02/15 01:19:13
>>622
各論理プロセッサは、個々にCR3をもつ。
これでわかるでしょ?
630デフォルトの名無しさん:05/02/15 02:29:56
わからん
631デフォルトの名無しさん:05/02/15 02:43:46
>>630
プロセスとスレッドの定義から勉強した方がいいんじゃない?
632デフォルトの名無しさん:05/02/15 13:27:55
論理コアが複数あるからこそ切り替えがいらないのだが。
切り替えでしているのはレジスタの退避とか。

HTが物理2CPUより優れている点として、キャッシュの共有がある。
これは同プロセスのマルチスレッドで役に立つ点。
633デフォルトの名無しさん:05/02/15 19:02:39
>>632
現在アナウンスされてるCMPではキャッシュ共有モデルはなかった記憶だけど、
L2共有程度でじゅうぶんなんじゃない?
パイプラインにあわせたタイミングで動くL1キャッシュは、共有構成にすると
実質的に実行ユニット-キャッシュインタフェイスを増やさないといけなくなって、
ストールの機会が増えてしまう。

ちなみにP4みたいなウンコーアーキテクチャだと、SMTでL1キャッシュ(TCも)が
共有されても、実行ユニットが先に埋まっちゃうよ。むしろ片コンテキストにて
L1キャッシュミスが起きた場合のストール補填に、SMTは役立っている
…というのが、俺の観測結果。
634デフォルトの名無しさん:05/02/15 19:49:44
GNU asなんですけどラベルのアドレスをイミディエイトで取得する事って出来ますか?

こんな感じの事をしたいのですが…
mov al, (0xFF & FOO)
mov ah, ((0xFF00 & FOO) >> 8)

FOO:
jmp  …
#axにFOOのあるアドレス16bit分が欲しい
635デフォルトの名無しさん:05/02/15 19:56:46
GASってoffsetねーの?

636デフォルトの名無しさん:05/02/15 20:15:35
スキャンコードを取りたいのですが

なんぞええ手はありませんか。
637デフォルトの名無しさん:05/02/15 20:46:51
20代がカラオケで「哀しい色やね」を歌うことはそんなに変か?
638デフォルトの名無しさん:05/02/15 21:01:55
>>634
a0 7f 00 00 00
mov 0x7f,%al

b0 7f
mov $0x7f,%al

この2つの違いが分からなかったら青唐辛子ケツに突っ込んで氏ね

>>636
DOSかWinで分かれるところなので、まずはぐぐれ。
639デフォルトの名無しさん:05/02/15 21:20:00
>>632
> HTが物理2CPUより優れている点として、キャッシュの共有がある。
複数CPU間でのキャッシュの共有は普通にある。
640デフォルトの名無しさん:05/02/15 21:21:02
WindowsだとAltキーが取れねえ
641デフォルトの名無しさん:05/02/15 21:24:26
>>638
例が間違っていてスマン。変に慣れていないx86で書くもんじゃないな
純粋にアセンブラにアドレスを展開させる方法が知りたいんです。

今書いているのはAVRなんですが

 ldi  XL, (0xFF & FOO)
 ldi  XH, ((0xFF00 & FOO) >> 8)
 add  XL, R16
 ijmp

 FOO:
   rjmp FOO_1
   rjmp FOO_2
   rjmp FOO_3
   …
みたいなことがしたいんです
642デフォルトの名無しさん:05/02/15 21:33:19
>>641
任意の .o ファイルを objdump --disassemble してみれ。
643デフォルトの名無しさん:05/02/16 10:55:08
>>640
ナイフの先をAltキーの下に差し込んでグイっと起こす
644デフォルトの名無しさん:05/02/16 11:27:10
>>641
lea命令じゃだめなん?
645デフォルトの名無しさん:05/02/16 11:39:43
>>633
>むしろ片コンテキストにてL1キャッシュミスが起きた場合のストール補填に、SMTは役立っている
>…というのが、俺の観測結果。
自分もそう思ふ。
646デフォルトの名無しさん:05/02/16 12:22:03
キャッシュが共有じゃないという意味がわからない。
キャッシュは1つなんだから2スレッドが同じキャッシュ使うんじゃないの?
647デフォルトの名無しさん:05/02/16 22:30:03
ipを得たいのだが・・・
mov ax,ip って無理ですよね
call→popってのが普通ですか?
648デフォルトの名無しさん:05/02/16 22:34:03
ラベルを使えばいいのでは?
649デフォルトの名無しさん:05/02/16 23:38:42
動的に取得する場合はcall/popしかない
650デフォルトの名無しさん:05/02/16 23:42:46
>>649
なるほど・・・ありがとうございます。
651デフォルトの名無しさん:05/02/17 00:45:28
rip相対アドレッシング使えば?
652デフォルトの名無しさん:05/02/17 12:30:16
動的に取得する必要なんてあるの?
653デフォルトの名無しさん:05/02/17 12:36:02
>>652
そんな必要無い
654デフォルトの名無しさん:05/02/17 13:03:17
必要なくても見てみたいのが男のろまん。
それを否定したらこのスレの意義が半分はなくなると思うがな。
655デフォルトの名無しさん:05/02/17 13:24:06
ロマンと単なる無駄の区別がついてないガキ。
656デフォルトの名無しさん:05/02/17 13:25:44
みなさん、espをいじったりする?
657デフォルトの名無しさん:05/02/17 13:35:30
いつもいぢってまふ
658デフォルトの名無しさん:05/02/17 17:43:47
いつも僕のオカズです
659デフォルトの名無しさん:05/02/17 17:50:31
昔はspを変更してコルーチン作ってたけど・・・・そうすればIPも結果としてret命令で切り替わるから・・・

でもなあ
最近勝手にデータ領域にSP変更したらOSさんが文句言うもんだから使えなくなった。
660デフォルトの名無しさん:05/02/18 00:20:44
>>659
ありがとうございます
661デフォルトの名無しさん:05/02/18 01:25:29
>>659
よくわからんが、手続きをちゃんと踏めば大丈夫だろ
いい加減なもの作ってるからそうなる
662デフォルトの名無しさん:05/02/18 06:46:58
ホントは使えない事はないんだよ。
スタック領域を大きくとって、スタック領域を分割して使えばいいんだけど
こうすると、当然1スレッドでこのテクニックを1個しか使えないし、
だったら多少重くてもOSの提供したスレッドの機能を素直に使っちゃえとなるわけで・・・
6638086 emulator:05/02/20 02:37:15
mov ax, 400h
だと、400hをax registerにロードできるんですが、

mov ax, data1
data1 dw 400h
だと、ax registerが0000hになってしまいます。どなたかこの二つのインストラクションの
違いを教えてください。お願いします。
664デフォルトの名無しさん:05/02/20 03:19:29
ds
665デフォルトの名無しさん:05/02/20 03:45:46
の初期化
666デフォルトの名無しさん:05/02/20 09:52:59
mov ax, data1

org 0400h
data1 dw 400h
667デフォルトの名無しさん:05/02/20 13:44:39
ここは気難しい人達が沢山いそうですね〜
668デフォルトの名無しさん:05/02/20 14:07:44
知るべき範囲が狭いから、極端に完璧に走れるわけ
669デフォルトの名無しさん:05/02/20 14:46:26
>>667
俺もなかなか気難しいぞ
気をつけろよ

jmp anywhere-anytime
670デフォルトの名無しさん:05/02/20 16:38:23
>>669
you motherfucker.
671デフォルトの名無しさん:05/02/21 04:32:27
ORG 100h
start:
cld
mov ax,02000h
mov ds,ax
mov bx,04000h
mov es,bx
mov ax,400h
mov si,ax
mov cx,1024h
increment:
mov bx,400h
mov [si],bx
lodsw
inc bx
loop increment
mov cx,512
mov si,0
complement:
mov si,0
mov ax, [si]
not ax
add ax,1
mov si, ax
lodsw
loop complement

こんなASMコードを書いたんですが、セグメントレジスタに入れた2つのWORDの
データを足して、エラーチェックしなきゃいけないんですが。どうやって
エラーチェックをしたらいいのかわかりません。お願いします。、 
672デフォルトの名無しさん:05/02/21 05:13:04
何のエラーだ?
673デフォルトの名無しさん:05/02/21 05:21:04
>671のエラー
674デフォルトの名無しさん:05/02/21 06:25:02
>こんなASMコードを書いたんですが、セグメントレジスタに入れた2つのWORDの
>データを足して、エラーチェックしなきゃいけないんですが。どうやって
>エラーチェックをしたらいいのかわかりません.
あのデータを足したその答えと2's complementをしてるんですが、
 その答えのエラーチェックです。
675デフォルトの名無しさん:05/02/21 06:36:49
釣り認定です。おめでとう。
676デフォルトの名無しさん:05/02/21 07:54:20
LEA EAX , [EBX+10]

MOV EAX , EBX+10h

下はおかしな表現だけど、意味としては同じですよね?
677デフォルトの名無しさん:05/02/21 11:03:49
その前にエラーになると思うんだが?
678デフォルトの名無しさん:05/02/21 11:06:31
>>676
前者はオフセットが10、後者はオフセットが10h。

>>677
それは承知の上で意味的に同じかどうかだけ聞いているんだろ。
679デフォルトの名無しさん:05/02/21 11:12:56
無いアドレッシングモードを議論しても意味無いだろ
話にならん
680デフォルトの名無しさん:05/02/21 11:27:25
プ
681デフォルトの名無しさん:05/02/21 12:26:32
LEA EAX , [EAX+10h]

ADD EAX , 10h

下はおかしな表現だけど、意味としては同じですよね?
682デフォルトの名無しさん:05/02/21 13:34:15
プっ、違うよ
683デフォルトの名無しさん:05/02/21 14:23:03
フラグ変化
684デフォルトの名無しさん:05/02/21 16:11:02
上もだめだろ
685デフォルトの名無しさん:05/02/21 17:36:12
VC6の吐く.objのフォーマットが知りたいんですが
資料何かありましたらお願いします
686デフォルトの名無しさん:05/02/21 17:48:00
たしかCOFFに準じたものだったとおもう。
Cygwin の objdump で喰えたりするので、試してみれ。
687デフォルトの名無しさん:05/02/21 21:13:23
LEA EAX, [EBX+10h]

MOV EAX, EBX
ADD EAX, 10h

この二つのメソッドは同じと考えていいのですね?
688デフォルトの名無しさん:05/02/21 21:38:17
フラグを除けば
689デフォルトの名無しさん:05/02/21 21:43:31
「メソッド」( ´,_ゝ`)プッ
690デフォルトの名無しさん:05/02/21 21:56:22
アセンブラってオブジェクト指向ですか?
691デフォルトの名無しさん:05/02/21 21:56:45
メソッドワロス
692デフォルトの名無しさん:05/02/21 21:59:36
CPUというオブジェクトに対するメッセージと考えりゃOOPだな。
693デフォルトの名無しさん:05/02/21 22:05:27
かわいそうなお兄さんがいっぱいいるが、くじけず頑張れ
でも「メソッド」はいただけないなあ
694デフォルトの名無しさん:05/02/22 01:36:20
MOV EAX, EBX
ADD EAX, 10h

ADD EBX, 10h
MOV EAX, EBX

この二つのメソッドは同じと考えていいのですね?
695デフォルトの名無しさん:05/02/22 01:54:45
>>694
ワロス
というか全然違うじゃないかミ,,゚Д゚彡ふさふさだぞゴルァ!
696デフォルトの名無しさん:05/02/22 02:03:31
最近ワロスって流行ってるね。ワロタの進化系?
http://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
697デフォルトの名無しさん:05/02/22 02:05:58
何が同じなんだかw
命令コードは絶対に違うよ
698デフォルトの名無しさん:05/02/22 05:58:27
すべて笑われるという機能が同じ
699デフォルトの名無しさん:05/02/22 11:45:23
>>697
相手の意図を汲み取れ。
700デフォルトの名無しさん:05/02/22 14:47:12
NOP

JMP $

この二つのメソッドは同じと考えていいのですね?
701デフォルトの名無しさん:05/02/22 15:26:20
>>700
悪いのですよ
702デフォルトの名無しさん:05/02/22 16:53:15
質問。
例えば、
unsigned char foo[10];
と連続した領域確保して、

memset(foo,0,sizeof(foo)); //0で初期化
上のような命令実行することは、386のアセンブラで書くと、

mov esi,foo
mov ecx,10
xor eax,eax
cld
rep stosb

と等価なんですか?
703デフォルトの名無しさん:05/02/22 16:54:30
ごめんなさい。

×mov esi,foo
○mov edi,foo

に訂正します。
704デフォルトの名無しさん:05/02/22 16:58:16
ここんとこ、等価ですか質問してる人は嵐なの?
705デフォルトの名無しさん:05/02/22 16:59:11
>>702
最近のコンパイラなら
xor eax, eax
mov [esi], eax
mov [esi+4], eax
mov [esi+8], ax
位しそうな気もする。
手元のgccだと…
movl$0, %eax
movl$_foo, %edi
cld
movl$2, %ecx
movl$0, %eax
rep
stosl
movw$0, _foo+8
だってさ。
706デフォルトの名無しさん:05/02/22 17:39:48
等価学会の発表会
707デフォルトの名無しさん:05/02/22 18:01:44
>>706
そ う だ っ た の か
708デフォルトの名無しさん:05/02/22 20:20:46
>>702
memsetの実装やコンパイラに依存。
てめえで調べろ。
709702:05/02/23 01:52:02
ありがとうございます。
710デフォルトの名無しさん:05/02/23 02:40:22
右手でするのと左手でするのとでは等価ですか?
711デフォルトの名無しさん:05/02/23 02:43:28
>>710
環境依存です

環境によっては左手で子供の頭なでたりしたら親に打ち殺されたりします
712デフォルトの名無しさん:05/02/23 03:45:45
こんばんわ
「いちばん最初に」等価質問をした者です
皆様色々ありがとうございました
713デフォルトの名無しさん:05/02/23 11:09:34
白旗揚げると皆殺しの合図
714デフォルトの名無しさん:05/02/23 11:24:32
>>712
等価交換の原則に則り、礼だけじゃなく
気持ちを形に、っていうか…なあ?
715デフォルトの名無しさん:05/02/23 15:26:11
>>714
具体的に言って下さい・・・
7162:05/02/23 20:04:19
そう言えば、塩沢トキって見ないね最近。シンだ?
717デフォルトの名無しさん:05/02/23 20:09:29
>>716 は40代
718デフォルトの名無しさん:05/02/23 21:51:23
塩沢ときで検索するといいよ
719デフォルトの名無しさん:05/02/23 23:15:00
たまにはこんなのもいいかも
ttp://kur0nek0.web.infoseek.co.jp/obon/04/index.html
720デフォルトの名無しさん:05/02/23 23:26:39
>>719
大音量で音楽聞いてたからびびった
そういう行為って訴えられたりする事ってあるのか?
画像だけならよかったが声はまぢびびった
勘弁してけろ
721デフォルトの名無しさん:05/02/24 00:18:55
>>720
あるわけ無い。自己責任。
マならリンククリックの責任くらい分かるだろ。
722720:05/02/24 00:32:58
>>721
そうか
法律詳しくないんもんで(><
さんくす
723デフォルトの名無しさん:05/02/24 00:41:48
>>720
例えばpdfのリンクを開いてPCがフリーズし、
大事なデータが保存できなかった。

保証されるわけが無い。
724デフォルトの名無しさん:05/02/24 00:45:29
pdf開くときってよくフリーズするんだよね。
最近はビビって開けないよ。
725720:05/02/24 00:50:11
>>723
インターネットって怖いね(^-^
726デフォルトの名無しさん:05/02/24 00:50:16
公開されているページは、見る方も見られる方も自己責任。
見て文句も言えないし、見られて文句も言えない。
wwwの基本ルールですよ。
727デフォルトの名無しさん:05/02/24 01:21:34
公開してるサイトに苦情は言えるかもよ。
>>719のリンクは誰が見てもある程度同様の効果があるし、
それを意図した作りになってる。
後に出るダイアログのメッセージも悪質。
ISPに訴えたとしたら多少効果はあるはず。
728デフォルトの名無しさん:05/02/24 01:25:12
作者には責任があるけど、
リンク張った奴には責任ないよ。
729デフォルトの名無しさん:05/02/24 01:30:02
ここ見るなって言われてるんですけど見ても大丈夫ですかね?
http://www.tiduru.sytes.net/img-box/img20040727015957.jpg
730デフォルトの名無しさん:05/02/24 01:35:55
http://www.infoseek.co.jp/Notice?pg=legal.html&lk=noframes&sf=1&svx=199700
禁止行為

インフォシークの品質を保ち、皆様にインフォシークを通じてインターネットを有益に楽しんでいただくため、インフォシークにおいて以下の行為は禁止されています。



>ポルノ、ヌード、猥褻的、暴力的な映像、その他一般的に不快と感じられるイメージ(画像)、言葉、その他の表現
>未成年者の健全な育成を害する行為
>その他公序良俗、一般常識に反する行為



これらが該当するかと思われ。
731デフォルトの名無しさん:05/02/24 01:39:09
>>729-730
このアドレスですよね
61.194.13.120

InfoSphere (株式会社NTTPCコミュニケーションズ) (InfoSphere (NTT PC Communications, Inc.))
SUBA-029-377 [サブアロケーション] 61.194.13.0
有限会社 グローバルホステリングサービス (Global Hosting Service)
GHS-HOST0001 [61.194.13.112 <-> 61.194.13.127] 61.194.13.112/28
732デフォルトの名無しさん:05/02/24 01:41:19
>>731
>>730>>719の恐怖リンク
まったく別の話。
733デフォルトの名無しさん:05/02/24 04:25:27
スレ違い
734デフォルトの名無しさん:05/02/24 08:54:51
得体の知れないライブラリやオブジェクトファイルはリンクできないのはあたりまえだろ
735デフォルトの名無しさん:05/02/24 12:50:07
てか、事前にソースみることぐらいできんのか?

<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY oncontextmenu="return false" onselectstart="return false"
ondragstart="return false" bgColor=#000000 leftMargin=0 topMargin=10
onunload='alert("この画像を見た人は今から36時間以内に呪われます")' marginwidth="0"
marginheight="0">
<embed src="../03/g.wav" width="1" height="1">
</embed>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>


あほくさ
736720:05/02/24 13:17:18
>>735
アホっていう事ないじゃないか(><
ほぼ最大音量でBGM流しながらやってるからびびるんだ
737デフォルトの名無しさん:05/02/24 13:45:13
>>736
だから、いきなり開くからあほって言われるんだってば。
ダウンロードしてソース見てみるくらいしなさいよ。
738デフォルトの名無しさん:05/02/24 13:47:50
だから、スレ違いなんだってば!
739デフォルトの名無しさん:05/02/24 14:45:17
アセンブラスレでHTMLの話をするスレはここですか?
740デフォルトの名無しさん:05/02/24 14:52:37
違います。ここは塩沢ときを語るスレです。
741デフォルトの名無しさん:05/02/24 20:42:48
塩沢兼人を語るスレはどこですか?
742デフォルトの名無しさん:05/02/24 21:21:44
743デフォルトの名無しさん:05/02/24 23:18:17
>>742
THX
744デフォルトの名無しさん:05/02/25 19:33:12
皆様に質問させて下さい
どういうご職業ですか?仕事とされている方にちょっと憧れちゃいます。
こういうジャンルの製品のためにとか具体例があると非常に興味をそそられますので、
差し支え無ければお教え下さい。

やっぱり趣味とかなのに本職並みに詳しい人とかいるんですかね?

ちなみに私はCASL→Z80→X86という低レベル趣味PGです
745デフォルトの名無しさん:05/02/25 19:44:32
いるんじゃない?
逆にコイツよく首にならないなってのもいるし。
どの業界でも同じだろう
746デフォルトの名無しさん:05/02/26 00:28:50
過去ログの話になるが、
アセンブラ イイ!の1,2,4,7を、お前らどう思うよ。

アセンブラの言語としての最大の特徴は、機械語との1対1対応だ。
2進数と言っても、CPUの中に0とか1とか書いてあるわけじゃない。
ならば機械語の表現として、2進数も16進数もアセンブラも同等だろう。

機械語とアセンブラの関係は、ただのバイナリコードとShift-JISの関係に似ている。
さしずめメモ帳(Notepad.exe)は逆アセンブラ兼アセンブラ。
747デフォルトの名無しさん:05/02/26 00:47:06
> アセンブラの言語としての最大の特徴は、機械語との1対1対応だ。

違うよ。

機械語はオペランドの型によって違う値になるがニーモニックは共通だし、
逆に複数の異なるニーモニックによる表現が同じ機械語に変換される場合もある。
748デフォルトの名無しさん:05/02/26 00:54:29
なんで、こう次か次へと精神疾患の人が現れるんですか?
749デフォルトの名無しさん:05/02/26 01:05:31
季節的なものでは?
750デフォルトの名無しさん:05/02/26 01:33:16
PPCのニーモニック表はIBMとかにあるのかな
Altivec?とかもCPUの機能だよね
PPCってSSEとか3D Nowみたいのあるんですかね

こんな事しか書けないヘタレですまん
751デフォルトの名無しさん:05/02/26 13:32:15
>>749
まだすっごく寒いよ
752デフォルトの名無しさん:05/02/26 14:43:28
>>744
どうやら私の質問は「寒い」質問と思われちゃったようですね・・・・
753デフォルトの名無しさん:05/03/01 13:34:00
>>774
アセンブラで同じこと書けば同じ機械語になるだろ。
そりゃオペランド違えば別の命令になることもあるけど、それはへりくつだ。

正しくは1対1じゃなくてアセンブラから機械語への全射か。
まあ、アセンブラだと未定義命令が書けないけど、未定義は機械語じゃないとすれば全射。
754デフォルトの名無しさん:05/03/01 17:15:32
機械語に変えるときに複数の解釈ができるようなアセンブラもあるよ
755デフォルトの名無しさん:05/03/01 17:26:15
OPコードもオペランドも同じで、違うコードに落ちたり。
(相対ジャンプの飛び先が遠いとか)
まあ細かい話だ。「ほぼ1対1」とか言っとけば問題ない。
756デフォルトの名無しさん:05/03/01 18:46:46
>>774て何が書いてあるの?
俺にはわからん。
757デフォルトの名無しさん:05/03/01 19:15:54
最近気付いたけど、SSEやMMX、3DNOWなどに対応した「一般的」アプリってあまりないよね?
(3DCGソフト等除く)
758デフォルトの名無しさん:05/03/01 19:18:06
>>757
MMXはままある気がするがSSE,SSE2,3D Now!,A?E? 3D Now!2?とかはね
少ないと思う
759デフォルトの名無しさん:05/03/01 19:18:31
「一般的」って何よ?
760デフォルトの名無しさん:05/03/01 20:21:12
>>757
圧縮画像やら音声の伸長なんかで使ってそうだけどな。
761デフォルトの名無しさん:05/03/01 23:58:39
今のエロゲ(800*600*24)じゃMMXはほぼすべてじゃねーの?
762デフォルトの名無しさん:05/03/02 11:38:35
MMXはレタッチ系で使うだろう。
対応CPUもほぼ完全に普及して、速度も目に見えて違うからな。
SSEになると普通のアプリじゃ敷居が高いかもしれぬ。
763デフォルトの名無しさん:05/03/02 12:12:18
3D Nowなんか尚更だな
ベンチマークとかPMのこ〜だとか
もう出てからそれなりには歴史あるのにね
764デフォルトの名無しさん:05/03/02 12:53:11
3D Now!はかわいそうだったな。
整数MMX命令も使えたからけっこうトリッキーなこともしたくなったし。
(俺はIntelCPUなので使ったことない)

もはやメジャーアプリで使われることもなく、AMDのお荷物状態なのか?
765デフォルトの名無しさん:05/03/02 14:08:35
AMDのドキュメントがやる気0%だったからいけないんだよ
766デフォルトの名無しさん:05/03/04 02:16:00
あのさーLinux(x86)上でddd使用してさデバッグしてるんだけどさ、
フラグレジスタをキャリー、オーバーフロー等に分けて表示できないの? この部分だけモ〜レツに使いにくいんだけど。
それともこのフラグレジスタの16進を直感で把握しろよってことなの?マジで?
もう俺、こんな時間までやっててそろそろ爆発寸前になってきたよ。 (゚Д゚)モルア!
もっとさー人類にやさしく、地球環境にもやさしい表示できないわけ?

それ以外は特に文句無しの出来でそれが無かったら、
もうね、最高なツールだよ。dddは。ddd作った奴は、神に認定できるね。殿堂入りものだよ。マジで。
お願いします。m(_ _)m
767デフォルトの名無しさん:05/03/04 12:36:10
ソースあるんだから自分でいじるくらいの根性( ゚Д゚)ミセロ
768デフォルトの名無しさん:05/03/04 19:45:39
Cで初めてインラインアセンブラやってみました。
ハードの事はよくわからないので、ここで質問させていただきます。
_asm
{
moveax,a
movebx,5
movedx,0;@
divebx
mova,eax
}
@の行がないとエラーになるのはどうしてですか?
769デフォルトの名無しさん:05/03/04 20:18:43
IA-32 アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル
がintelのサイトから無料でダウンロードできるからそれを嫁
770デフォルトの名無しさん:05/03/04 21:01:01
>>768
C ではインラインアセンブラは定義されていません。
というお約束のツッコミは置いといて。

div が edx:eax を暗黙に要求しているのに、_asm のコンテキストで
不定になっちまってるからでしょ。
ていうかもし無理矢理コンパイル通したとしても、結果が不定になる罠。

ちうわけでリファレンス探して嫁。そもそもそのシーケンスが
何をするものなのかわかっているのかね?
771デフォルトの名無しさん:05/03/04 23:35:22
>そもそもそのシーケンスが何をするものなのか
全く分かってないです。
ハード的なことの知識に関しては、飛びぬけて無知だし。

とりあえず、マニュアル読んで奮闘してみますねっ
レスありがとございました! やっぱこういうこと聞いてわかっちゃう人もいるんですね。
感心しますた。
772デフォルトの名無しさん:05/03/05 14:40:57
この場合ハードは関係ない
773デフォルトの名無しさん:05/03/08 13:48:45
>>771
a/=5; みたいなコードだよ。
div命令は「edx:eax」を5で割って、結果がeaxに入りきらないとエラーを吐く仕様。
だからedxを0にクリアしておくだけ。

ってもう見てないか。
比較的まともなレスが多いんだから質問者はもうちっとかみついてほしかったな。
774デフォルトの名無しさん:05/03/11 15:25:37
mmxについて。
775デフォルトの名無しさん:05/03/12 02:44:40
mmsexについて。
776デフォルトの名無しさん:05/03/12 07:02:36
あーgccの拡張インラインアセンブラわからない・・・。
gccでvolatileオプション付けてるのに吐かれるコードが違うってのはどういうことですか先生。

寝ます。





777デフォルトの名無しさん:05/03/12 08:08:04
永遠に寝てろ
778デフォルトの名無しさん:05/03/12 12:56:41
>>776
gccスレ逝け カス
779デフォルトの名無しさん:05/03/20 18:52:51
とりあえず保守しておきますね
780デフォルトの名無しさん:2005/03/25(金) 15:42:45
インラインアセンブラでマイク入力を受け取りたいのだが、
in命令なんかで可能?
781デフォルトの名無しさん:2005/03/25(金) 15:49:57
>>780
そのようなハードウェア構成になっていれば可能。
尤も、そうであったとしても実用的かどうかは別の問題。
782デフォルトの名無しさん:2005/03/26(土) 12:10:12
さんくす。
確かに、普通にC使えって感じだな。
ただ、具体的にどうすればいいのかが知りたいのだ。
783デフォルトの名無しさん:2005/03/26(土) 12:17:19
OS依存だよもん
784デフォルトの名無しさん:2005/03/26(土) 13:36:10
OSがやってること真似すれば出来るんじゃないの
785デフォルトの名無しさん:2005/03/26(土) 13:37:10
OSが許せばだよもん
786デフォルトの名無しさん:2005/03/26(土) 16:01:52
OSだけじゃねぇってばよ。いずれにしろ、スレ違いだ。
787デフォルトの名無しさん:2005/03/26(土) 17:57:25
すまん。Windowsだ。
経験者いない?
788デフォルトの名無しさん:2005/03/26(土) 18:03:20
>>787
Win32API質問スレへどうぞ
789デフォルトの名無しさん:2005/03/26(土) 19:39:15
いや、アセンブラでのやり方を聞いているのだが。
790デフォルトの名無しさん:2005/03/26(土) 19:41:55
>>789
無理
791デフォルトの名無しさん:2005/03/26(土) 19:49:03
最近こういう馬鹿が多い。
春のやまじは人を喰う。
792デフォルトの名無しさん:2005/03/26(土) 20:03:27
アセンブラからWin32APIをたたく方法ってこと?
793デフォルトの名無しさん:2005/03/26(土) 21:08:46
違う。APIなどは使わずにということ。
つうかAPIだってマシン語なんだから、アセンブラで無理なわけないと思うが。
794デフォルトの名無しさん:2005/03/26(土) 21:10:54
>>793
特権ないとできないこともある。
だから OS とおさずに API を実装するなんて無理。
795デフォルトの名無しさん:2005/03/26(土) 21:19:58
>>793
ばーか!
796デフォルトの名無しさん:2005/03/26(土) 21:25:00
>>793
となると、デバイスドライバを自作するってことになるねえ・・・
DDKってので作れるから調べてみては。
797デフォルトの名無しさん:2005/03/26(土) 21:26:31
>>796
デバドラで Ring 0 特権もてる?
798デフォルトの名無しさん:2005/03/27(日) 14:39:12
特権もらえなかったら、わざわざデバドラ作る意味なくなるべ
799デフォルトの名無しさん:2005/03/27(日) 16:18:07
ラクなほうに慣れてしまうと裏業も出来なくなる悲しさ
800デフォルトの名無しさん:2005/03/27(日) 17:50:07
>>798
特権もらえるのはわかってるんだが、
Ring 0 までもらえるのかって聞いてるんだ。
801デフォルトの名無しさん:2005/03/27(日) 19:10:44
またお前か
802デフォルトの名無しさん:2005/03/27(日) 19:37:16
>>800
WindowsはRing0と3だけだ。
だから普通に考えればRing0だろ。
803デフォルトの名無しさん:2005/03/27(日) 21:41:37
MMI呼べやアホほどもが
804デフォルトの名無しさん:2005/03/28(月) 21:30:36
http://www.itmedia.co.jp/enterprise/0210/29/op01.html

ラクなほうにラクなほうに考えることしか出来ないバカが増えた結果
805デフォルトの名無しさん:2005/03/29(火) 12:04:12
日本語訳がヒドいな、その記事
806デフォルトの名無しさん:2005/03/29(火) 14:47:54
IT系の翻訳本ってこんなんばっかりだろ
807デフォルトの名無しさん:2005/03/30(水) 20:46:54
「IT」なんて単語使う連中なんてそんなもん。
808デフォルトの名無しさん:2005/03/30(水) 22:59:30
>>807
痛い系
809デフォルトの名無しさん:2005/03/31(木) 06:51:47
Visual C++でアセンブラ組んだやついる?
810デフォルトの名無しさん:2005/03/31(木) 08:30:36
__asmが使えるよ
811デフォルトの名無しさん:2005/03/31(木) 09:04:28
昔作ったクロスアセンブラはVC++でもコンパイルできたよ。
812デフォルトの名無しさん:2005/03/31(木) 15:34:05
某大手家電メーカーでの面接
某国立大学部生の面接

技術本部長 「得意分野は?」
学生「プログラミングです」
技術本部長 「CPUと同期したプログラムを作るにはどうすれば?」
学生「・・・・・・・」

結果 推薦による受験だったが不採用
813デフォルトの名無しさん:2005/03/31(木) 17:33:37
寧ろ、どうやって「CPUと非同期なプログラム」が書けるのかと。
814デフォルトの名無しさん:2005/03/31(木) 17:58:03
>>813
同意w
答えられないんじゃなくて、意味が分からんw
815デフォルトの名無しさん:2005/03/31(木) 19:05:26
アセンブリ言語の事じゃねーの?.....違うか

てゆーか、得意分野がプログラミングつーのも結構アバウトだな、おいw
816デフォルトの名無しさん:2005/03/31(木) 19:09:49
だったらどんなプログラム作ったか?とか
そのことでどんな人脈ができたか?とか
聞くならわかる
817デフォルトの名無しさん:2005/03/31(木) 21:52:35
それはコミュニケーション力のテストだ。
顧客がワケわからんことを言ってきたときの反応を見ているのだ。

「CPUとの同期とはどういうことを指すのでしょうか?」と
相手に説明責任を与えなきゃダメだよ。
818デフォルトの名無しさん:2005/03/31(木) 21:54:18
CPUと同期??
意味がわかんね。答えだしてくれ。
819デフォルトの名無しさん:2005/03/31(木) 21:56:53
そんな事もわからないんですか?
820デフォルトの名無しさん:2005/03/31(木) 22:06:55
いちいち馬鹿にしなくていいから早く。
821デフォルトの名無しさん:皇紀2665/04/01(金) 02:25:39
おれの書くプログラムは全てCPUとは非同期だよ。
822デフォルトの名無しさん:皇紀2665/04/01(金) 08:11:36
CPUの中で動いているのにCPUと非同期とか言われても・・・
823デフォルトの名無しさん:皇紀2665/04/01(金) 08:25:43
マザボのBIOSやグラボGPUをのっとれば…
824デフォルトの名無しさん:皇紀2665/04/01(金) 15:17:08
もうわけわかりません
825デフォルトの名無しさん:皇紀2665/04/01(金) 19:36:23
実は笑うところだったんだよ!
826デフォルトの名無しさん:int 2ch =05/04/01(金) 21:14:26
おまいら!全然基礎ができてないから、これでも読んで勉強しろや。
http://www.amazon.co.jp/exec/obidos/ASIN/4798008583/
827デフォルトの名無しさん:int 2ch =05/04/02(土) 01:19:56
結局書き逃げか
828デフォルトの名無しさん:int 2ch =05/04/02(土) 04:52:11
829デフォルトの名無しさん:2005/04/02(土) 18:09:55
実実行時間=クロックステート数/動作クロック
830デフォルトの名無しさん:2005/04/02(土) 19:54:58
>>829
パイプラインなどない、古き善き時代の人でつか?
831デフォルトの名無しさん:2005/04/02(土) 20:06:06
>>830
Z80マスターです

そういえばうちの大学の先生がSHシリーズ開発に関わったと言っていた
832デフォルトの名無しさん:2005/04/02(土) 21:26:08
>>831
Z80なぞ誰でもマスターになれる件について
833デフォルトの名無しさん:2005/04/02(土) 21:55:02
fdivrp st(1),st
834デフォルトの名無しさん:2005/04/03(日) 02:37:20
VMテクノロジーがその後どうなったかの件について
835デフォルトの名無しさん:2005/04/11(月) 02:01:25
Z80と8086ってどんな違いがある?
836デフォルトの名無しさん:2005/04/11(月) 02:03:14
足の数が違う
837デフォルトの名無しさん:2005/04/11(月) 03:01:53
VMテクノロジといえば
この種のプロセッサはことごとく全滅してるな
838デフォルトの名無しさん:2005/04/11(月) 03:40:43
嶋さんお元気でしょうか
839デフォルトの名無しさん:2005/04/11(月) 09:34:32
あの結局CPUと同期したプログラムって話うやむやにされてますけど
どういう意味ですか。
840デフォルトの名無しさん:2005/04/11(月) 09:40:13
質問者が阿呆か、質問された方が聞き違えたんジャマイカ。
841デフォルトの名無しさん:2005/04/11(月) 13:53:52
ニーモニックがよくわからないのですが
842デフォルトの名無しさん:2005/04/11(月) 14:38:13
>>839
エミュレータを介さないプログラム。

非同期・・・エミュレータ上で動いてるプログラム
843デフォルトの名無しさん:2005/04/11(月) 14:39:39
ふと、「ニーモニック娘。」という語が頭に浮かんだ。
844デフォルトの名無しさん:2005/04/11(月) 17:25:01
俺はレナード・ニーモニック。
845デフォルトの名無しさん:2005/04/12(火) 01:29:10
実に論理的ですな
846デフォルトの名無しさん:2005/04/12(火) 01:49:35
鈴木宗男
847デフォルトの名無しさん:2005/04/12(火) 16:20:02
ニートニック
848デフォルトの名無しさん:2005/04/12(火) 16:53:48
オーガニック
849デフォルトの名無しさん:2005/04/13(水) 07:03:34
アセンブラ
女性に大人気
850デフォルトの名無しさん:2005/04/14(木) 18:45:33
汗んブラ
一部のフェチ男に超人気
851デフォルトの名無しさん:2005/04/14(木) 19:32:05
スレッドレイプが流行ってるのか?
852デフォルトの名無しさん:2005/04/15(金) 02:12:37
x86でBCD演算命令ってあるけど、
現在BCDコードを使う奴なんているのか?
853デフォルトの名無しさん:2005/04/15(金) 03:25:22
>>852
速いCOBOLの処理系とかが使ってそうだが
854デフォルトの名無しさん:2005/04/15(金) 03:33:05
(´・∀・`)ヘー

COBOLってまだあるんだ。
855デフォルトの名無しさん:2005/04/15(金) 06:42:05
(´・∀・`)ヘー

アセンブラってまだあるんだ。
856デフォルトの名無しさん:2005/04/15(金) 08:13:30
>>855
あたりまえだろう。
857デフォルトの名無しさん:2005/04/15(金) 11:10:46
自動車メーカーじゃBASICが現役って聞いた
858デフォルトの名無しさん:2005/04/15(金) 18:44:52
>>857
さすがにネタでしょ?
・・・・・。
859デフォルトの名無しさん:2005/04/15(金) 19:59:46
最近、このスレのレベルが落ちた件について
860デフォルトの名無しさん:2005/04/15(金) 21:27:32
このスレに限らない
861デフォルトの名無しさん:2005/04/15(金) 22:25:05
2chは一部の情報を除いてほんとに時間の無駄だからな
862デフォルトの名無しさん:2005/04/16(土) 00:02:50
いまどきアセンブラにこだわるやつは、コンパイラ開発者でなければ
恵まれない組み込み開発者か、頭の固い8bitオヤジか、
他人のソフトをクラックしていい気になってるコバンザメってとこだろう。

で、こんな場所にクオリティ高い群がいるはずもなく。
863デフォルトの名無しさん:2005/04/16(土) 01:22:52
>いまどきアセンブラ
うがーっ!!
864デフォルトの名無しさん:2005/04/16(土) 02:55:55
おれはコンパイラ作って会社にライセンスしてるけどここで話すネタはないな
865デフォルトの名無しさん:2005/04/16(土) 05:14:35
>>858
いや、元々処理速度とか必要ない分野ではね
膨大なソースを今も有効活用してるって
866デフォルトの名無しさん:2005/04/16(土) 06:44:16
いまどきのアセンブラ
867デフォルトの名無しさん:2005/04/16(土) 09:45:27
>>865
何処かの会社の何処かの部署では
そういう事はあるかもしれないが、そういう特殊例を以って
「自動車メーカーじゃBASICが現役」のような書き方は
…って餓鬼に説明してんのか俺は。

まあ「膨大なソース」でネタ確定だな。
868デフォルトの名無しさん:2005/04/16(土) 13:11:34
>>867
まったくその通り
書き方が悪かった
869デフォルトの名無しさん:2005/04/16(土) 13:25:39
自動車メーカーどころか大半の企業では

大昔の電卓のような、液晶すら出てなかった頃の
自己発光文字盤使った計算機しかない。

一番のハイテクノロジーがイッツソーヒュージなプリンタ
一昔前の家庭用ワープロよりも劣る文字打ち機。

LAN組んでるところでさえ、家でもできるようなLANだし
870デフォルトの名無しさん:2005/04/16(土) 13:27:14
 ( ゜∀゜)彡  おっぱい!
   ⊂彡
871444:2005/04/16(土) 16:09:37
BASICを馬鹿にする奴はアセンブラもできない奴が多い
872デフォルトの名無しさん:2005/04/16(土) 17:50:14
pokeですか。そうですか。
873デフォルトの名無しさん:2005/04/16(土) 19:08:47
444?
874デフォルトの名無しさん:2005/04/16(土) 19:31:26
ウチの会社で一番のハイテクノロジーはファナックのPLCだ
875デフォルトの名無しさん:2005/04/16(土) 20:21:39
BASICって数値計算がラクだよな
型を意識しなくて良いし
876デフォルトの名無しさん:2005/04/16(土) 20:23:53
>>875
そうだね、ちょっとアルゴリズム検証なら十分だね
877デフォルトの名無しさん:2005/04/17(日) 12:32:32
車屋なんて、MAZDA みたいな田舎メーカですら
CRAY 複数台使ってるくらいなのに。

(´-`).。oO(光岡はどうなんだろ?)
878デフォルトの名無しさん:2005/04/17(日) 12:56:12
>>877
CRAYなんぞ未だに使うから(ry
879デフォルトの名無しさん:2005/04/17(日) 18:01:45
(´・∀・`)
880デフォルトの名無しさん:2005/04/17(日) 18:48:05
(´・∀・`)ヘー

CRAYってまだあるんだ。
881デフォルトの名無しさん:2005/04/17(日) 19:48:23
882デフォルトの名無しさん:2005/04/18(月) 11:05:05
CRAYをクレー
883デフォルトの名無しさん:2005/04/18(月) 22:51:24
ハイテク万歳
884デフォルトの名無しさん:2005/04/19(火) 12:39:56
パンツ穿いてく
885デフォルトの名無しさん:2005/04/20(水) 11:16:38
アセンブラならではのすごい高速化のギミックとかないか?
886デフォルトの名無しさん:2005/04/20(水) 15:41:30
ギミックというと、宝箱とかに化けてて、死の呪文とか唱えたりする
887デフォルトの名無しさん:2005/04/20(水) 15:50:09
それはミミック
888デフォルトの名無しさん:2005/04/20(水) 17:15:30
アセンブラゼロエックスは全4巻だろ
889デフォルトの名無しさん:2005/04/21(木) 00:17:39
アセンブラも基本的な演算命令は、
CPUが違っても一緒だと思うんですが(add, sub等)
アセンブラの演算命令について紹介しているサイトってありませんか?
intel, amdを対照比較してあるとうれしいです。
890デフォルトの名無しさん:2005/04/21(木) 00:33:23
>>889
その前に、君の低レベルな発言をなんとかしろ
知識がなさ過ぎて話にならない
891デフォルトの名無しさん:2005/04/21(木) 00:40:38
と、低レベル君が申しております
892デフォルトの名無しさん:2005/04/21(木) 00:56:21
asmファイルのソース見たんだけど意味わからんよ。
バイナリエディタ使わないでアセンブラだけで改造するにはどうすればいいんだろう?
893デフォルトの名無しさん:2005/04/21(木) 01:23:00
低レベルな話は大好きだけどな。
894デフォルトの名無しさん:2005/04/21(木) 01:44:00
>>889
>>892
せめて基礎の基礎の基礎知識ぐらい身につけてから書き込もう
895デフォルトの名無しさん:2005/04/21(木) 02:16:20
>基礎の基礎の基礎知識

頭悪い煽りだな
896デフォルトの名無しさん:2005/04/21(木) 05:34:29
BCBでつかえる淫乱アセンブラにはどのようなものがありますか?
897デフォルトの名無しさん:2005/04/21(木) 05:54:47
アセンブラってうまいのか?
898デフォルトの名無しさん:2005/04/21(木) 07:26:36
男の汗が染み込んでいます。
899デフォルトの名無しさん:2005/04/21(木) 08:12:19
汗ブラ
900デフォルトの名無しさん:2005/04/21(木) 11:28:48
>>893
低レベルと低レベル言語との違いを見抜けない人は、
(アセンブラを使うのは)難しい
901デフォルトの名無しさん:2005/04/21(木) 11:38:07
魔腺ブラ
902デフォルトの名無しさん:2005/04/23(土) 18:36:34
>>893
区別するために「低レイヤ」と言ってくれ。
903デフォルトの名無しさん:2005/04/24(日) 13:12:58
PICでアセンブラ勉強している人に、
「おおー低レベルなプログラムやってるのか」
といってしまいました。
904デフォルトの名無しさん:2005/04/24(日) 13:28:15
低級言語とか高級言語とか言うから誤認するんだ
905デフォルトの名無しさん:2005/04/24(日) 13:38:41
つーか明らかに意味を勘違いして使ってるよな
906デフォルトの名無しさん:2005/04/24(日) 14:15:43
お前らレベル低すぎ(w
907デフォルトの名無しさん:2005/04/24(日) 15:58:58
機械に近づいたということですね!!(゚∀゚)
908デフォルトの名無しさん:2005/04/25(月) 21:35:16
CPU amd sempron2200
なんですが、
C言語のインラインアセンブラを使って
一時キャッシュへよく使うデータを入れておいて、
必要になったら使いたいのですがどうしたらよいのでしょうか?
コンパイラはVC++.netです。

一時キャッシュへ入れたいデータは
unsigned int buf[1024];に入っています。
bufの中身をすべて一時キャッシュへ入れます。
一時キャッシュからデータを取り出したいときには
eaxレジスタに値を入れるということにしてください。
ebxレジスタの値で何番のデータを取り出したいのか指定します。
909デフォルトの名無しさん:2005/04/26(火) 01:29:30
意味不明
910デフォルトの名無しさん:2005/04/26(火) 02:46:52
cpuのキャッシュへ任意のレジスタのデータを渡すことはできないんでしょうか。
また、cpuのキャッシュから任意のレジスタへデータを渡すことはできないんでしょうか。

こういう意味です。
908は忘れてください。
911デフォルトの名無しさん:2005/04/26(火) 02:53:24
ますます意味不明
912デフォルトの名無しさん:2005/04/26(火) 02:59:14
なんかこの板滅多に来ないんだけど
スレタイがバイオハザードのアンブレラかと思ったよ
913デフォルトの名無しさん:2005/04/26(火) 03:41:58
アセンブラでcpuのキャッシュメモリを使うことはできないのでしょうか・・・
914デフォルトの名無しさん:2005/04/26(火) 03:44:40
>>913
何転々としながら阿呆なこと聞いてるの?
915デフォルトの名無しさん:2005/04/26(火) 05:11:56
(゚Д゚ )ハァ?CPUのL1やL2キャッシュにユーザが指令をして任意データを読み込めと?
PREFETCH命令くらいしかないだろ。それに、キャッシュラインが同じデータは後書き
されてしまうし、何wayのキャッシュかぐらい調べろよ。それによっては効果が出ない
事もあるからな。
916デフォルトの名無しさん:2005/04/26(火) 05:16:01
PREFETCH命令はIntelのPDFでも嫁。
917デフォルトの名無しさん:2005/04/26(火) 07:40:54
どうしてアセンブラなんかするの?
918デフォルトの名無しさん:2005/04/26(火) 08:11:17
そこにCPUがあるから
919デフォルトの名無しさん:2005/04/26(火) 08:27:38
ARMやDSP系だとキャッシュを固定する命令があったりするね
920デフォルトの名無しさん:2005/04/26(火) 08:36:42
全てのページをキャッシュディセーブルにしてキャッシュしたいページだけキャッシュ有効にすれば?
921デフォルトの名無しさん:2005/04/26(火) 13:49:17
>>910
メモリにアクセスすると勝手にキャッシュに乗る。
これはCでもアセンブラでも一緒。
buf[1024]程度ならオールL1ヒットする。
922デフォルトの名無しさん:2005/04/26(火) 15:23:34
ありがとうございました。
どうやってキャッシュにデータを乗せればいいのかと考えていたのですが、
cpuが勝手にやってくれるのですね。

忘れてください。
失礼しました。
923デフォルトの名無しさん:2005/04/26(火) 16:05:26
>>921
いい加減な事を書くな
924デフォルトの名無しさん:2005/04/26(火) 16:26:09
ていうかL1に乗ってないデータはまずL1に読み込んでからCPUがL1読むからな
キャッシュ無効とか(アプリからはできん)しない限りL1以外は読めない
925デフォルトの名無しさん:2005/04/26(火) 16:40:56
926デフォルトの名無しさん:2005/04/26(火) 17:31:48
>>908のは一次キャッシュじゃなくて一時キャッシュだ
多分別の領域に取るんだろう
927デフォルトの名無しさん:2005/04/26(火) 18:56:33
>>921はいい加減だが、どうみても>>908はキャッシュを意識してプログラムを
書くレベルではないので、この件は適当に打ち切るのが正解だな。
928デフォルトの名無しさん:2005/04/26(火) 21:33:02
mov ah, al
mov bh, bl

この命令はペアリング可能でしょうか・・・
もし可能なら
shl eax, 16
shl ebx, 16
を使うよりも良いと思うのですが。

こちら↓を参考にしてみていたのですが
ttp://hp.vector.co.jp/authors/VA003988/how_to_o.htm#10_1
同一レジスタを読み込むときのことは書いてなかったので質問させてください。
929デフォルトの名無しさん:2005/04/26(火) 22:23:40
>>928
何ビット動かしたいのかねえ
930デフォルトの名無しさん:2005/04/26(火) 22:29:37
8ビットです、すいません。
931デフォルトの名無しさん:2005/04/26(火) 22:41:12
>>930
下位8ビットと上位16ビットの内容が上のペアと下のペアで
違ってるのは良いの?
932デフォルトの名無しさん:2005/04/26(火) 22:45:40
今時ペアリングなんて意識する方が・・・
単純に整数演算器がいくつあるかとかならわかるけど。

それに、パーシャルレジスタストールを考えなければいけない環境も
まだまだ残ってるし。
PenMは知らないけど。
933デフォルトの名無しさん:2005/04/27(水) 11:19:57
>>928
最近はペアリングって言葉使わないよ。
PentiumのUVパイプのことだからね。
上は一応同時実行できるっぽいけどパーシャルレジスタストール食らうのでお勧めできない。
下は同時実行できないが、前後にある他の命令と同時実行してくれるケースが多いと思う。
よって下がおすすめ。

・・・同時実行よりペアリングの方がカコイイな。
934デフォルトの名無しさん:2005/04/27(水) 13:36:53
組み込みならともかく、そこまでCPU内部構造まで意識する必要があるのかとw
CPUの仕組みが変わったら無駄になるのがオチ
935デフォルトの名無しさん:2005/04/27(水) 14:10:12
組み込みならともかく、今時アセンブラなんか意識する必要があるのかとw
このスレの内容の殆どが、CPUの仕組みが変わったら無駄になるのがオチ
936デフォルトの名無しさん:2005/04/27(水) 14:20:23
命令セットと実装の違いが分からない痛いヤシがいる(・∀・)ニヤニヤ
937デフォルトの名無しさん:2005/04/27(水) 17:53:26
MSがインラインアセンブラを廃止する件について
938デフォルトの名無しさん:2005/04/27(水) 18:31:11
ソースは?
939デフォルトの名無しさん:2005/04/27(水) 21:02:53
MS:「インラインアセンブラを終了しました。長い間の御利用有難うございました。」
940デフォルトの名無しさん
64bit版のICC、MSコンパイラはインラインアセンブラ使えなくなってしまった。
またMASMのお世話になるとは