トップページ⇒tech
1001コメント252KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… (°Д°)ハァ?
http://pc5.2ch.net/test/read.cgi/tech/1093519463/
0002デフォルトの名無しさんNGNG
【過去ログ】
アセンブラ… (゚д゚)ウマー
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/
0003デフォルトの名無しさんNGNG
【関連書籍】

はじめて読む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/
0004デフォルトの名無しさんNGNG
>>1
キモイ
0005デフォルトの名無しさんNGNG
あっちにはキモいのが入り込んでるから廃棄でいいだろ
0006デフォルトの名無しさんNGNG
プログラマからもゲーム解析者からもクラッカーからもクズ扱いの要注意な本。

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

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

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

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

 奇妙なのはbochsのデバッガで一つ一つステップ実行してゆくと例外は発生しないのですが、一気に実行すると
例外が発生してしまいます。ソースコードは以下のようになっています。どなたか助言を....
0011942NGNG
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
0012942NGNG
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
0013942NGNG
[BITS 32]
protect_start:
;ここから32ビットへ移行だ
movax, 08h
movds, ax

movax, 18h
movss, ax

main_loop:
jmpmain_loop
0014942NGNG
bochsのデバッガで一つ一つ命令を追ってゆくと。mov cr0,eaxの次のstiからアドレスの表示が

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

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

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

main_loop:
jmp main_loop

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

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

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

よく見てないけどいいだっけこれ。
0017デフォルトの名無しさんNGNG
なぜcr0にロードした直後にjmp命令を入れないの?
0018デフォルトの名無しさんNGNG
あとスタックセットアップ、IDTも設定してないのにstiしてない?
0019デフォルトの名無しさんNGNG
gdtのコードのベースもセットアップしてないな。100h決めうちなのか?
全部やり直し
0020デフォルトの名無しさんNGNG
bochsなんつーヌル環境だから、手抜き知識しかない模様
0021942NGNG
ごめんなさい
cli
mov ax, cs;csレジスタの値は CODE_TEMP_SEGの値
mov ds, ax;dsレジスタの値もちゃんと設定しておこう
mov ss, ax
sti
mov ss,axが抜けていました…
0022942NGNG
>>19
このgdtはMonaの初期のコードからパクってきました。
これではだめなんですか?
0023デフォルトの名無しさんNGNG
いいとかわるいとかの問題じゃねーんだけど
0024デフォルトの名無しさんNGNG
環境ぐらい書けよ
0025942NGNG
>>23
メモリホールにかぶったらどうするんだ?とか細かいところが分からないので。
とりあえず走らせて見ていじってみようというわけです。

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

環境は
Intel PentiumIIIの1Ghz

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

だから「何を」走らせたいんだよ。それがわかんねーから、よいも悪いもないんだよ
0027942NGNG
>>26
今やりたいことはprotect_modeにちゃんと移行することです。
0028デフォルトの名無しさんNGNG
>>16
>>18
0029デフォルトの名無しさんNGNG
さらに、PM動作確認するため画面に「G」と出すようにする
0030942NGNG
>>29
上記のプログラムでは、文字出力の部分は全部飛ばしてあります。
実際には文字列を出力するコードが入っていますし、それらは動作しています。
0031デフォルトの名無しさんNGNG
誰かキーロガー書けプルア
0032デフォルトの名無しさんNGNG
>>6
このレビューは参考になりましたか?
◎はい ○いいえ
0033デフォルトの名無しさんNGNG
http://www.amazon.co.jp/exec/obidos/ASIN/4798008532/
0034デフォルトの名無しさんNGNG
キモイ
0035デフォルトの名無しさんNGNG
スレ立て早すぎ。過疎スレなのに
0036デフォルトの名無しさんNGNG
>>6
どのへんがクズなの?
0037デフォルトの名無しさんNGNG
>>36
本屋で立ち読みして、内容を自分の目で確かめてみると良いですよ。
それが出来ないなら、レビューを参考にされると良いでしょう。
ただし、「ゲーム解析に役立つ」というレビューは大嘘ですが。
0038デフォルトの名無しさんNGNG
(´・∀・`)キモイ
0039デフォルトの名無しさんNGNG
語感がムカつくもの

mov

モブって言うな!!!!!!!!!
ムカつく!!!!!!!!!!!!
0040デフォルトの名無しさんNGNG
>>39
moveの略なんだしムブは駄目か?
0041デフォルトの名無しさんNGNG
QuickTimeのあれとかムカつくよな!!!!!!!!!!!!
0042デフォルトの名無しさんNGNG
それはそれでムカつく
0043デフォルトの名無しさんNGNG
ノーブラか?
0044デフォルトの名無しさんNGNG
てぶら
0045デフォルトの名無しさんNGNG
前スレ987へ
i8086のシフト命令のクロック数調べてみれ
0046BlackLightOfStar ◆ifsBJ/KedU NGNG
Re:>37 一部の技術者以外には向かないだろう。私もアセンブリ言語はあまり分からない。
0047デフォルトの名無しさんNGNG
Re:>
↑これであぼーん設定するとすっきりする
0048デフォルトの名無しさんNGNG
>>46
「いまどきのアセンブラプログラミング」ご自分で読まれましたか?
一部かどうかを問わず、技術者がこの本を必要とする場面はありえないと思います。

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

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

である
0053デフォルトの名無しさんNGNG
みんなの意見を総合すると

厨をターゲットにした、厨本って言うことだな
0054デフォルトの名無しさんNGNG
見れば分かる
0055デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1093519463/987

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

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

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

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

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

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

ただ、レイテンシは最悪になると
006763NGNG
>>65、66
ありがとうございます。
0068デフォルトの名無しさんNGNG
アセンブラが勉強できるいい本ない?
0069デフォルトの名無しさんNGNG
まったくやったことがないんだったら
http://www.amazon.co.jp/exec/obidos/ASIN/4274132072/249-7538230-3156334
がオススメ、、というよりこれしかない。
0070デフォルトの名無しさんNGNG
俺は、吉川敏則の「Cユーザのための実践アセンブラ」をおすすめする。
0071デフォルトの名無しさんNGNG
中古の8ビット機、説明書込みで買ってこい。
0072デフォルトの名無しさんNGNG
Z80、MC68000経験者にいい本ない?
0073デフォルトの名無しさんNGNG
ところでこのスレは、どの石を前提に進めてるの?
おれは>>72に、SH関連をすすめたりしても良いわけ?
0074デフォルトの名無しさんNGNG
>>72
経験者なら、
とりあえずCPUメーカーの資料をいきなり読んでアーキテクチャと命令セットを理解し、
適当にサンプルコードを眺めて作法を把握すればOKじゃない? そんな暇ない?
0075デフォルトの名無しさんNGNG
http://www.kohgakusha.co.jp/books/detail/4-87593-050-X
なつかしいなぁ。どっかいっちゃってもう手元にないよ。
0076デフォルトの名無しさんNGNG
>>69
これ昔々に読んだけど、そのときは難しかったなぁ。
0077デフォルトの名無しさんNGNG
秘伝忍法帖は地味だけどよかったよ (昔々・・・)。
0078デフォルトの名無しさんNGNG
CASL ならまかせてくださいと流れをぶったぎってみる
0079デフォルトの名無しさんNGNG
パソコン用ではない、組み込み用CPUのアセンブラなら
電気電子板へ誘導してあげたら。
0080デフォルトの名無しさんNGNG
アセンブラの話題は全部電気板でいいと思う。この板馬鹿が多いし。
0081デフォルトの名無しさんNGNG
>>80
たとえば誰?
0082デフォルトの名無しさんNGNG
>>81
おれおれ
0083デフォルトの名無しさんNGNG
手前等に任せた。

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

ファッキントッシュに、のってる、クピュと、
ブロークンウィンドウズ理論が動く、クピュでは、
破線ブラコードは、違うと、思われなのだべしですが、
この、仕様というか、命令セット大全というか、
何を、どうしたら、どうなる、命令がこんだけある!
と、いうのは、どこで調べたらいいの、ですか。
0084デフォルトの名無しさんNGNG
まずは解読
0085デフォルトの名無しさんNGNG
SPARCとかPowerPCとかで、組み込みじゃない時はどちらの板で。
0086デフォルトの名無しさんNGNG
アセンブラプログラマって頭悪そうだな
0087デフォルトの名無しさんNGNG
>>63
ぷよぷよって言うくらいだからWindows上での話しだと思うけど
どうやってCR4とMSRをいじったの? 教えてちょんまげ
0088デフォルトの名無しさんNGNG
>>69の本は今読んでも役に立つの?
0089デフォルトの名無しさんNGNG
>>87
DDKスレで聞いた方がいい。
0090デフォルトの名無しさんNGNG
>>88
訳に立つと思うよ。
0091デフォルトの名無しさんNGNG
その本読んだらアセンブラのコードかけるようになれる?
Cは別に使う機会無い漏れだけど・・・。
0092デフォルトの名無しさんNGNG
このスレの人たちみたいにCPU周りに詳しかったら
仮想マシンを自分で作ってみたいとか思わないんですか?

(ヘボぃところでCASLとかなら既にあるんだろうけど、、)
0093デフォルトの名無しさんNGNG
>>92
8ビットCPUのインストラクションセット作って遊んだことならある。
0094デフォルトの名無しさんNGNG
言語処理系つくるなら(完全なネイティブコンパイラでなきゃ)スタックマシン作る。
CPUそのものは学生のときに授業で作った。
0095デフォルトの名無しさんNGNG
いいですねー。自分は何も考えずに化学科選んで全然面白くなかったから
そういうの憧れるっすよ。電気とか電子でしょ?CPUを実験で作るのって。
0096デフォルトの名無しさんNGNG
http://www.amazon.co.jp/exec/obidos/ASIN/4839909865/
0097デフォルトの名無しさんNGNG
化学も面白いけどなぁ
多分、他人の芝生が青く見える人は、技術研究は向かないかも
0098デフォルトの名無しさんNGNG
化学はね、計算機関係みたいに個人の範囲で実験が出来ないんですよ!
あと収率とかね、一般に低くて化学反応式みたいにクリアな世界じゃないんすよ!
精製とかだるくて惨めでネ!

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

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

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

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

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

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

個人の範疇で実験が出来るのなら、家で勝手にやってサイトで公開とかでもすればいいじゃん。
0110デフォルトの名無しさんNGNG
えっ?
0111デフォルトの名無しさんNGNG
頭の悪い香具師が来たな
0112デフォルトの名無しさんNGNG
色んなイミでかなり・・・ナンダガ
0113デフォルトの名無しさんNGNG
高校の先生とかしてそうだね。
0114デフォルトの名無しさんNGNG
おつかれさま
0115デフォルトの名無しさんNGNG
アセンブラ… (´・∀・`)ヘー
↑
悲しいけど、これ、アセンブラスレなのよね。
0116デフォルトの名無しさんNGNG
オマエラの科だのの話に興味はないのだよ、興味が
0117デフォルトの名無しさんNGNG
アセンブラも大事だが現国もガンバ↑(´・∀・`)
0118デフォルトの名無しさんNGNG
(´・ノ・`)
0119デフォルトの名無しさんNGNG
無能が無能であることに気付かない事ほど哀れなことはない
0120デフォルトの名無しさんNGNG
痴脳が池沼であることに気付かない事ほど哀れなことはない
0121デフォルトの名無しさんNGNG
必至さが笑えたw
0122デフォルトの名無しさんNGNG
機械の体をタダでくれる惑星まで出かけた>>119は
自己出力プログラム化して帰還。
0123デフォルトの名無しさんNGNG
メーテルを訴えたほうがいい
0124デフォルトの名無しさんNGNG
車掌も共犯
0125デフォルトの名無しさんNGNG
化学とか個人とか、やる気がない言い訳にしか聞こえないわけだが。
0126デフォルトの名無しさんNGNG
>>125
【心と身体】のどっかで槍太陽にやっテロ
0127デフォルトの名無しさんNGNG
化学専攻してる人がみんなに指摘されて暴れてるようだな
そんなに悔しかったら、化学やめて情報やればいいのに
0128デフォルトの名無しさんNGNG
化学をまともにやった奴が情報やったらかなり楽しいと思うぞ
しかし、RISCのアセンブラは読みにくい。
0129デフォルトの名無しさんNGNG
ん… 俺はRISCのアセンブラの方が読みやすいんだが、おかしいんだろうか…
0130デフォルトの名無しさんNGNG
新スレになっても相変わらずしょーもないふれーむが伸びてるな
0131デフォルトの名無しさんNGNG
少なくとも私にはSparcのアセンブラは読みにくい。
#68000が(馴れもあって)一番読みやすいかなぁ。
0132デフォルトの名無しさんNGNG
慣れてないってのはあるが、一行にいろんな事を詰め込んでいる感じがしてどうもわかりにくい。
0133デフォルトの名無しさんNGNG
Z80は名機。これ定説。
0134デフォルトの名無しさんNGNG
8ビットCPUで一番使いやすくて速かったのは6809だが、いかんせん
世に出るのが遅すぎた。
Z80は命令体系が8086よりもさらに糞で、いろんな制限が課せられて
いたが、アセンブリで書く事により潜在能力を100%解放していたな。

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

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

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

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

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

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

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

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

という事で過去を振り返るのはこれ位にしとく?
0138デフォルトの名無しさんNGNG
6809といえばSEX
0139デフォルトの名無しさんNGNG
8086ではCBW、CWDか。
モトローラたん(*´д`*)ハァハァ
0140デフォルトの名無しさんNGNG
あ、8086にはCWDなんて命令ないんだった。
アセンブラ使い始めたのはPentiumからなので許してスマソ。
0141デフォルトの名無しさんNGNG
CWDもあるだろ
386で追加されたのはCWDEとCDQ
0142デフォルトの名無しさんNGNG
コンパイラの混合ソースだと、CBWEもCBWと表示されてるね。
0143デフォルトの名無しさんNGNG
>>135
チャチャ入れで申し訳ないが

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

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

PalmOSだとグローバル記憶域がA4だったっけ?
0145デフォルトの名無しさんNGNG
>ローカル記憶域を指してthisポインタのようなものと言ってるのだろう。
かなり違うじゃん
0146デフォルトの名無しさんNGNG
ということは、6809が2個載ってる、FM-7シリーズが最高と言うことでいいですか?
0147デフォルトの名無しさんNGNG
Z80が2個載っている、PC-8801MkIIシリーズが最高にきまっとろうが!
0148デフォルトの名無しさんNGNG
こいつら30代だとしたらかなり寒いな
0149デフォルトの名無しさんNGNG
今、たいへんなことになっています。

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

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

どっちが正しいのでしょうか、あなたの助け?
0150デフォルトの名無しさんNGNG
ワウ、私は足りなかったかもしれません。

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

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


知恵を流してください!上に。
0151デフォルトの名無しさんNGNG
あわわ…
0152デフォルトの名無しさんNGNG
荒しばっかり・・・
このスレはもうダメぽ・・・
0153デフォルトの名無しさんNGNG
荒しやっつけるコード書いてよ。アセンブラで。
0154デフォルトの名無しさんNGNG
これはもうだめかもわからんね。
0155デフォルトの名無しさんNGNG
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
0156デフォルトの名無しさんNGNG
z80のアセンブラ本が出るらしい。ぜとはち か…

Z80アセンブラ入門
http://pc.bookmall.co.jp/search/info.php?Code=46578&PCID=4475ec7866f7fc2b0d93fc1c22b05d1b
http://www.tdupress.jp/cgi-bin/html.cgi?i=ISBN4-501-53850-3
0157デフォルトの名無しさんNGNG
ぜとはち?そんな言い方するか?
ゼッパチとかハチマルとか言うだろ。
0158デフォルトの名無しさんNGNG
ふつーぜっぱち
0159デフォルトの名無しさんNGNG
ゼッパチと言えば、Z8と思う私。
80と言えば、8080と思う私。
0160デフォルトの名無しさんNGNG
かといって、ぜとはちと聞いて、Z80を思い浮かべられる人もおるまい。
CPUの話という前提で、音の感覚でなんとなく推測する域だな。

まー、プログラム板だから、ゼッパチでまず通じるでしょう。
8080と互換だから、ハチマルとして系でまとめるのもあるかも。
0161デフォルトの名無しさんNGNG
ゼットはちまる
0162デフォルトの名無しさんNGNG
はにまる王子
0163デフォルトの名無しさんNGNG
ゼット (英語だが本物の発音はズィー)

はち (日本語)

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



英語か日本語かどっちかに統一しろよ
0164デフォルトの名無しさんNGNG
Z80マシン語秘伝の書
0165デフォルトの名無しさんNGNG
ぜっぺき
0166デフォルトの名無しさんNGNG
違います。ゼットもゼロも日本語です。
0167デフォルトの名無しさんNGNG
>>163
誰もゼロとは読んでないような気がするが…
0168デフォルトの名無しさんNGNG
>>163
日本語名は、ゼットハチマル
0169デフォルトの名無しさんNGNG
乙八零
0170デフォルトの名無しさんNGNG
俺はメガドライブに乗ってた奴

で
Z80とピーンと来る能力がある。
0171デフォルトの名無しさんNGNG
http://e-words.jp/w/Z80.html



ヴチッと来るものがある
0172デフォルトの名無しさんNGNG
むう。ザイログハチジューって言われてもなあ(w
0173デフォルトの名無しさんNGNG
メガドライブって、16ビットだろ?
0174デフォルトの名無しさんNGNG
68000とZ80の二本立てCPUなんさ
0175デフォルトの名無しさんNGNG
メガドライブは68000
一応Z80も乗ってることは乗ってるが、音出してるだけ

普通、Z80と言えば、普通のセガ(とMarkII-III)だと思うが
0176デフォルトの名無しさんNGNG
普通、Z80といえばゼビウス
0177デフォルトの名無しさんNGNG
ガーン!
Z80のZって、ZILOGの頭文字だったんだ!

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

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

そう言えば、FM-7は6809*2だったっけ?
0180デフォルトの名無しさんNGNG
>>179
>>146
0181デフォルトの名無しさんNGNG
FM-7の先輩のFM-8も6809*2だったんだがな…。
0182デフォルトの名無しさんNGNG
2ちゃんねる昔のPC板
http://bubble2.2ch.net/i4004/
0183デフォルトの名無しさんNGNG
>>137
6809はメインメモリ全部をレジスタにしてるようなもんだからなぁ。
当然、他の8ビットCPUよりも遥かにメモリアクセスがシビア。

Z80のZはZilogのZでもあるが、THE 80 のTHEを一文字に縮めたZでもある。
0184デフォルトの名無しさんNGNG
アセンブラとかダッセwww
カス同然だっての
0185デフォルトの名無しさんNGNG
アセンブラって素敵ぃ♥♥♥
尊敬しますっ☆
0186デフォルトの名無しさんNGNG
アセンブラに嫉妬する奴はまだいいよ。Java厨とか、
なんてったってアセンブラ読めないからね。
0187デフォルトの名無しさんNGNG
Java バイトコードが読めれば、それでいい。
0188デフォルトの名無しさんNGNG
んなわけない
0189デフォルトの名無しさんNGNG
俺は、ジャバは、
風呂釜さえ綺麗になれば、それで、いいと思って、いる。

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

0191デフォルトの名無しさんNGNG
>>189
ワラタ
MASMあげ
0192デフォルトの名無しさんNGNG
80386と
カローラFX
0193デフォルトの名無しさんNGNG
>>190
objdumpコマンドで.oファイルとかを見てみよう!
0194デフォルトの名無しさんNGNG
gcc -S hoge.c がいいんじゃないかな
0195デフォルトの名無しさんNGNG
どーせネームマングリングだろ。FAQ過ぎ調べなさ過ぎ根性なさ過ぎ
0196デフォルトの名無しさんNGNG
パチンコ/パチスロ特殊技術裏掲示板
http://jbbs.livedoor.jp/sports/19329/index.htm
0197デフォルトの名無しさんNGNG
へーかよ
0198デフォルトの名無しさんNGNG
6809の評判いいみたいだけど何が良かったとですか?
俺はMZとMSXでZ80erだったんで。
0199デフォルトの名無しさんNGNG
Z80をフランスパンに例えると、6809はパンの生地のような感じだったな。
とにかく思った通りにプログラムがガシガシ書けた。

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

6809ならすぐ取り出せた。
0200デフォルトの名無しさんNGNG
データレコーダで普通のカセット再生させて録音とかやったなぁ…
0201デフォルトの名無しさんNGNG
なつかしいなぁ。よくWラジカセでダビンg(ry
0202デフォルトの名無しさんNGNG
>>201
そういう意味ではなく、PCのメモリに録音したんだと思われ
0203デフォルトの名無しさんNGNG
だから、いいかげんZ80だの6809だのの話は昔のPC板でやれっての。
専用スレまでちゃんとあるだろ。
0204デフォルトの名無しさんNGNG
>>203
じゃあ、具体的に何のCPUの話をしろと?
0205デフォルトの名無しさんNGNG
PCとCPUの区別もつかないのか?
Z80なんて組み込みじゃまだ現役だぞ。
0206デフォルトの名無しさんNGNG
>>203
知ったか君は二度と来なくていいよ。
0207デフォルトの名無しさんNGNG
>>203
そんなに排除したかったら、32bitアセンブラとでもスレ建てて、
勝手にそっちでやればいいのに。
0208デフォルトの名無しさんNGNG
>>203
煽るぐらいなら、まずお前がアセンブラの話をしてみろ。
それも出来ないで煽るだけなら迷惑だ。
0209デフォルトの名無しさんNGNG
そもそもアセンブラでガシガシ書いてたのってそのあたりのCPUでだからな
これは自然の流れと言う奴だろう
0210デフォルトの名無しさんNGNG
逆に、AMD64とかSPARC64とかで、アセンブラでガシガシ
書くのが最高とか本気で言ってる奴がいたら、結構引くな。
凄いと言うより、アホかなと思ってしまう。
0211デフォルトの名無しさんNGNG
あー今思い出したけど、6502ってCPUもあったな。
AppleIIとかコモドールに使われていたっけ。
俺がパソコンを知った時は既に16ビット時代だったのでついに一度も
6502でアセンブラを使った事はなかったけど、なぜか手元に本だけある。

インデックスレジスタまで8ビットだって!?こんなんでよくプログラムを
書いてたんだなあ。
0212デフォルトの名無しさんNGNG
何を言ってるんだ。AMD64 でレジスタ数が倍増した今こそ
ループアンロールと依存性最適化で人間様の実力を見せ付けてやるときじゃないか
0213デフォルトの名無しさんNGNG
>>211
http://www.geocities.co.jp/SiliconValley-Bay/9975/6502/
0214デフォルトの名無しさんNGNG
>>212
アセンブラの未来は君に託した
ガンガレ
0215デフォルトの名無しさんNGNG
>>212
あーでもね、コンパイラより速くハンドアセンブルして、コンパイラの吐いた
コードよりも速く動作するものを書けないと、お払い箱だからね。
0216デフォルトの名無しさんNGNG
http://bubble2.2ch.net/test/read.cgi/i4004/1009359454/
0217デフォルトの名無しさんNGNG
>>198
http://www.6809.net/abt6809.html
0218デフォルトの名無しさんNGNG
>>217
これ見て、FM-7のゲームのプロテクトがもの凄くトリッキーに書かれて
いたのを追憶したよ。

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

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

UNIXにしろWindowsにしろ回りがOSでガチガチに固められている今、あまり
面白い事はできなくなったなー。
0219デフォルトの名無しさんNGNG
ttp://www.itofamily.com/ito/collections/legend/6502/
ttp://www.itofamily.com/ito/collections/legend/m6809/
0220デフォルトの名無しさんNGNG
ttp://www.st.rim.or.jp/%7Enkomatsu/mc680x/MC6809.html

ttp://www.st.rim.or.jp/%7Enkomatsu/miscproc/MCS6502.html
ttp://www.st.rim.or.jp/%7Enkomatsu/miscproc/MCS6522.html
0221デフォルトの名無しさんNGNG
ファミコンは6502カスタム、スーパーファミコンは65816カスタムが
使用されていた。
特にコンシュマーで65816のシェアはほとんどスーファミに消費されて
いたと言えるほど独占的だった。
驚くべき事に、スーファミのゲームの大半はアセンブラで書かれていた!

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

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

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

0230デフォルトの名無しさんNGNG
>>210>>212>>215

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

俺はてっきり、使い方やOPコードもどこかで公開されているのかと
思ってたよ。
0280デフォルトの名無しさんNGNG
>>250の必死さがにじみでてよい
0281デフォルトの名無しさんNGNG
>>280
「良く調べないでいい加減な事を書いてしまいました。ごめんなさい。」
って書くだけなのにね。哀れなり。
0282デフォルトの名無しさんNGNG
どうでもいいけどAMD64のマニュアルはちゃんと読んでおこう な!
0283デフォルトの名無しさんNGNG
sakky乙
0284デフォルトの名無しさんNGNG
>>282
マニュアルも糞も、>>251の資料に申し訳程度に書いてあるだけで、
他のプログラミング・マニュアルにはHSに関する事は一つ足りとも
出てないっつーのに。普通はそう思って当然だぞ。
0285デフォルトの名無しさんNGNG
>>250であそこまで啖呵切っちゃたらそりゃ引けないわな
0286デフォルトの名無しさんNGNG
アセンブラとCでプログラミングをしてます。

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

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

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

どなたか教えてください
0287デフォルトの名無しさんNGNG
gcc -S -masm=intel 程度じゃダメか?
0288デフォルトの名無しさんNGNG
>>287
意外と知られてないよね
0289デフォルトの名無しさんNGNG
>>261
Thx。ドライバを手動でインストールするとはw
確かにSP2でHS Loadはカウントされていますね。試しにSP2を
アンインストールして確認してみたらHS Loadはカウントされませんでした。
0290260=289NGNG
↑
あ、イベント(?)は4020Hであってますよね?
0291デフォルトの名無しさんNGNG
AMDのマニュアルにHSレジスタロードでカウントすると書いてあり
かつ実際の環境でカウントしているのに、HSレジスタは無いと言い張る輩
(多分>>250が自演)が惨めですね。

あ、途中で「無い」から「保証はしない」と変わっているなw
0292デフォルトの名無しさんNGNG
>>290
>>258
0293デフォルトの名無しさんNGNG
HSって冗談で書いたのに、マジであるのかよ。

P4にはないのかな
0294デフォルトの名無しさんNGNG
>>291
しつこい。氏ね
0295デフォルトの名無しさんNGNG
というか、何に使うんだろ
FSもGSももてあましていると思うんだが・・・
0296デフォルトの名無しさんNGNG
>>295
NTはfsを良く使うけど。gs以降はしらん
0297デフォルトの名無しさんNGNG
>>291はHSがどんな使われ方をされているかも知らない癖に、
知ったかぶりをする馬鹿。お前どれくらい知ってて人の事を
それだけけなしてるんだ?
0298デフォルトの名無しさんNGNG
単なる誤記のような気がすんだけどな
0299デフォルトの名無しさんNGNG
そういえば、AMD64とEM64Tの違いの発生原因は
AMDのマニュアルの記載ミスだったとかなんとか。
0300デフォルトの名無しさんNGNG
>>299
それは、LAHFとSAHF命令でしょ。
古いAMD64の仕様書には、この2つの命令はロングモードで無効命令と
なっていた。

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

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

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

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

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

AthlonXPからえらくイベントの項目が増えたな。
0306デフォルトの名無しさんNGNG
>>301
みんなじゃなくて、ここまで派手に反応しているのはお前だけだろうが。
0307デフォルトの名無しさんNGNG
出た出た
敵が単独に見える病(w
0308デフォルトの名無しさんNGNG
うっせハゲ
0309デフォルトの名無しさんNGNG
トリップつけようよ
0310デフォルトの名無しさんNGNG
>>296
nt!SwapContext+0xc7:
804def3d e8595c0000 call nt!KeReleaseQueuedSpinLockFromDpcLevel (804e4b9b)
804def42 33c0 xor eax,eax
804def44 8ee8 mov gs,eax
0311デフォルトの名無しさんNGNG
HSっていうと、PICを思い出す
0312デフォルトの名無しさんNGNG
IS
0313デフォルトの名無しさんNGNG
スターリン戦車
0314デフォルトの名無しさんNGNG
ZS
0315デフォルトの名無しさんNGNG
>>310
0をセットするコード見ても面白くねえよ
0316デフォルトの名無しさんNGNG
>>314
シルカ対空砲
0317デフォルトの名無しさんNGNG
push cs
pop gs
0318デフォルトの名無しさんNGNG
証拠出されてやっと引いたか。アンチHS厨。
0319デフォルトの名無しさんNGNG
>>318
そうではない。お前があまりにもしつこいのでスルーしてただけ。
ここはアセンブラスレなので、HSの存在確認を行う場ではない。
そういうのはハードウェア板へ逝け。
悔しかったらHSの使い方を説明してみろよ。
0320デフォルトの名無しさんNGNG
俺書き込んだの初めてだけど?
0321デフォルトの名無しさんNGNG
名無しだから何とでも言える罠。
0322デフォルトの名無しさんNGNG
まあまあ。喧嘩はよくない。

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

↑P254のパフォーマンスイベントの項目にHSレジスタのロード回数がある。
sp2上でそのイベントをモニタするときちんとカウントしている。
0335デフォルトの名無しさんNGNG
香ばしくなってまいりました。
0336デフォルトの名無しさんNGNG
で、それは実際なんなの?
0337デフォルトの名無しさんNGNG
でじゃぶー
0338デフォルトの名無しさんNGNG
何とかAMDからもっと詳しい情報が流出しないかな。
過去にも隠し命令を持ったCPUは数あったけど、AMD64は他にも
いろいろ隠してそうで、宝箱みたいで楽しみだ。
0339デフォルトの名無しさんNGNG
自爆コマンドとかないかな
0340デフォルトの名無しさんNGNG
>>300
よく聞く話だけど、どこかに古い仕様書ある?
0341デフォルトの名無しさんNGNG
>>340
2000年物
ttp://xgistor.ath.cx/files/ReadersDigest/x86-64_overview.pdf
0342デフォルトの名無しさんNGNG
>>321
敵が一人に見える病が治ってないみたいだな
0343デフォルトの名無しさんNGNG

0344デフォルトの名無しさんNGNG
>>342
不治の病だから
0345デフォルトの名無しさんNGNG
富士の山
0346デフォルトの名無しさんNGNG
おれのFreeBSDでもカウントアップしてる模様なんだけど、
そこんとこどうよ
0347デフォルトの名無しさんNGNG
>>323
とっくの昔にAMD64版のWindowsXPは開発されてβテスト中ですよ。
CPU依存しない部分は、AlphaやIA-64で開発したコードをコンパイルし直しただけでしょうが。

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

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

レジスタとして中に存在しているのかもしれないし、
レジスタと呼んでるけどパフォーマンスカウンタの中の1カウンタにつけた名前に過ぎないのかもしれない。
0349デフォルトの名無しさんNGNG
>>348
つまりsp2やBSDで明示的にHSを使ってるわけじゃないってこと?
BSDだったらその辺の情報が公開されていそうだが、どうなんだろう。
0350デフォルトの名無しさんNGNG
明示的ではないとなるとTSSをつかったfar jmp系くらいしかないと思いつかないけど
他にあったっけ?
あと、NTはコンテキストの復帰にTSSは使っていなかったような
0351デフォルトの名無しさんNGNG
水を得た魚のように、ほら、やっぱりHSなんて無いかも知れないじゃん!
と厨房復活の予感。
0352デフォルトの名無しさんNGNG
ほら、やっぱりHSなんてないじゃん。
0353デフォルトの名無しさんNGNG
たとえ実はなかったとしても
最初に >>348 みたいな理由を書かなかった時点で
厨房確定だろ。
まぁ騒いだあとに、実は本当にHSレジスタあったよーん
っていうのが理想的だが。(w
0354デフォルトの名無しさんNGNG
おまえらHSのセグメントオーバーライドプレフィクス探してから寝言言ってくれよ
0355デフォルトの名無しさんNGNG
AMDだけあるのかな
0356emulator 8086NGNG
分かりますか?

"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..."
0357デフォルトの名無しさんNGNG
宿題くらい自分でやれ。
早い話がstrlenとatoiを合わせたようなのを作れってこった。
0358デフォルトの名無しさんNGNG
訂正。atoiまでやらなくていい。もっと簡単。数字の有無だけわかればいい。
0359デフォルトの名無しさんNGNG
>>344
不治の病でdie end
0360emulator 8086NGNG
もう一個あります。

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.
0361デフォルトの名無しさんNGNG
strlenなんか習った事ないんですよね。
0362デフォルトの名無しさんNGNG
英語で出題されたってことはそれを読むのも宿題のうちだろ。ボケ。

0363デフォルトの名無しさんNGNG
それは、「LODS/STOS」の例プログラムから学習され作られます。
更に、アセンブリ言語プログラムは書かれています。しかしながら、
それは、位置DS:300Hからlacation DS:400Hに60Hバイトの
ブロックを移動させます。DS(データセグメント)は正確にロード
されます。:――それにそれは書かれることになっています(それ)
それは正しい――――それは逆で1バイト(カーブ)(LSBアドレス
は0です)まで目的のために[位置/バイト]を与えてもよい、それ、
オーダーで――どれに?NAす、奇妙なバイト位置(LSBアドレスは
1です)およびそれは、これに書かれています。
0364デフォルトの名無しさんNGNG
(´・∀・`)ヘー
0365デフォルトの名無しさんNGNG
 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)ですので、裏面が存在します。

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

アセンブラの話じゃないじゃん。
それはBIOSのファンクションコールの話。
0367デフォルトの名無しさんNGNG
でーでーげでげーでーで
でーでーげでげーでーで

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

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

ファ
ファ
ファンクション大魔王
壷(2ch)の中からはははん飛んでくる
0368デフォルトの名無しさんNGNG
困ったときは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.
0369デフォルトの名無しさんNGNG
>>365
> ここからが分かりません。フロッピーがどのような書き込みイメージ形式を取っているのかわからないのですが。

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

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

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

後者は0fillされてないことに留意すればおk。
0375デフォルトの名無しさんNGNG
>>371
esp変更しただけでは駄目。
4kごとにわざと空参照しないとページ違反でるよ。
OSによってページサイズ違うかもしんないし、
かならずページ違反になるわけではないけど、
これ放置しとくと後々謎のバグということに・・・。
0376デフォルトの名無しさんNGNG
>>374
嘘教えんなヴォケ
0377デフォルトの名無しさんNGNG
>>373-375
良く分かりました。ありがとうございます。
0378デフォルトの名無しさんNGNG
>>375
ハァ?
0379デフォルトの名無しさんNGNG
win32ではスタックを4KB以上広げるときにスタックプローブといって
上位のページからタッチ(=なんらかのアクセス)していかなければいけません
VCかなんかで、大きい配列をスタックから取ってくるコードを
逆アセしてみたりするとわかる
0380デフォルトの名無しさんNGNG
高々400バイトの話をしているときに何を得意げに……
0381デフォルトの名無しさんNGNG
>例えば400バイト
「例えば」
0382デフォルトの名無しさんNGNG
>>380
バーカ
0383デフォルトの名無しさんNGNG
そういやlinuxも4k制限があったな
0384デフォルトの名無しさんNGNG
>>375
ハァ?
0385デフォルトの名無しさんNGNG
まぁ、>>376は>>374に謝れってことで。
0386デフォルトの名無しさんNGNG
Linuxで事故書き換えのアセンブラ組んだけど
セグフォルトになった。
Linuxではもう事故書き換えのコードは書けないんだ。知らなかった。
(できるのはDOSだけ?)
0387デフォルトの名無しさんNGNG
>>386は、アセンブリで書いて普通にリンクしたんでしょ。
それなら昔から、出来ない。書けなくなったのではなく、ほぼ最初から出来なかったはず。
自己書換したかったら、書き込み可能なページにコードを配置しなきゃだめだ。
0388デフォルトの名無しさんNGNG
MASM や Intel 書式じゃなくて AT&T 書式の、つーかぶっちゃけ GNU (GAS) なアセンブリ言語のオペランド一覧がわかるドキュメント、どっかにありますか? ぐぐっても見つからないだーよ、これが。
0389デフォルトの名無しさんNGNG
Intel形式でGASにかけるのはダメなのか?

ところで、改行くらい覚えろよ。
0390386NGNG
>>387
ヒープ領域(e.g. malloc()とか)ではできた。
なので、やろうと思ったらできるね。>事故書き換え
0391デフォルトの名無しさんNGNG
じきに、それも出来ないのが標準になるよ。
NXビットでぐぐればわかる。
0392388NGNG
>>389サン

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

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

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

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

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

JIT等によりネイティブコードに変換してそれを実行するとしても
コードを生成して実行するだけで、自分自身は書き換えないね。
0407デフォルトの名無しさんNGNG
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の自己と言うのが適当だと思うが?

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

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

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

スレとは何の関係もないけどな!
0413デフォルトの名無しさんNGNG
どこ行ってもJava厨の物知らずには呆れるな
0414デフォルトの名無しさんNGNG
ケチるっつーか、アドレス空間が足りなかったからな。

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

まあ、ネタかもしれんけど。
0415デフォルトの名無しさんNGNG
>>414
前スレあたりで誰かやっていたような。カーネルモードで
使えそうじゃないけど。
0416デフォルトの名無しさんNGNG
「Windows等のOSは、自己書き換えにより、メモリ上に収まりきらない
膨大な数のプログラムを切り替えて実行することを可能にしています」
0417デフォルトの名無しさんNGNG
>>>416
(´・∀・`)ヘー、もうどうでもいいけど
0418デフォルトの名無しさんNGNG
アセンブラやりたいんですけとどうすれば良いでしょうか?
0419デフォルトの名無しさんNGNG
>>418
この通りに実践すればいいよ
http://www.google.co.jp/search?hl=ja&q=%E3%81%B3%E3%81%A3%E3%81%8F%E3%82%8A%E3%81%99%E3%82%8B%E3%81%BB%E3%81%A9&lr=
0420デフォルトの名無しさんNGNG
無料で揃える アセンブリ
0421デフォルトの名無しさんNGNG
本当にGUIは作れないのですか。

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

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

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

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

     101010100010010011111

とか書いたら棒だから本なんじゃねえ?
0446デフォルトの名無しさん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
0447デフォルトの名無しさん05/01/21 03:49:50
24319002_j.pdfだと『個』だな。
0448デフォルトの名無しさん05/01/21 11:42:00
多寡はともかくどちらも使うだろ。
レジスタの個数 の検索結果 約 245 件中 1 - 10 件目 (0.39 秒)
レジスタの本数 の検索結果 約 73 件中 1 - 10 件目 (0.38 秒)
0449デフォルトの名無しさん05/01/21 14:18:42
直列のワンセットだから棒のイメージが強いんでそ
俺は「個」とも言うけど
0450デフォルトの名無しさん05/01/21 22:24:51
パイプラインはその名前のとおりに線のイメージがあるので「本」で数え
レジスタは箱、ボックスのようなイメージがあるので「個」で数え
0451デフォルトの名無しさん05/01/21 22:43:31
へ
0452デフォルトの名無しさん05/01/22 11:02:51
普通はレジスタはチップの足みたいなイメージで本と数えると思う。
でも最近のやたら沢山レジスタがあるものとか、SPARCのレジスタウィンドウ
の話をするときとかはもうどうでもよくなってくるので個でも違和感ないかな。

個と数えるのは最近のソフトウェアの知識しかない人に多いという感じはする。
0453デフォルトの名無しさん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]
0454デフォルトの名無しさん05/01/23 12:11:08
ユニット初期化クロック
045545305/01/23 17:13:33
ユニット初期化クロックはどういうときに発生するんでしょうか?
0456デフォルトの名無しさん05/01/23 17:32:54
そもそもマルチタスクOSで正しいクロックなんて計りようがない
0457デフォルトの名無しさん05/01/23 20:48:08
そういうときこそアセンナヤ

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

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

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

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

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

他スレからコピペ

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

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

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

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

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

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

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


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

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

Exceptions (All Operating Modes)
None.
0499デフォルトの名無しさん05/01/29 23:02:56
>>498
嘘こき麻呂
0500emulator 808605/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と
比較するのも分かりません。どなたかよければ、ヒントください。
0501デフォルトの名無しさん05/02/01 14:13:10
てか自分で2進に直してノートにでもトレース書いてみればすぐ分かると思うんだけど
0502デフォルトの名無しさん05/02/01 14:13:48
http://pc5.2ch.net/test/read.cgi/tech/1060182978/285-286
0503デフォルトの名無しさん05/02/01 14:29:03
整数の切り上げと切り下げとは何ぞや?
0504デフォルトの名無しさん05/02/01 14:59:59
>>500
整数って言ってるけど、基数は何なのか。何進数なのか。
次に、mov って書いてるが、それは移動なのか。コピーなのか。
次に、0Fh で オペランドを and すると、一般論としてオペランドはどのように変化するのか。
次に、「4ディジットシフト」なのか。
次に、8h という数には特殊な意味があるのか。
次に、出力は 7 なのか、 7h なのか。
次に、理解できない程度は「ちょっと」なのか。
0505emulator 808605/02/01 15:13:36
>504
if you don't know shit about x86, stay back and be quit, fuckn' asshole.
0506デフォルトの名無しさん05/02/01 15:26:40
てかトレースしろやー
0507デフォルトの名無しさん05/02/01 21:07:42
ウァセンブラーって

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

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



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

0514デフォルトの名無しさん05/02/02 04:25:20
あ、286だったかな?
それまでも命令があることははあったんだけどあまり使わなかったような。
0515デフォルトの名無しさん05/02/02 04:45:43
あーmov,add,subでアドレス計算する肩代わりなのか
わかりますた
0516デフォルトの名無しさん05/02/02 07:47:24
>>515
むしろ活躍するのは掛け算なような…
0517デフォルトの名無しさん05/02/02 07:54:10
アセンブラで組む時はx5やx9で使うかもしれないが
使用機会が最も多いのは、高級言語でスタックフレーム内の変数のアドレスを取る時。
例えば
main() { char str[100]; ... ; printf("%s", str); }
など。
0518デフォルトの名無しさん05/02/02 09:51:09
はぁ?
0519デフォルトの名無しさん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ていう仕様を理解してる?
052050405/02/02 13:01:39
いま519がいいこと言った!
煽って弄って甞めてしゃぶってばかりいる
俺とは大違い   (;゚∀゚)=3 ハァハァ
0521デフォルトの名無しさん05/02/02 13:36:12
>>507
あふれてもいいから使いやすいんじゃないか。とマジレスしてみる。
0522デフォルトの名無しさん05/02/02 14:59:45
つうか >>500 はマルチ
http://pc5.2ch.net/test/read.cgi/tech/1060182978/285
0523デフォルトの名無しさん05/02/02 18:18:03
>>522

>>502でがいしゅつ
0524デフォルトの名無しさん05/02/05 18:50:08
アセンブラの思い出
ttp://www.hi-ho.ne.jp/m-hiroi/BGM/Aruhanbura.htm
0525質問。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をレフトシフト
してるのでしょうか。
0526質問。05/02/07 06:11:16
連続すいません。divをcl registerでやると違う答えが出てきます。
何ででしょうか?
0527デフォルトの名無しさん05/02/07 06:39:36
>>525
その数値表記方式は一体何者なんだ?
何故0x40が4.4なのかがわからん。
0528デフォルトの名無しさん05/02/07 06:46:30
>>525
その数行だけで完結しているとは思えないので、
呼び出しもとで ah, bh, ch に相当する部分が、
どういう風に使われているか
調べないといけないんじゃないの?

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


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

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

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

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

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

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

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

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

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

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

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

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

本当に社会のゴミだよ>>587
0589デフォルトの名無しさん05/02/09 22:48:04
>>588
ヒントやろう、XPだがなマイコンピュータのプロパチー>はーどうぇあ
デモ穴があくほどみろボケ
0590デフォルトの名無しさん05/02/09 22:57:23
>>588
ワロマクローリン
0591デフォルトの名無しさん05/02/10 12:17:02
>>582
ttp://mentai.peko.2ch.net/prog/kako/962/962986060.html
簡単にring0に移行する方法が書いてあった。
ここにあるライブラリはNT4.0のものだけど、2000やXPでも動く。
0592デフォルトの名無しさん05/02/10 12:24:58
明太とか名塚C
0593デフォルトの名無しさん05/02/10 12:46:34
歴史は繰り返されるのか・・・
0594デフォルトの名無しさん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でドライバ作れってことか?
0595デフォルトの名無しさん05/02/10 13:39:06
ふつーにソース書くだけでいいみたい。DDKは使ってない。
実行時にGALLGATE.DLLとCALLGATE.SYSさえあれば大丈夫。
例によってAdministrator権限じゃないと動かないけど・・・
0596デフォルトの名無しさん05/02/10 13:54:15
>>595
いや違うだろ
DLLとSYS作るのはDDKいるんじゃないか?

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

それに>>591には
GALLGATE.DLLとCALLGATE.SYS
のソースがありません
ring0.asmがそれらしきソースではあるけど。
0597デフォルトの名無しさん05/02/10 14:00:26
???コールゲートを呼ぶって?
far Callすれば委員でない甲斐?
0598デフォルトの名無しさん05/02/10 14:02:36
いや、dllとsysは作る必要がないってば。
dllでコールゲートを作って、far-callでring0に入る形になってる。
sysはdllの方で読み込むから、DDKを意識する必要がないってこと。
dispeでcgateapp.exeを逆汗するとring0.asmのコードが入っているはず。
0599\__________________/                    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、  、::..      ...:::ノ ,∧
0600デフォルトの名無しさん05/02/10 17:38:33
( ´,_ゝ`) で、何?
0601デフォルトの名無しさん05/02/10 17:40:24
狂ったんじゃないの?
低脳プログラマーのやつ
しょせん、向いてなかったんだよ
0602デフォルトの名無しさん05/02/10 20:43:57
WinNTでコールゲートはまずいような気がしたが。
ring0に入ったら、すぐに割り込みを禁止した状態でTRAP_FRAME構造体に
必要な値を入れなければならなかったはず。

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

>>602
_KTRAP_FRAME
0604デフォルトの名無しさん05/02/10 21:16:47
>>602
 CALLGATEという名前はついてるけど、SYSファイルが付いているってことは
dllがDeviceIoControl でメモリ位置渡してドライバ呼んで、asmで書いたコード
はちゃんとドライバのコンテキストで真っ当に実行されるんじゃないのかな・・・
0605デフォルトの名無しさん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
なんてやると、ほとんどの場合落ちます。
0606デフォルトの名無しさん05/02/10 22:05:18
x86でincとdecはどっちが速いんですか?
0607デフォルトの名無しさん05/02/10 22:08:21
incとdec
0608デフォルトの名無しさん05/02/11 00:34:13
最近のクソガキには「リアルモード」は通じないのか?

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

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

「nopさーん」


ウホ
ウホホホホ

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

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

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

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

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

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

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

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

こんな感じの事をしたいのですが…
mov al, (0xFF & FOO)
mov ah, ((0xFF00 & FOO) >> 8)
…
FOO:
jmp  …
#axにFOOのあるアドレス16bit分が欲しい
0635デフォルトの名無しさん05/02/15 19:56:46
GASってoffsetねーの?

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

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

b0 7f
mov $0x7f,%al

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

>>636
DOSかWinで分かれるところなので、まずはぐぐれ。
0639デフォルトの名無しさん05/02/15 21:20:00
>>632
> HTが物理2CPUより優れている点として、キャッシュの共有がある。
複数CPU間でのキャッシュの共有は普通にある。
0640デフォルトの名無しさん05/02/15 21:21:02
WindowsだとAltキーが取れねえ
0641デフォルトの名無しさん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
   …
みたいなことがしたいんです
0642デフォルトの名無しさん05/02/15 21:33:19
>>641
任意の .o ファイルを objdump --disassemble してみれ。
0643デフォルトの名無しさん05/02/16 10:55:08
>>640
ナイフの先をAltキーの下に差し込んでグイっと起こす
0644デフォルトの名無しさん05/02/16 11:27:10
>>641
lea命令じゃだめなん?
0645デフォルトの名無しさん05/02/16 11:39:43
>>633
>むしろ片コンテキストにてL1キャッシュミスが起きた場合のストール補填に、SMTは役立っている
>…というのが、俺の観測結果。
自分もそう思ふ。
0646デフォルトの名無しさん05/02/16 12:22:03
キャッシュが共有じゃないという意味がわからない。
キャッシュは1つなんだから2スレッドが同じキャッシュ使うんじゃないの?
0647デフォルトの名無しさん05/02/16 22:30:03
ipを得たいのだが・・・
mov ax,ip って無理ですよね
call→popってのが普通ですか?
0648デフォルトの名無しさん05/02/16 22:34:03
ラベルを使えばいいのでは?
0649デフォルトの名無しさん05/02/16 23:38:42
動的に取得する場合はcall/popしかない
0650デフォルトの名無しさん05/02/16 23:42:46
>>649
なるほど・・・ありがとうございます。
0651デフォルトの名無しさん05/02/17 00:45:28
rip相対アドレッシング使えば?
0652デフォルトの名無しさん05/02/17 12:30:16
動的に取得する必要なんてあるの?
0653デフォルトの名無しさん05/02/17 12:36:02
>>652
そんな必要無い
0654デフォルトの名無しさん05/02/17 13:03:17
必要なくても見てみたいのが男のろまん。
それを否定したらこのスレの意義が半分はなくなると思うがな。
0655デフォルトの名無しさん05/02/17 13:24:06
ロマンと単なる無駄の区別がついてないガキ。
0656デフォルトの名無しさん05/02/17 13:25:44
みなさん、espをいじったりする?
0657デフォルトの名無しさん05/02/17 13:35:30
いつもいぢってまふ
0658デフォルトの名無しさん05/02/17 17:43:47
いつも僕のオカズです
0659デフォルトの名無しさん05/02/17 17:50:31
昔はspを変更してコルーチン作ってたけど・・・・そうすればIPも結果としてret命令で切り替わるから・・・

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

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

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

jmp anywhere-anytime
0670デフォルトの名無しさん05/02/20 16:38:23
>>669
you motherfucker.
0671デフォルトの名無しさん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の
データを足して、エラーチェックしなきゃいけないんですが。どうやって
エラーチェックをしたらいいのかわかりません。お願いします。、 
0672デフォルトの名無しさん05/02/21 05:13:04
何のエラーだ?
0673デフォルトの名無しさん05/02/21 05:21:04
>671のエラー
0674デフォルトの名無しさん05/02/21 06:25:02
>こんなASMコードを書いたんですが、セグメントレジスタに入れた2つのWORDの
>データを足して、エラーチェックしなきゃいけないんですが。どうやって
>エラーチェックをしたらいいのかわかりません.
あのデータを足したその答えと2's complementをしてるんですが、
 その答えのエラーチェックです。
0675デフォルトの名無しさん05/02/21 06:36:49
釣り認定です。おめでとう。
0676デフォルトの名無しさん05/02/21 07:54:20
LEA EAX , [EBX+10]

MOV EAX , EBX+10h

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

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

ADD EAX , 10h

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

MOV EAX, EBX
ADD EAX, 10h

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

ADD EBX, 10h
MOV EAX, EBX

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

JMP $

この二つのメソッドは同じと考えていいのですね?
0701デフォルトの名無しさん05/02/22 15:26:20
>>700
悪いのですよ
0702デフォルトの名無しさん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

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

×mov esi,foo
○mov edi,foo

に訂正します。
0704デフォルトの名無しさん05/02/22 16:58:16
ここんとこ、等価ですか質問してる人は嵐なの?
0705デフォルトの名無しさん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
だってさ。
0706デフォルトの名無しさん05/02/22 17:39:48
等価学会の発表会
0707デフォルトの名無しさん05/02/22 18:01:44
>>706
そ う だ っ た の か
0708デフォルトの名無しさん05/02/22 20:20:46
>>702
memsetの実装やコンパイラに依存。
てめえで調べろ。
070970205/02/23 01:52:02
ありがとうございます。
0710デフォルトの名無しさん05/02/23 02:40:22
右手でするのと左手でするのとでは等価ですか?
0711デフォルトの名無しさん05/02/23 02:43:28
>>710
環境依存です

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

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

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



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



これらが該当するかと思われ。
0731デフォルトの名無しさん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
0732デフォルトの名無しさん05/02/24 01:41:19
>>731
>>730は>>719の恐怖リンク
まったく別の話。
0733デフォルトの名無しさん05/02/24 04:25:27
スレ違い
0734デフォルトの名無しさん05/02/24 08:54:51
得体の知れないライブラリやオブジェクトファイルはリンクできないのはあたりまえだろ
0735デフォルトの名無しさん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>


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

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

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

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

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

違うよ。

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

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

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

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

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

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

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

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

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

寝ます。





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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

忘れてください。
失礼しました。
0923デフォルトの名無しさん2005/04/26(火) 16:05:26
>>921
いい加減な事を書くな
0924デフォルトの名無しさん2005/04/26(火) 16:26:09
ていうかL1に乗ってないデータはまずL1に読み込んでからCPUがL1読むからな
キャッシュ無効とか(アプリからはできん)しない限りL1以外は読めない
0925デフォルトの名無しさん2005/04/26(火) 16:40:56
>>923
>>923
>>923
>>923
>>923
0926デフォルトの名無しさん2005/04/26(火) 17:31:48
>>908のは一次キャッシュじゃなくて一時キャッシュだ
多分別の領域に取るんだろう
0927デフォルトの名無しさん2005/04/26(火) 18:56:33
>>921はいい加減だが、どうみても>>908はキャッシュを意識してプログラムを
書くレベルではないので、この件は適当に打ち切るのが正解だな。
0928デフォルトの名無しさん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
同一レジスタを読み込むときのことは書いてなかったので質問させてください。
0929デフォルトの名無しさん2005/04/26(火) 22:23:40
>>928
何ビット動かしたいのかねえ
0930デフォルトの名無しさん2005/04/26(火) 22:29:37
8ビットです、すいません。
0931デフォルトの名無しさん2005/04/26(火) 22:41:12
>>930
下位8ビットと上位16ビットの内容が上のペアと下のペアで
違ってるのは良いの?
0932デフォルトの名無しさん2005/04/26(火) 22:45:40
今時ペアリングなんて意識する方が・・・
単純に整数演算器がいくつあるかとかならわかるけど。

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

・・・同時実行よりペアリングの方がカコイイな。
0934デフォルトの名無しさん2005/04/27(水) 13:36:53
組み込みならともかく、そこまでCPU内部構造まで意識する必要があるのかとw
CPUの仕組みが変わったら無駄になるのがオチ
0935デフォルトの名無しさん2005/04/27(水) 14:10:12
組み込みならともかく、今時アセンブラなんか意識する必要があるのかとw
このスレの内容の殆どが、CPUの仕組みが変わったら無駄になるのがオチ
0936デフォルトの名無しさん2005/04/27(水) 14:20:23
命令セットと実装の違いが分からない痛いヤシがいる(・∀・)ニヤニヤ
0937デフォルトの名無しさん2005/04/27(水) 17:53:26
MSがインラインアセンブラを廃止する件について
0938デフォルトの名無しさん2005/04/27(水) 18:31:11
ソースは?
0939デフォルトの名無しさん2005/04/27(水) 21:02:53
MS:「インラインアセンブラを終了しました。長い間の御利用有難うございました。」
0940デフォルトの名無しさん2005/04/27(水) 21:55:06
64bit版のICC、MSコンパイラはインラインアセンブラ使えなくなってしまった。
またMASMのお世話になるとは
0941デフォルトの名無しさん2005/04/28(木) 12:29:33
CPUがいくつ搭載されているかを調べる方法を教えてください。
0942デフォルトの名無しさん2005/04/28(木) 12:31:10
筐体のふたを開ける
0943デフォルトの名無しさん2005/04/28(木) 13:20:18
>>941
Win32スレから来ました。
Win32のGetSystemInfoか、
アセンブラはよく知らんのだが、多分cpuidで。

Detecting Support for Hyper-Threading Technology Enabled Processors
http://www.intel.com/cd/ids/developer/asmo-na/eng/technologies/threading/implementation/20416.htm
0944デフォルトの名無しさん2005/04/28(木) 14:11:55
>>941
過去ログ嫁
0945デフォルトの名無しさん2005/04/28(木) 21:51:05
雑談だらけの過去ログ嫁って、酷でしょうが
0946デフォルトの名無しさん2005/04/28(木) 22:42:11
慣れればpage down押しっぱなしでスレの内容が把握できるようになる(1スレ30秒くらい)。
密度の高いスレは例外だが、最近そういうのはほとんどない。
0947デフォルトの名無しさん2005/04/30(土) 00:38:35
会社が休みになるので、みなさんいないようですね
0948デフォルトの名無しさん2005/04/30(土) 11:17:26
これからアセンブラを勉強しようと思っているPC初心者です

http://www5c.biglobe.ne.jp/~ecb/assembler2/assembler10.html
のページを参考に勉強しようとしておりますが

ftp://ftp.microsoft.com/softlib/mslfiles/lnk563.exe
ここにある16bitリンカがダウンロードできません

どこから手に入れればいいか教えていただけませんか?
宜しくお願いします
0949デフォルトの名無しさん2005/04/30(土) 11:26:57
ちょっと待て、PC初心者がアセンブラ?
十年早い。

つーか、自力でツールを入手できない程度の情報収集能力なら、アセンブラよりも他のスキルを磨くべきだ。
0950デフォルトの名無しさん2005/04/30(土) 11:31:18
>>948
>これからアセンブラを勉強しようと思っているPC初心者です

そこのWebサイトで紹介している、
「いまどきのアセンブラプログラミング」と
「いまどきのアセンブラの教科書」には手を出さないように。
アマゾンのレビューを見れば理由は分かると思います。

それにしても、まさかアセンブリ言語関連のWebサイトで
これらの本を紹介するなんて・・・
0951デフォルトの名無しさん2005/04/30(土) 12:47:38
そろそろ次スレの季節ですが
「アセンブラ…(0w0)ウェーイ」に一票
0952デフォルトの名無しさん2005/04/30(土) 12:47:53
>>948
つ OpenWatcom
0953デフォルトの名無しさん2005/04/30(土) 16:10:43
プロアクションリプレイのように、メモリ内容を取得してアクセスし値を書き換えたり
保持したりしたいのですが、これはアセンブラでしかできないのでしょうか。
Windowsアプリケーション、とりわけ昔のゲームなんかでの裏わざとして使いたいのですが
0954デフォルトの名無しさん2005/04/30(土) 16:31:22
>>953
>>7
0955デフォルトの名無しさん2005/04/30(土) 16:56:19
ありがとうございました
0956デフォルトの名無しさん2005/04/30(土) 17:16:39
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  讃岐うどん   |/
0957デフォルトの名無しさん2005/05/01(日) 02:06:24
>>949
おれは、初心者にこそ、アセンブラを勧めるが?
完全に使いこなせなくても、一通り意味が分かるようになれば、
他の言語も早く理解出来るようになるしね
0958デフォルトの名無しさん2005/05/01(日) 03:03:32
(´・∀・`)ヘー
0959デフォルトの名無しさん2005/05/01(日) 06:38:34
アフォがいますねw
0960デフォルトの名無しさん2005/05/02(月) 00:14:55
x86で32bit中の立ってるビット数を数える命令ってありませんか?
例えば0x01234567だったら12という風に。
0961デフォルトの名無しさん2005/05/02(月) 00:20:03
ローテートとテストでいけるだろ。
09629602005/05/02(月) 00:26:47
ttp://www.nminoru.jp/~nminoru/diary/2003/09.html#2003-09-11
こんな方法があるようですが、そのものズバリな命令あったような気がしたので・・・
0963デフォルトの名無しさん2005/05/02(月) 00:58:18
x86ではそのような命令は無かったと思うが..
0964デフォルトの名無しさん2005/05/02(月) 02:35:52
以下↓のサイトのバージョン5のアルゴリズムを使用すれば、ローテート&テストより速かった。
http://www.nminoru.jp/~nminoru/programming/bitcount.html
0965デフォルトの名無しさん2005/05/02(月) 03:10:27
>>960
最近、色々な意味でメモリのコストが安いので、
8ビット、もしくは、16ビットのテーブルから
数を引っ張ってくるのも、ありかと…(↓の感じで)

bits = bit_table16[bits&0x0000ffff] + bit_table16[(bits>>16)] ;
0966デフォルトの名無しさん2005/05/02(月) 03:39:39
キャッシュのコストは高いよ!
0967デフォルトの名無しさん2005/05/02(月) 10:38:37
bits = bit_table32[bits];
0968デフォルトの名無しさん2005/05/02(月) 12:46:34
4G のテーブルかよ !!
0969デフォルトの名無しさん2005/05/02(月) 12:55:27
bit数を数える外部デバイスをFPGAで作ってしまえ。
0970デフォルトの名無しさん2005/05/02(月) 16:41:07
FPGAよりPen4のALUのが何倍も速いし
0971デフォルトの名無しさん2005/05/02(月) 18:11:43
スコココバシッスコバドドトスコココバシッスコバドドトスコココバシッスコバドドトスコココバシッスコバドドトスコココ
スコココバシッスコバドドドンスコバンスコスコココバシッスコバドト ☆_∧_∧_∧_∧_∧_∧_
スコココバシッスコバドドト从☆`ヾ/゛/'  "\' /". ☆  |                    |
スコココバシッスコハ≡≪≡ゞシ彡 ∧_∧ 〃ミ≡从≡= < 次スレまだーーーーーー!?!>
スットコドッコイスコココ'=巛≡从ミ.(・∀・# )彡/ノ≡》〉≡ .|_  _  _ _ _ _ ___|
ドッコイショドスドスドス=!|l|》リnl⌒!I⌒I⌒I⌒Iツ从=≡|l≫,゙   ∨  ∨ ∨ ∨ ∨ ∨ ∨
スコココバシッスコバドト《l|!|!l!'~'⌒^⌒(⌒)⌒^~~~ヾ!|l!|l;"スコココバシッスコバドドドンスコバンスコスコココ
スコココバシッスコバドドl|l|(( (〇) ))(( (〇) ))|l|》;スコココバシッスコバドドドンスコバンスコスコココ
スコココバシッスコバドド`へヾ―-―    ―-― .へヾスコココバシッスコバドドドンスコバンスコスコココ
              /|\人 _.ノ _||_. /|\
0972デフォルトの名無しさん2005/05/02(月) 23:51:10
>>966
そのキャッシュのコストが高いか安いかは
>>960が作るプログラムの中での使用頻度次第
たかだか、数バイトのデータのビットを数えるだけなら
>>962の中のようなもので良いと思うし
数MBのビットを数えるなら、>>965もあり
0973デフォルトの名無しさん2005/05/03(火) 01:53:26
>>964のバージョン4、実際にコンパイルしてみると結果がおかしいんだけど
0974デフォルトの名無しさん2005/05/03(火) 15:52:59
>>962のバージョン5をアセンブラで書いて実行したらgccの3倍ほど速かった。
アセンブラマンセー
0975デフォルトの名無しさん2005/05/03(火) 17:24:09
で、次スレのスレタイはアセンブラ…(0w0)ウェーイでええのん?
0976デフォルトの名無しさん2005/05/03(火) 17:47:44
自虐的に

アセンブラ (゚�听)イラネ

も、よろしいかと。
0977デフォルトの名無しさん2005/05/03(火) 18:40:54
アセンブラ (´-`) マターリ
がいいな。
0978デフォルトの名無しさん2005/05/03(火) 20:01:39
アセンブラ… (´・ω・`)シャキーン
0979デフォルトの名無しさん2005/05/03(火) 23:11:04
アセンブ…∠(^_^)ラジャー
0980デフォルトの名無しさん2005/05/04(水) 00:37:20
いいね、ブラジャー
0981デフォルトの名無しさん2005/05/04(水) 00:47:10
アセンブラで検索にヒットしないと困る。
0982デフォルトの名無しさん2005/05/04(水) 01:13:13
アンブレラ
0983デフォルトの名無しさん2005/05/04(水) 03:17:41
>>974
これをちょっと書き直してみる

| >> 962のバージョン5をCコンパイラで書いて実行したらgccの3倍ほど速かった。
| Cコンパイラマンセー

不思議な日本語ですね
0984デフォルトの名無しさん2005/05/04(水) 07:18:38
奴のエディタがアセンブラって名前なんだろ。

もうその話題はいいよ、飽きた。
0985デフォルトの名無しさん2005/05/04(水) 08:44:13
>gccの3倍ほど速かった。
gccの四倍速くらいか。
09869742005/05/04(水) 10:28:23
うわ。アセンブラスレらしく、コードをアセンブリ言語で書き直して実行したんだけど。
それならソースコード掲載していいでしょうか?
0987デフォルトの名無しさん2005/05/04(水) 10:39:14
イラネ
0988デフォルトの名無しさん2005/05/04(水) 12:26:48
アセンブリと焦りぶりって南下似てるよね。
0989デフォルトの名無しさん2005/05/04(水) 13:02:13
次スレだけど、>>951のスレタイでたてるがいいか?
0990デフォルトの名無しさん2005/05/04(水) 14:01:08
ちょっと納得いかんが、いまさら四の五の言ってられんからな。
0991デフォルトの名無しさん2005/05/04(水) 14:11:03
早くしないとスレが埋まる
0992デフォルトの名無しさん2005/05/04(水) 14:12:05
早くしないとスレが埋まる
0993デフォルトの名無しさん2005/05/04(水) 14:13:02
早くしないとスレが埋まる
0994デフォルトの名無しさん2005/05/04(水) 14:52:25
漏れには無理だった誰か世路。
0995デフォルトの名無しさん2005/05/04(水) 15:02:06
ほーら、スレが埋まっちゃうぞ〜
0996デフォルトの名無しさん2005/05/04(水) 15:35:22
次スレ☆アセンブラ… (0w0)ウェーイ
http://pc8.2ch.net/test/read.cgi/tech/1115188369/l50
0997デフォルトの名無しさん2005/05/04(水) 17:13:10
梅
0998デフォルトの名無しさん2005/05/04(水) 17:41:36
うめ〜
0999デフォルトの名無しさん2005/05/04(水) 17:46:31
アセンブラ… (゚д゚)ウヒョア〜
1000デフォルトの名無しさん2005/05/04(水) 17:47:00
アセンブラ… (´ー` )
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。