アセンブラ… (´・∀・`)ヘー
レス数が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キモイ
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG「いまどきのアセンブラプログラミング」
http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4839912025/customer-reviews/ref=cm_cr_dp_2_1/249-5397889-8897164
0007デフォルトの名無しさん
NGNGDigital Travesia
http://hp.vector.co.jp/authors/VA028184/
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG「いまどきのアセンブラプログラミング」は凄すぎる。
本屋で立ち読みしていて中身のデタラメさに吹いた。
ゲームの解析には全く役に立たない。
唯一まともなことを書いているなと思ったコラムは、
Digital Travesiaのコンテンツの丸写しだった。
インテルのアーキテクチュアマニュアルも丸写しだし、
この本のライターってパクリが得意なようですね。
0010942
NGNGアレからbochsのデバッガを使って一つ1つ命令を解析していったりしているのですが。どうしても3rd expectionから
抜け出すことが出来ません…。
奇妙なのはbochsのデバッガで一つ一つステップ実行してゆくと例外は発生しないのですが、一気に実行すると
例外が発生してしまいます。ソースコードは以下のようになっています。どなたか助言を....
0011942
NGNGgdtr:
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
0012942
NGNGcli
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
0013942
NGNGprotect_start:
;ここから32ビットへ移行だ
movax, 08h
movds, ax
movax, 18h
movss, ax
main_loop:
jmpmain_loop
0014942
NGNG(0) [0x0000108b] 0100:0000008b (test. ctxt): sti ; fb
という風になっており、プロテクトモードへ移行できているような気がするのですが…。
そしてsコマンドでステップ実行してゆくと無事に
main_loop:
jmp main_loop
のループに入ることを確認しました。
sコマンドを何回か実行しても例外が発生するような気配はありません。
ですがcコマンドをつかって一気に実行するとたちまち3rd exceptionが発生してしまいます。
どなたかご指導のほうをよろしくお願いいたします
0015942
NGNGc000となっております。これはBIOS領域か何かでしょうか・・・?
0016デフォルトの名無しさん
NGNG>>mov ds, ax
よく見てないけどいいだっけこれ。
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG全部やり直し
0020デフォルトの名無しさん
NGNG0021942
NGNGcli
mov ax, cs;csレジスタの値は CODE_TEMP_SEGの値
mov ds, ax;dsレジスタの値もちゃんと設定しておこう
mov ss, ax
sti
mov ss,axが抜けていました…
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025942
NGNGメモリホールにかぶったらどうするんだ?とか細かいところが分からないので。
とりあえず走らせて見ていじってみようというわけです。
こういうメモリモデルにしたい、という具体的な要望があるわけでもないんです…
とりあえず動かしてみたいな、と。
環境は
Intel PentiumIIIの1Ghz
RAMは370のWin2k。Bochs上でエミュレートして書いています。
アセンブラはnasmを使っています。
0026デフォルトの名無しさん
NGNGだから「何を」走らせたいんだよ。それがわかんねーから、よいも悪いもないんだよ
0028デフォルトの名無しさん
NGNG>>18
0029デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGこのレビューは参考になりましたか?
◎はい ○いいえ
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNGどのへんがクズなの?
0037デフォルトの名無しさん
NGNG本屋で立ち読みして、内容を自分の目で確かめてみると良いですよ。
それが出来ないなら、レビューを参考にされると良いでしょう。
ただし、「ゲーム解析に役立つ」というレビューは大嘘ですが。
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGmov
モブって言うな!!!!!!!!!
ムカつく!!!!!!!!!!!!
0040デフォルトの名無しさん
NGNGmoveの略なんだしムブは駄目か?
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGi8086のシフト命令のクロック数調べてみれ
0046BlackLightOfStar ◆ifsBJ/KedU
NGNG0047デフォルトの名無しさん
NGNG↑これであぼーん設定するとすっきりする
0048デフォルトの名無しさん
NGNG「いまどきのアセンブラプログラミング」ご自分で読まれましたか?
一部かどうかを問わず、技術者がこの本を必要とする場面はありえないと思います。
なお、命令セットの解説なら、CQ出版が出している書籍の方がはるかに使えます。
0049デフォルトの名無しさん
NGNGそもそもアセンブラを熟知してる人は読み物とか入門書は買わないわけで。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG俺は詳しくないので、見ただけじゃどう悪いのか解らないので、
見れば解るというのは無しで。
0052デフォルトの名無しさん
NGNGこの板ではハッキングはご法度、
ハッキングはハックラ板へ、
クラッキングはカックラキン板へ、
ファッキングは過激恋愛板へ行け
である
0053デフォルトの名無しさん
NGNG厨をターゲットにした、厨本って言うことだな
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGあのころの技術だとバレルシフタはでかすぎて入らんだろうから、
シフトするビット数分のクロックが必要になりますな。
可変じゃなくて2種類切替えならまあ現実的かもしれん。
0056デフォルトの名無しさん
NGNGセレクタだけ拡張したって意味無いんだよ。命令体系の全体を見ろよ
0057デフォルトの名無しさん
NGNGなんて知ったか書いてる俺は、
大昔にSuper ASCIIの 386 de MSDOS を読んだのを覚えてるだけ。
あの連載面白かったな。
0058デフォルトの名無しさん
NGNGYAMAHAって反対から読むと破魔矢になるんだぜ。
すげーべ!
>>37
/ ̄ ̄ ̄\
/ /=ヽ \ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| (゜) (゜) │ < 大人の階段踏み外して氏ねよおめー
| )●( | \________
\ ▽ ノ
\_∪ /
.__/ ̄ ̄ ̄  ̄ ̄ ̄ ̄)__
〃 .// ̄ ̄ ̄/ / ̄ ̄ ̄/ / 〃⌒i
| ./ / / ./ / / .i::::::::::i
____| .しU /⌒\./ / / | ____|;;;;;;;;;;;i
[__]___| / /-、 .\_. / Uし'[_] |
0059デフォルトの名無しさん
NGNGああ、お前が一人でいろいろ書き込んだのを総合すると、
たしかにその結論になるな。
0060デフォルトの名無しさん
NGNGこのレビューは参考になりましたか?
◎はい ○いいえ
0061デフォルトの名無しさん
NGNGたしかにその結論になるな。
0062デフォルトの名無しさん
NGNGこのレビューは参考になりましたか?
◎はい ○いいえ
0063デフォルトの名無しさん
NGNGヒット率を確認しているのですが、
無操作で99%、ぷよぷよで96%、メモリベンチで90%とかなりヒット率が
高くなってしまいます。実際こんなにヒット率は高くなるものなのでしょうか?
ヒット率の計算は、イベントDATA_CACHE_MISSES(40h)を
DATA_CACHE_ACCESS(41h)で割っています。msrレジスタの読み書きに
関しては多分間違いはないと思います。
006463
NGNG○キャッシュミス率の計算は
0065デフォルトの名無しさん
NGNGathlonxpは普通にキャッシュヒット99%達成してた記憶がある
0066デフォルトの名無しさん
NGNGどっかで見たけど、バースト転送を利用しているシステムの
キャッシュヒット率は99%になるらしい。
ただ、レイテンシは最悪になると
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4274132072/249-7538230-3156334
がオススメ、、というよりこれしかない。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGおれは>>72に、SH関連をすすめたりしても良いわけ?
0074デフォルトの名無しさん
NGNG経験者なら、
とりあえずCPUメーカーの資料をいきなり読んでアーキテクチャと命令セットを理解し、
適当にサンプルコードを眺めて作法を把握すればOKじゃない? そんな暇ない?
0075デフォルトの名無しさん
NGNGなつかしいなぁ。どっかいっちゃってもう手元にないよ。
0076デフォルトの名無しさん
NGNGこれ昔々に読んだけど、そのときは難しかったなぁ。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNG電気電子板へ誘導してあげたら。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGたとえば誰?
0082デフォルトの名無しさん
NGNGおれおれ
0083デフォルトの名無しさん
NGNG303 名前: デフォルトの名無しさん 投稿日: 04/11/30 22:31:49
あのですね、質問があるのだべし。
ファッキントッシュに、のってる、クピュと、
ブロークンウィンドウズ理論が動く、クピュでは、
破線ブラコードは、違うと、思われなのだべしですが、
この、仕様というか、命令セット大全というか、
何を、どうしたら、どうなる、命令がこんだけある!
と、いうのは、どこで調べたらいいの、ですか。
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGぷよぷよって言うくらいだからWindows上での話しだと思うけど
どうやってCR4とMSRをいじったの? 教えてちょんまげ
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGDDKスレで聞いた方がいい。
0090デフォルトの名無しさん
NGNG訳に立つと思うよ。
0091デフォルトの名無しさん
NGNGCは別に使う機会無い漏れだけど・・・。
0092デフォルトの名無しさん
NGNG仮想マシンを自分で作ってみたいとか思わないんですか?
(ヘボぃところでCASLとかなら既にあるんだろうけど、、)
0093デフォルトの名無しさん
NGNG8ビットCPUのインストラクションセット作って遊んだことならある。
0094デフォルトの名無しさん
NGNGCPUそのものは学生のときに授業で作った。
0095デフォルトの名無しさん
NGNGそういうの憧れるっすよ。電気とか電子でしょ?CPUを実験で作るのって。
0097デフォルトの名無しさん
NGNG多分、他人の芝生が青く見える人は、技術研究は向かないかも
0098デフォルトの名無しさん
NGNGあと収率とかね、一般に低くて化学反応式みたいにクリアな世界じゃないんすよ!
精製とかだるくて惨めでネ!
つまり、つまり日常の世界での個人的なハックの楽しみの余地が無くて・・以下略
0099デフォルトの名無しさん
NGNG長年溶剤の気を吸って生活してるんで肝硬変になりやすいです。
0100デフォルトの名無しさん
NGNGそんなん言うなら個人の範囲でπを一兆桁計算してみろ
0101デフォルトの名無しさん
NGNGおまえ実験中に暇だから書き込みしてるだろ。
0102デフォルトの名無しさん
NGNGアルゴリズムの研究してる兄弟とかいてたような・・?
0103デフォルトの名無しさん
NGNGはっきりした目的意識がないと努力も長続きしませんよ。
アセンブラができればみんなに尊敬されたり、就職で有利になったりするかも、
なんて思っているとしたら甘いです。
アセンブラができる、というのは道具の使い方を知っているということに過ぎません。
MS-Wordの使い方を熟知していても、
芥川賞を取れる小説家になれるとは限りません。
フォトショップの使い方を熟知していても、
CG描くだけで食っていけるアーティストになれるとは限りません。
0104デフォルトの名無しさん
NGNGその頃、化学にも興味があった。電子軌道というアーキテクチャから原子というオペレーションが生まれて
それを分子というプログラムに組み上げていくことが楽しそうに思えた。
結局大学まで化学をやったが、原子を自在に操るには難解で範囲が広すぎて
そして未知の事が多すぎて俺の手には余った。
結局、今ではファーム屋をやっている。何とか独力でシステムを組み上げる事ができるから。
そして、わくわくしながら科学記事を読む、俺もまだ居る。
自然というアーキテクトの技が解明されていくのは、とてもエキサイティングだ。
0105デフォルトの名無しさん
NGNG自分はエミュレータとか作れるようになりたいと思ってます。
ゲームには興味ないんで何のエミュレータ?って聞かれてもアレだけど
ほかにはドライバとかかけるようになれれば、自分のマシンから
他のハードにアクセスできだろうし。
そうなれれば、単にプログラムやアプリを動かす箱としてのPCから
また違った秘密の花園が開けてるかなって期待してる。
>>104さんみたいなファーム屋のスキルがカッコいいと思ってるヘタレです。
0106デフォルトの名無しさん
NGNGその辺考えるとマスマス胸につまされる話になるな?
0107デフォルトの名無しさん
NGNG世界初のマイクロプロセッサを作ったのは、化学科出身の人ですよ。
0108デフォルトの名無しさん
NGNGCPUを実際に作るのは大変だが、>93のように設計してみるだけなら端末上でできる。
化学だって、コンピュータ上で好きな合成ができるじゃないか。
現実にはありえないような環境を設定して反応速度を変えることもできるし。
有機化学屋なら分子模型見ているだけでわくわくしてこないか?
0109デフォルトの名無しさん
NGNG個人の範疇で実験が出来るのなら、家で勝手にやってサイトで公開とかでもすればいいじゃん。
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG↑
悲しいけど、これ、アセンブラスレなのよね。
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG自己出力プログラム化して帰還。
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG【心と身体】のどっかで槍太陽にやっテロ
0127デフォルトの名無しさん
NGNGそんなに悔しかったら、化学やめて情報やればいいのに
0128デフォルトの名無しさん
NGNGしかし、RISCのアセンブラは読みにくい。
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG#68000が(馴れもあって)一番読みやすいかなぁ。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG世に出るのが遅すぎた。
Z80は命令体系が8086よりもさらに糞で、いろんな制限が課せられて
いたが、アセンブリで書く事により潜在能力を100%解放していたな。
68000はアドレスレジスタとデータレジスタが分離して、常にアドレス
レジスタが遊んでいる状態を作り出してしまった上に、当時の80286
の速度に完全に負けていた。アーキテクチャ的には良く出来ていた
ので、もし68000系がCISCの主流だったら今頃ソフトウェア技術は
もう少し進化していたかも。いやでも80386が出てからどちらでも良く
なったか。
0135デフォルトの名無しさん
NGNGまぁ、8080を元に、拡張命令群を3セットも詰め込んでたからねぇ。<Z80
ニモニック表にない命令が幾つもあったし、裏レジスタもあったりしてね。
68000は無駄にアドレスレジスタがあるのでA7が通常のスタック、A6が
データスタック、A5がthisポインタ(のようなもの)、A4がデバッグフラグ。
あるプロジェクトではそんな使い方していた。
0136デフォルトの名無しさん
NGNG>>135
そうだね。俺もそういう使い方をしていたプロジェクトに参加していた。
今のRISCのようなレジスタ・ウィンドゥ的使い方をするにはレジスタ数
が中途半端だし、結局誰が使ってもそういう使い方になる。
俺的にはアドレスレジスタとデータレジスタに分けないで欲しかったなあ。
そうすりゃ余ったアドレスレジスタをデータレジスタに使えるのにと何回も
思った。
知っての通り68000だけでは仮想記憶システムを作れないという致命的な
問題があり、68010が出るまでそれは延期されたが、68020で小さいながらも
データキャッシュを積んだときには速度の向上に素直に感激した。
OS/9 68Kが世界を席巻すると当時は信じてはばからなかったよorz
0137デフォルトの名無しさん
NGNG6809を露骨に潰しにかかったのが8088。あんなの出したら反則だよな。
で、IBM PCが8088を採用してしまい現在に至る。
8086も発売当初は確かn-MOSでチンチンに熱かったが、C-MOS版が
出てから嘘のように省電力になった。
6809はレジスタの少なさが性能向上の足かせにならないと証明した名機
だったと思うが、現在のようにコンパイラ技術が高まるとレジスタの割り当て
を人間には真似の出来ないような仕方で割り当てて、ロード/ストア回数を
減らす事によるループ内の速度向上が可能になり、特にそれはRISCで
顕著。というか元々RISCはコンパイラとセットで使う事を前提として設計さ
れている。
という事で過去を振り返るのはこれ位にしとく?
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGモトローラたん(*´д`*)ハァハァ
0140デフォルトの名無しさん
NGNGアセンブラ使い始めたのはPentiumからなので許してスマソ。
0141デフォルトの名無しさん
NGNG386で追加されたのはCWDEとCDQ
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGチャチャ入れで申し訳ないが
A7(usp)がスタック
A6がフレームポインタ
A5がローカル記憶域(TLSみたいなもの)
がメジャーでなかったか? A5 は 68k Mac 特有だったかも。
0144デフォルトの名無しさん
NGNG同じことでしょ。
フレームポインタと言わずデータスタックと言ってるのだろうし、
ローカル記憶域を指してthisポインタのようなものと言ってるのだろう。
PalmOSだとグローバル記憶域がA4だったっけ?
0145デフォルトの名無しさん
NGNGかなり違うじゃん
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGそれはそうです、「逆汗」という言葉の意味でです。
言う、私は「逆汗というのは、はいそうです、汗が逆に流れる、それはそれです。意味。」
しかしながら、私の友人が会話をしました。
「あなたは間違っています!組み立てる、真逆に、なので、みんなはそうです、言います。逆汗!」
どっちが正しいのでしょうか、あなたの助け?
0150デフォルトの名無しさん
NGNG汗が逆に流れる、顔が真っ青になる、そうです、意味。
友人は言いました。意味。
真逆に組み立てる、それは壊すことです!破壊屋というべきです!
知恵を流してください!上に。
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNGこのスレはもうダメぽ・・・
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG0110 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デフォルトの名無しさん
NGNGZ80アセンブラ入門
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デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG80と言えば、8080と思う私。
0160デフォルトの名無しさん
NGNGCPUの話という前提で、音の感覚でなんとなく推測する域だな。
まー、プログラム板だから、ゼッパチでまず通じるでしょう。
8080と互換だから、ハチマルとして系でまとめるのもあるかも。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGはち (日本語)
ゼロ (また英語に逆戻り)
英語か日本語かどっちかに統一しろよ
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNG0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG誰もゼロとは読んでないような気がするが…
0168デフォルトの名無しさん
NGNG日本語名は、ゼットハチマル
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGで
Z80とピーンと来る能力がある。
0171デフォルトの名無しさん
NGNGヴチッと来るものがある
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNG一応Z80も乗ってることは乗ってるが、音出してるだけ
普通、Z80と言えば、普通のセガ(とMarkII-III)だと思うが
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGZ80のZって、ZILOGの頭文字だったんだ!
十数年の時を経て知った驚愕の事実!
まぁ、物心つくまえからZ80つかってたから、
名前の意味なんて考えたことないし
0178デフォルトの名無しさん
NGNGそれはちょっと違うような。
どっちがメインでもよかったはず。
なのでZ80が主処理で、
68000がサブという動かし方でもよかったはず。
0179デフォルトの名無しさん
NGNGしかも(当時としては)広大な16KBものRAMを積んでた。
なんせ本体も16KBRAMとか言ってた時代だ、ディスクドライブに本体と同じだけあるとはね。
尤も、価格的にも本体同様16万8千だった気がしたが。
#無印8031はもっと高かったかも知らん。
そう言えば、FM-7は6809*2だったっけ?
0180デフォルトの名無しさん
NGNG>>146
0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGhttp://bubble2.2ch.net/i4004/
0183デフォルトの名無しさん
NGNG6809はメインメモリ全部をレジスタにしてるようなもんだからなぁ。
当然、他の8ビットCPUよりも遥かにメモリアクセスがシビア。
Z80のZはZilogのZでもあるが、THE 80 のTHEを一文字に縮めたZでもある。
0184デフォルトの名無しさん
NGNGカス同然だっての
0185デフォルトの名無しさん
NGNG尊敬しますっ☆
0186デフォルトの名無しさん
NGNGなんてったってアセンブラ読めないからね。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG風呂釜さえ綺麗になれば、それで、いいと思って、いる。
ttp://www.johnson.co.jp/inquiry/faq/ja01/
0190デフォルトの名無しさん
NGNGcall foo
と書くとリンク時にundefinde referenceになってしまいます。
なにか手順があれば教えていただけませんか?
0191デフォルトの名無しさん
NGNGワラタ
MASMあげ
0192デフォルトの名無しさん
NGNGカローラFX
0193デフォルトの名無しさん
NGNGobjdumpコマンドで.oファイルとかを見てみよう!
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGhttp://jbbs.livedoor.jp/sports/19329/index.htm
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG俺はMZとMSXでZ80erだったんで。
0199デフォルトの名無しさん
NGNGとにかく思った通りにプログラムがガシガシ書けた。
Z80は命令体系が固いので、何度も同じようなフレーズを繰り返し繰り返し
書かなければならなかった。例えば8ビットCPUはメモリ空間が狭いので
スタックフレームなどと優雅な物を作る余裕がなかなかなく、CALL命令の
後に1〜2バイトのパラメータを置く、いわゆるインラインパラメータを多用
していたが、Z80のようなCPUではそのパラメータを取り出すのに大変な
手間が必要だった。
6809ならすぐ取り出せた。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGそういう意味ではなく、PCのメモリに録音したんだと思われ
0203デフォルトの名無しさん
NGNG専用スレまでちゃんとあるだろ。
0204デフォルトの名無しさん
NGNGじゃあ、具体的に何のCPUの話をしろと?
0205デフォルトの名無しさん
NGNGZ80なんて組み込みじゃまだ現役だぞ。
0206デフォルトの名無しさん
NGNG知ったか君は二度と来なくていいよ。
0207デフォルトの名無しさん
NGNGそんなに排除したかったら、32bitアセンブラとでもスレ建てて、
勝手にそっちでやればいいのに。
0208デフォルトの名無しさん
NGNG煽るぐらいなら、まずお前がアセンブラの話をしてみろ。
それも出来ないで煽るだけなら迷惑だ。
0209デフォルトの名無しさん
NGNGこれは自然の流れと言う奴だろう
0210デフォルトの名無しさん
NGNG書くのが最高とか本気で言ってる奴がいたら、結構引くな。
凄いと言うより、アホかなと思ってしまう。
0211デフォルトの名無しさん
NGNGAppleIIとかコモドールに使われていたっけ。
俺がパソコンを知った時は既に16ビット時代だったのでついに一度も
6502でアセンブラを使った事はなかったけど、なぜか手元に本だけある。
インデックスレジスタまで8ビットだって!?こんなんでよくプログラムを
書いてたんだなあ。
0212デフォルトの名無しさん
NGNGループアンロールと依存性最適化で人間様の実力を見せ付けてやるときじゃないか
0214デフォルトの名無しさん
NGNGアセンブラの未来は君に託した
ガンガレ
0215デフォルトの名無しさん
NGNGあーでもね、コンパイラより速くハンドアセンブルして、コンパイラの吐いた
コードよりも速く動作するものを書けないと、お払い箱だからね。
0218デフォルトの名無しさん
NGNGこれ見て、FM-7のゲームのプロテクトがもの凄くトリッキーに書かれて
いたのを追憶したよ。
6809は綺麗に書けるというより、楽に書けるという方が正しく、汚く書けば
それこそ解読不能なほどトリッキーなプログラムになってた。
さらにFM-7はサブシステムにも6809を使っていて、メインの方でディスク
を読んでいる途中でサブシステムから割り込みを掛けて、別の所へ飛ばす
なんて常套手段だった。おっとっと、これこそ昔のPC板で書かないといけない
話題だな。
UNIXにしろWindowsにしろ回りがOSでガチガチに固められている今、あまり
面白い事はできなくなったなー。
0219デフォルトの名無しさん
NGNGttp://www.itofamily.com/ito/collections/legend/m6809/
0220デフォルトの名無しさん
NGNGttp://www.st.rim.or.jp/%7Enkomatsu/miscproc/MCS6502.html
ttp://www.st.rim.or.jp/%7Enkomatsu/miscproc/MCS6522.html
0221デフォルトの名無しさん
NGNG使用されていた。
特にコンシュマーで65816のシェアはほとんどスーファミに消費されて
いたと言えるほど独占的だった。
驚くべき事に、スーファミのゲームの大半はアセンブラで書かれていた!
それがGBではZ80カスタム、GBAとDSではARMカスタム、GCではGekko
(PowerPCカスタム)と節操がない。まあ開発言語にC/C++を使用する事
によってアセンブラレベルの違いはライブラリで吸収してしまった事による
効果だろうが。
0222デフォルトの名無しさん
NGNGアセンブラ… (゚д゚)ウマー
アセンブラヽ(`Д´)ノモルァ
アセンブラヽ(`Д´)ノモルァ
アセンブラ… (・∀・)イイ!
アセンブラ… (*´д`*)アハァ…
アセンブラ… (;´Д`) ハァハァ
アセンブラ… (°Д°)ハァ?
アセンブラ… (´・∀・`)ヘー
0223デフォルトの名無しさん
NGNGAppleIIGSにも搭載されていたよ。短命におわったけどね。
0224デフォルトの名無しさん
NGNGコンシューマーゲームじゃ標準ライブラリの有用性はほとんど
無いから、ハードウェア操作やタイミンブバリバリのコードを
組むならC言語よりも、アセンブラの方がやりやすいのだろうな。
プリプロセッサ(トランスレータ)型の構造化アセンブラを
使ってるから、そんな書きづらい訳じゃないしね。
自分はC言語ライクで組めるアセンブラトランスレータを自作して
それで組んでた。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGひどかった。8ビットと16ビットのデータを使い分けるのに命令ではなくて
フラグで制御するなんて、とてもあり得ない。
16ビットCPUで多分一番レジスタが少なかったし。
0227デフォルトの名無しさん
NGNG書いてきた超ベテランなのかのどっちかだな。
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG8ビットならこの二つのうちどちらかが良かったね
Z80が6502の命令セットを載せると無敵だったろうな。
0230デフォルトの名無しさん
NGNGマジレスすると、真に最高速のコードを書くのは骨が折れる。
ていうかスケジューリングは手でやらず自製オプティマイザでやってる。
0231デフォルトの名無しさん
NGNGそんなものに固執するなんて
果物の皮かじって喜んでいるようなもんだな。
0232デフォルトの名無しさん
NGNG頼む、そのオプティマイザを公開してくれ
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGアホですか?
命令セットは同じでも、中身がコロコロ変わっていくぞ。その度に、全部書き直すのかよ。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGそうだよ。アーキテクチャごとに最適化してる。常識だよ?
0237デフォルトの名無しさん
NGNGKC80のデータバスについての記述なんですが
リード時はハイインピーダンス・・・って
ハイインピーダンス状態でどうやって読み込んだデータをレジスタに入れるんでしょうか?
0238デフォルトの名無しさん
NGNG>データバスD<7:0>はハイインピーダンス状態への変化ですから、
>データバス上の負荷(浮遊容量を含む)により、短時間ですが
>データが保持されます。これは、データホールド時間の余裕を増す方向です。
0239デフォルトの名無しさん
NGNGデータバスは入出力(双方向)です。入力と出力がつながっている。
そのため(データバスの)出力がハイインピーダンスにならないと、外部の信号を読み取れない。
データバスがハイインピーダンスになれば、外部の信号を読み取れる。
0240デフォルトの名無しさん
NGNGそうで無いとデータを出力しているデバイスと信号がぶつかるだろ
0241デフォルトの名無しさん
NGNG言われて見ればその通りですね・・・
ド文系なので電子回路の常識すらわかってない始末でして
もっと勉強します。
ありがとうございました。
0242デフォルトの名無しさん
NGNG内蔵RAMアクセス時は、アドレス・データバス及び各制御信号の状態は以下の通りです。
~~~~~~~~~~~~~~~~~~~~~~
アドレスバス : アクセスするアドレス値を出力
データバス : リード時はハイインピーダンス状態、ライト時は書き込みデータ値を出力
各リードライト信号・チップセレクト信号 : "H"(インアクティブ状態)
0243デフォルトの名無しさん
NGNGそりゃ「4.内蔵RAM」しか読まないとそうなるだろうな。
0244253
NGNG0245デフォルトの名無しさん
NGNG試みた手段が何で
どうダメだったか書け。
この池沼っぷりのカキコからして、カーネルモードの話じゃなさそうだしな。
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGFSとかGSと違うのか?
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGHSはAMD64しか持っていないけど、WinXP sp2で使われているよ。
0250デフォルトの名無しさん
NGNG嘘つけ。良く調べないでいい加減な事を書くな。
Athlon64は64bitモードではCS、FS、GSの3つだけが有効になる。
32bitモードでは従来と同じ。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
0251デフォルトの名無しさん
NGNGあるんだなそれが。
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF
↑P254のパフォーマンスイベントの項目にHSレジスタのロード回数がある。
sp2上でそのイベントをモニタするときちんとカウントしている。
0252デフォルトの名無しさん
NGNG自分で自分のこと、馬鹿って言うこと無いのに。
0253デフォルトの名無しさん
NGNGだからどうした。命令表のどこを見てもHSをセグメントセレクタとして
使う方法はのっていない。パフォーマンス・モニタにはロード回数が
カウントされるのだろうが、アセンブラレベルからいじる方法はなく、
説明もない事から、これは拡張予定のレジスタなんだろ。
もしどうしても存在するというなら、XPSP2で使われているという
ソースを示してみろ。
0254デフォルトの名無しさん
NGNG使えるじゃん。
まぁ、あることは確かだね。漏れもパフォーマンスカウンタで確認した。
0255デフォルトの名無しさん
NGNGあるのだろうか。命令の規則性と、パフォーマンス・モニタから、
ある事は推測できても、使えるという保証はないわけで。
ちょうどOCして動作保証がないのと同じ感じ。
0256デフォルトの名無しさん
NGNGこういうのが一番みっともないね。
公式のマニュアルにHSレジスタの存在が書かれているわけだから
それがすべてジャン。
0257デフォルトの名無しさん
NGNGいやだから、>>251のパフォーマンス・モニタには項目はあるものの、
アプリケーション・ガイドとか読んでも、どこにも記述がない。
という事は、あくまでも拡張予定で、実際には内蔵されていないという
可能性もあるわけだ。
0258デフォルトの名無しさん
NGNG俺も確認した。Win2kでは0x4020のイベントは0のまま
XPsp2ではカウントしていた。
Athlon64のパフォーマンスカウンタの一覧を探していたけど
BIOSのマニュアルに載っているとは・・・
0259デフォルトの名無しさん
NGNGセグメント プリフィクスだとFS: GS:の後は違う命令で埋まっているし。
0260デフォルトの名無しさん
NGNGカーネルモードじゃないと、MSRレジスタって書き込めないよね。
0261デフォルトの名無しさん
NGNGhttp://home.iae.nl/users/mhx/perf.html
ここのどっかにあるはず。ちょっと使い方は面倒だけど。
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGググって見ても、それらしきものはAMDのマニュアルしか出てこないなー
0264デフォルトの名無しさん
NGNG決めつけている奴は嫌だ。
プログラミング・マニュアルにきちんと正式に載ってから、「ある」と
言うのならわかるが。
0265デフォルトの名無しさん
NGNGそうでないと、まるで霞を食っているような気分が消えない。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNGウィルスを作られるのを恐れて、OPコードは厳重に隠してるんだろうか?
0269デフォルトの名無しさん
NGNGmov hs,axを66h 8Ch F0hとして実行したら、マニュアルに定義されていない
30番例外が発生しました。何かありそうですね。
0270デフォルトの名無しさん
NGNGIX、IY関係(0DDH、0FDH)の空きの部分に隠し命令がたくさんあったね。
http://www.geocities.com/SiliconValley/Peaks/3938/z80undoc.htm
↑これが過去ログで見つかった。今も生きている。
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG確かモトローラから訴えられそうになって、慌てて隠したそうだけど。
http://www.6809.net/op6309.html
0273デフォルトの名無しさん
NGNGソレダ
0274デフォルトの名無しさん
NGNG0ddh,0fdh関係って、HLのプレフィックスだから隠したと言うより公開しなかっただけって希ガス。
他にもμPDシリーズだからNEC製かな? 0edh関係で隠し拡張があったような記憶がある。
0275デフォルトの名無しさん
NGNGCレジスタの内容が出力される事だけが保証されてたのを、無理矢理
BCレジスタが16ビットとして出力されるのを利用して画面描画してたよね。
0276デフォルトの名無しさん
NGNG言い訳はやめよう
0277デフォルトの名無しさん
NGNG>状況証拠だけで
状況証拠がすべてだろ
あるって書いてあるんだから
使って欲しいからマニュアル化するのであって、
使って欲しくない物までマニュアル化する必要はないでしょう。
0278デフォルトの名無しさん
NGNGだからどうやって使うのん?OPコードは?
0279デフォルトの名無しさん
NGNG使われたくないから、OPコードも仕様も公開しない。
だけど確実に存在する。
俺はてっきり、使い方やOPコードもどこかで公開されているのかと
思ってたよ。
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG「良く調べないでいい加減な事を書いてしまいました。ごめんなさい。」
って書くだけなのにね。哀れなり。
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGマニュアルも糞も、>>251の資料に申し訳程度に書いてあるだけで、
他のプログラミング・マニュアルにはHSに関する事は一つ足りとも
出てないっつーのに。普通はそう思って当然だぞ。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGCコンパイラはgcc、アセンブラはnasmを使用したいのですが。
gccのインラインアセンブラにnasmを使用することは出来ないのでしょうか?
gasのあのけったいなニーモニックを使いたくありません。
もしくはnasmで記述したアセンブラ命令をCから関数として呼び出すことはldを使ってできるのでしょうか?
どなたか教えてください
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG意外と知られてないよね
0289デフォルトの名無しさん
NGNGThx。ドライバを手動でインストールするとはw
確かにSP2でHS Loadはカウントされていますね。試しにSP2を
アンインストールして確認してみたらHS Loadはカウントされませんでした。
0290260=289
NGNGあ、イベント(?)は4020Hであってますよね?
0291デフォルトの名無しさん
NGNGかつ実際の環境でカウントしているのに、HSレジスタは無いと言い張る輩
(多分>>250が自演)が惨めですね。
あ、途中で「無い」から「保証はしない」と変わっているなw
0292デフォルトの名無しさん
NGNG>>258
0293デフォルトの名無しさん
NGNGP4にはないのかな
0294デフォルトの名無しさん
NGNGしつこい。氏ね
0295デフォルトの名無しさん
NGNGFSもGSももてあましていると思うんだが・・・
0296デフォルトの名無しさん
NGNGNTはfsを良く使うけど。gs以降はしらん
0297デフォルトの名無しさん
NGNG知ったかぶりをする馬鹿。お前どれくらい知ってて人の事を
それだけけなしてるんだ?
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGAMDのマニュアルの記載ミスだったとかなんとか。
0300デフォルトの名無しさん
NGNGそれは、LAHFとSAHF命令でしょ。
古いAMD64の仕様書には、この2つの命令はロングモードで無効命令と
なっていた。
それに性能カウンタは、もともとAthlonとP4でまったく互換性はありません。
0301デフォルトの名無しさん
NGNGお前がはっきりと『存在しない』と断言したのでみんな反応しているわけだが。
0302デフォルトの名無しさん
NGNGこういう馬鹿が最近増えて困る。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
0303デフォルトの名無しさん
NGNG>>249では、WinXPのSP2で使ってるって書いてあるけど。
0304デフォルトの名無しさん
NGNGを実行してるってこと?
0305デフォルトの名無しさん
NGNG確かにHS Loadはカウントされている。本当にHSが存在しているのかは謎だけど。
何もさせない状態だと1秒間に250〜600カウントくらい。
(一番多いのはFSだった)
AthlonXPからえらくイベントの項目が増えたな。
0306デフォルトの名無しさん
NGNGみんなじゃなくて、ここまで派手に反応しているのはお前だけだろうが。
0307デフォルトの名無しさん
NGNG敵が単独に見える病(w
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNGnt!SwapContext+0xc7:
804def3d e8595c0000 call nt!KeReleaseQueuedSpinLockFromDpcLevel (804e4b9b)
804def42 33c0 xor eax,eax
804def44 8ee8 mov gs,eax
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0をセットするコード見ても面白くねえよ
0316デフォルトの名無しさん
NGNGシルカ対空砲
0317デフォルトの名無しさん
NGNGpop gs
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGそうではない。お前があまりにもしつこいのでスルーしてただけ。
ここはアセンブラスレなので、HSの存在確認を行う場ではない。
そういうのはハードウェア板へ逝け。
悔しかったらHSの使い方を説明してみろよ。
0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNGしかし、MSはわざわざAMD用のコードをSP2に入れて何をしたかったんだろうね。
0323デフォルトの名無しさん
NGNG模索してるからだろ。
0324デフォルトの名無しさん
NGNGどちらにしろHSなんてセグメントレジスタは存在しない。
0325デフォルトの名無しさん
NGNGどちらにしろ〜ない
というのはテンプレだからな。
0326デフォルトの名無しさん
NGNGしつこ過ぎる。女の腐った奴みたいだな。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG女は女だからいいんだよ。男が女みたいだと禿げしくキモイだけ。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGAthlon64は64bitモードではCS、FS、GSの3つだけが有効になる。
32bitモードでは従来と同じ。
どちらにしろHSなんてセグメントレジスタは存在しない。
こういう馬鹿が最近増えて困る。
0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNGどうして存在しないと言えるんだ。パフォーマンス・カウンタのイベントに
HSへのロード回数が記録されているんですけど(・∀・)ニヤニヤ
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGあるんだなそれが。
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF
↑P254のパフォーマンスイベントの項目にHSレジスタのロード回数がある。
sp2上でそのイベントをモニタするときちんとカウントしている。
0335デフォルトの名無しさん
NGNG0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG過去にも隠し命令を持ったCPUは数あったけど、AMD64は他にも
いろいろ隠してそうで、宝箱みたいで楽しみだ。
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNGよく聞く話だけど、どこかに古い仕様書ある?
0341デフォルトの名無しさん
NGNG2000年物
ttp://xgistor.ath.cx/files/ReadersDigest/x86-64_overview.pdf
0342デフォルトの名無しさん
NGNG敵が一人に見える病が治ってないみたいだな
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG不治の病だから
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNGそこんとこどうよ
0347デフォルトの名無しさん
NGNGとっくの昔にAMD64版のWindowsXPは開発されてβテスト中ですよ。
CPU依存しない部分は、AlphaやIA-64で開発したコードをコンパイルし直しただけでしょうが。
で、32ビットのWindowsXPのSP2といえば、AMD64のCPUの新機能を使ったセキュリティ強化ですよ。
HSレジスタも、それに関係があるのと考えるのが妥当。セキュリティ関連なので開示されてないのだと思う。
0348347
NGNGじゃぁ、セキュリティ機能じゃないね・・・。
ああ、そうか、わかったぞ。
もう今のx86系CPUには物理的にEAX等のレジスタは存在しなくて、
内部にRISC風の多くの(本当に)汎用なレジスタがたくさんあって、ばりばりリネーミングしてるわけで、
HSレジスタというのもISAでは触れられないんだよ。
レジスタとして中に存在しているのかもしれないし、
レジスタと呼んでるけどパフォーマンスカウンタの中の1カウンタにつけた名前に過ぎないのかもしれない。
0349デフォルトの名無しさん
NGNGつまりsp2やBSDで明示的にHSを使ってるわけじゃないってこと?
BSDだったらその辺の情報が公開されていそうだが、どうなんだろう。
0350デフォルトの名無しさん
NGNG他にあったっけ?
あと、NTはコンテキストの復帰にTSSは使っていなかったような
0351デフォルトの名無しさん
NGNGと厨房復活の予感。
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG最初に >>348 みたいな理由を書かなかった時点で
厨房確定だろ。
まぁ騒いだあとに、実は本当にHSレジスタあったよーん
っていうのが理想的だが。(w
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG0356emulator 8086
NGNG"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デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG不治の病でdie end
0360emulator 8086
NGNGWrite 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デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG更に、アセンブリ言語プログラムは書かれています。しかしながら、
それは、位置DS:300Hからlacation DS:400Hに60Hバイトの
ブロックを移動させます。DS(データセグメント)は正確にロード
されます。:――それにそれは書かれることになっています(それ)
それは正しい――――それは逆で1バイト(カーブ)(LSBアドレス
は0です)まで目的のために[位置/バイト]を与えてもよい、それ、
オーダーで――どれに?NAす、奇妙なバイト位置(LSBアドレスは
1です)およびそれは、これに書かれています。
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNGやりたいことは、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デフォルトの名無しさん
NGNGMost 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> ここからが分かりません。フロッピーがどのような書き込みイメージ形式を取っているのかわからないのですが。
我々は、君が読もうとしている FD を持っていないので、それは君もしくはエスパーにしかわからない。
(つーか、そんなこともわからずに FD 直接読み出して、何をしたいんだろう...。)
0370デフォルトの名無しさん
NGNGttp://www.entis.jp/doc/lolita_programing/lolita2.html
ナニコレェ
0371デフォルトの名無しさん
NGNG例えば400バイト欲しい時に、0を100回pushするのでは無くて、
sub esp, 400
とやってその間のesp〜esp+400の領域を勝手に利用してしまっても大丈夫ですか?
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNG>0を100回push
>sub esp, 400
後者は0fillされてないことに留意すればおk。
0375デフォルトの名無しさん
NGNGesp変更しただけでは駄目。
4kごとにわざと空参照しないとページ違反でるよ。
OSによってページサイズ違うかもしんないし、
かならずページ違反になるわけではないけど、
これ放置しとくと後々謎のバグということに・・・。
0376デフォルトの名無しさん
NGNG嘘教えんなヴォケ
0377デフォルトの名無しさん
NGNG良く分かりました。ありがとうございます。
0378デフォルトの名無しさん
NGNGハァ?
0379デフォルトの名無しさん
NGNG上位のページからタッチ(=なんらかのアクセス)していかなければいけません
VCかなんかで、大きい配列をスタックから取ってくるコードを
逆アセしてみたりするとわかる
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG「例えば」
0382デフォルトの名無しさん
NGNGバーカ
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNGハァ?
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGセグフォルトになった。
Linuxではもう事故書き換えのコードは書けないんだ。知らなかった。
(できるのはDOSだけ?)
0387デフォルトの名無しさん
NGNGそれなら昔から、出来ない。書けなくなったのではなく、ほぼ最初から出来なかったはず。
自己書換したかったら、書き込み可能なページにコードを配置しなきゃだめだ。
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGところで、改行くらい覚えろよ。
0391デフォルトの名無しさん
NGNGNXビットでぐぐればわかる。
0392388
NGNG改行スマソ。
実際は、GASに通すコードを書いてるんじゃなくて、
逆に crash や lcrash で dis(assemble) したコードを
読んでいるのです。AT&T -> Intel なコンバータを
通すよりは直に読みたいっす。
0393デフォルトの名無しさん
NGNG気のせい。
NXがサポートされていたって、性能のためにどうしても自己書き換え
したいプログラムってのがある。典型的にはJava VMみたいなやつ。
だから、せいぜいスタックのコードが実行できなくなる程度。
現実的には、それだけでもずいぶんバッファオーバフローなんか
の穴をつかれたときの挙動が安全側にふられるけどね。
0394デフォルトの名無しさん
NGNGそういうのは、現状だってXPSP2では登録して除外してるだろ?
今はまだ外部からの登録での除外が主流だけど
今後はmalloc()で確保した領域での実行も不可能になり
「実行も可能な書き換え領域のalloc」というAPIを介した領域だけになると
俺は思ってるよ。
まあ、スタックだけ実行禁止でも効果はあるけど
バッファオーバーフローを突くために必要なのは
本来、「リターンアドレスの書き換え」だけなんだから。
0395デフォルトの名無しさん
NGNGヒープに動的にネイティブコード生成するのとは違うと思うけど。
んで今はコードは普通write禁止だからね。
ヒープ上のコードはmallocでNXするとしたら、NXしたいヒープをアロケートする
関数が作られるだけの話。UNIXだと以前からページ単位でread/write/execの許可を
設定するシステムコールがあったりするね。もちろんCPUの機能の範囲でだけ
チェックされるんだけど。
0396デフォルトの名無しさん
NGNG例えば、Java VMの実行時コンパイラは、後のクラスローディングなんかをきっかけに、
それ以前にコンパイルしたコードを書き換えることがある。というか、それができることを
前提にしないとできないか、もしくは、効果の薄い最適化をやってる。自己書き換え
と呼ぶべきだと思うが?
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNG自己書き換えっつーのは自分のコードで自分のコードを
細工することをいうのだよ。
例えば自力で自分のコードをヒープに移してそのヒープを実行するのも
自己書き換えの一種と言える。
0401デフォルトの名無しさん
NGNG「自力で自分のコードに移してそのヒープを実行する」ってのをやっているプログラムと、
「自分で作ったコードを生きたまま、書き換えつつ実行する」ってのの違いを分けている
のは何? JITコンパイラが自分に含まれない理由が分からん。同じプロセスの中で
同じスレッドで、プログラムの他の部分(例えば関数)を実行するのと同じレベルで
動作するんだよ。細かく言ったら別スレッドで動くこともあるけどね。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGことを自己書き換えと呼ぶってことなんだね。
Java VMって、入力として、あるデータ(Javaプログラム)を読み込み、
データを処理して何かを出力するという、それだけのプログラムだ。
たまたま、データの処理にコンパイラの技術を使うと速くデータの処
理ができるから、コンパイルしたりする。JITコンパイラがやる仕事っての
は、データと入力したプログラムに適した形に、Java VM自身をカスタ
マイズするという仕事であって、入力したデータを変更するというもので
はない。なんで分けるの?
0404デフォルトの名無しさん
NGNG0405デフォルトの名無しさん
NGNG>JITコンパイラがやる仕事ってのは、データと入力したプログラムに適した形に、Java VM自身をカスタマイズするという仕事であって、入力したデータを変更するというものではない。
初耳モード。
0406デフォルトの名無しさん
NGNGJavaVMという仮想マシンのエミュレータでしょ。
普通は、それだけなら、自己書き換えなんて言わない。
JIT等によりネイティブコードに変換してそれを実行するとしても
コードを生成して実行するだけで、自分自身は書き換えないね。
0407デフォルトの名無しさん
NGNGそこで動く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言わないだろ。
仮にコンパイラが実行ファイルを生成せず、
そのままメモリ上のエントリポイントに飛ぶようになっても
それは全く変わらない。
JITとの違いは、
実行時にそれを行うか、事前に行うか
メモリ上で行うか、ファイルに書き出すか
だけ。
中間コードを用いるものや、インタプリタ系であっても
ネイティブコードを生成し、(別プログラムとせず)そのまま実行するものもある。
でも、これらを自己書き換えなどとは言わない。
0409デフォルトの名無しさん
NGNGヒープ上のバイナリイメージを実行できるのかどうか。
JITならインストラクションポインタが展開イメージの
アドレスを指す事があるのかどうかが話の本題で、その挙動を
自己書き換えと呼ぶかなんてどうでもいい事だと思うんだが。
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNG実行時にcodeや静的なdataを必要に応じて補助記憶から読み出して主記憶に置くヤツ。
スレとは何の関係もないけどな!
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGところで、Win16上で32bitコード(と32bitアドレス)を実行可能にするために
Win32sというのがあったような気がするが、
http://pc5.2ch.net/test/read.cgi/win/1097684748/226-
によると、Win32上で64bitコードが実行可能になる可能性もあるらしいな。
まあ、ネタかもしれんけど。
0415デフォルトの名無しさん
NGNG前スレあたりで誰かやっていたような。カーネルモードで
使えそうじゃないけど。
0416デフォルトの名無しさん
NGNG膨大な数のプログラムを切り替えて実行することを可能にしています」
0417デフォルトの名無しさん
NGNG(´・∀・`)ヘー、もうどうでもいいけど
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGこの通りに実践すればいいよ
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デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGそれともできることはできるけど
面倒なので誰もやらないだけですか。
0422デフォルトの名無しさん
NGNGあえてやりたいなら、Windowsの場合ここに仲間がたくさんいます。
http://board.win32asmcommunity.net/
0423デフォルトの名無しさん
NGNGttp://www.nk.rim.or.jp/~jun/slasm/arm09.html
0424デフォルトの名無しさん
NGNG面白くもなんともない。
0425デフォルトの名無しさん
NGNGi:::::::::::::::::::ヽ
l/^_,ヽ,_:;;ノ それでもやるのが
从 ・ω・) アセンブラーって奴だろ
/~ヽ、; i ^)
(⌒'し' J⌒)
(_) ⌒(_)
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNGあ、Z80ですか。失礼しました。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
05/01/17 10:24:02どこかに資料がないでしょうか?
0431デフォルトの名無しさん
05/01/17 13:31:17Z80の条件分岐は全メモリ空間に届くわけだが。
今考えてみると条件命令はものすごく豪華だったな。
>>430
Z80ので代用する。動きは同じだ。
0432デフォルトの名無しさん
05/01/17 22:40:45豪華かなぁ。相対ジャンプ弱すぎかと。
0433デフォルトの名無しさん
05/01/17 23:47:428086を触ったときは、「何故ret zが無いんだ」と思ったが。
0434デフォルトの名無しさん
05/01/18 15:04:56という発想だったのかも。
そう言えば8080用のCコンパイラはヤケクソのやっつけ仕事みたいなことやってたね。
C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C9
0435デフォルトの名無しさん
05/01/18 15:24:140436デフォルトの名無しさん
05/01/19 06:01:56ia64の読みにくいこと読みにくいこと・・・・
0437デフォルトの名無しさん
05/01/19 06:07:3316bit以上は俺には無理だな。
0438デフォルトの名無しさん
05/01/19 09:37:140439デフォルトの名無しさん
05/01/20 14:28:10IA32はレジスタ少ないから読み書きしにくい。
中の人は沢山持っててリネーミングしてるくせにさ。
0440デフォルトの名無しさん
05/01/20 16:02:3664ビット化はレジスタ増加のおまけ。
0441デフォルトの名無しさん
05/01/20 21:17:430442デフォルトの名無しさん
05/01/21 00:06:150443デフォルトの名無しさん
05/01/21 00:09:160444デフォルトの名無しさん
05/01/21 02:31:440445デフォルトの名無しさん
05/01/21 02:43:26101010100010010011111
とか書いたら棒だから本なんじゃねえ?
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:500448デフォルトの名無しさん
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:310452デフォルトの名無しさん
05/01/22 11:02:51でも最近のやたら沢山レジスタがあるものとか、SPARCのレジスタウィンドウ
の話をするときとかはもうどうでもよくなってくるので個でも違和感ないかな。
個と数えるのは最近のソフトウェアの知識しかない人に多いという感じはする。
0453デフォルトの名無しさん
05/01/23 05:57:37下の一行の処理にかかるクロック数を図ると1万クロックぐらいかかってました。
なぜでしょうか??
(環境:Pen4 winME VC++6)
_asm{
movq mm6, QWORD PTR pMm
}
アセンブラでソースを吐き出すと↓
movq mm6,mmword ptr [ebp-2Ch]
0454デフォルトの名無しさん
05/01/23 12:11:080455453
05/01/23 17:13:330456デフォルトの名無しさん
05/01/23 17:32:540457デフォルトの名無しさん
05/01/23 20:48:08急がば回れ
0458デフォルトの名無しさん
05/01/24 10:15:09カーネルモードで割り込み禁止して測定すりゃいい
0459デフォルトの名無しさん
05/01/24 10:38:58QWORD境界を割ったりしてないか?
あと、DirectXサーフェイスをじかに触ったときの話だったりしないか?
0460デフォルトの名無しさん
05/01/24 11:05:06再現性はあるのか。
0461デフォルトの名無しさん
05/01/24 16:33:11初めてMMX命令を実行したときじゃないのか?
以降のMMX命令は、普通になると思うけど。
0462デフォルトの名無しさん
05/01/24 18:07:08http://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:020466デフォルトの名無しさん
05/01/24 18:31:53その順位はいいとして、
何故2番目が週アスなのかw
0467デフォルトの名無しさん
05/01/24 19:16:230468デフォルトの名無しさん
05/01/24 19:20:42新しいCPUのレイテンシやペアリング条件、
メモリキャッシュの最適化ノウハウについて書かれた
インテルのPDFのような本がほしい。
0469デフォルトの名無しさん
05/01/24 19:22:590470デフォルトの名無しさん
05/01/24 19:26:25宣伝乙
0471デフォルトの名無しさん
05/01/24 19:44:59P4しか載ってないし、実例で話をしないから抽象的で
どんな条件の時にどの程度の効果が見込めそうなのか
掴みにくいんだよあれ。
0472デフォルトの名無しさん
05/01/24 19:59:31x86命令の所要クロック計測スレ
http://pc5.2ch.net/test/read.cgi/tech/1103609337/l50
0473デフォルトの名無しさん
05/01/24 21:07:33他スレからコピペ
『いまどきのアセンブラプログラミング』でもDigital Travesiaの解説を
丸写ししているページとかあったし、今度は解析系サイトや同種の本の
パクリで固めているんじゃないの?
橋本和明本人が書いたらどんな内容になるかは、『いまどきのアセンブラプログラミング』で
実証済みだし。というか、この人プログラミングや解析の説明は向いてないよ。
この本を買うぐらいなら『クラッカー・プログラム大全』や『解析魔法少女美咲ちゃん』の
続編を待つよ。
0474デフォルトの名無しさん
05/01/24 21:09:040475デフォルトの名無しさん
05/01/24 21:15:08http://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:52http://d.hatena.ne.jp/yaneurao/20040528
っていう経緯があるから、「いまどきのアセンブラの教科書」は
逆恨みで解析本「解析魔法少女美咲ちゃん」の内容をパクッてくるでしょうね。
あと、ソフト解析の解説は解析サイト「Digital Travesia」からのパクリでしょう。
自分じゃまともな解説書けないライターだし、これまで彼が執筆した本を読むと
パクリを何とも思っていないようですから。
それにしても、この橋本和明って、ゲーラボのライターからも馬鹿にされているそうで。
パクリに頼るしかないライターって・・・
0477デフォルトの名無しさん
05/01/24 21:49:020478453
05/01/24 21:59:59システムメモリをいじる処理なのでDirectXのサーフェスとかは関係ないと思う。
>>460>>461 ソースを消したので再現することは出来ないけど
ブレークポイント設定して何度か調べたときは常に同じぐらいのクロック数がかかってた。
あと、新しくWin32コンソールアプリのワークスペースを作って>>459をコピペして実行したときも同じ分だけクロック数がかかってた。
なんか特別な環境でのみ起こる事象っぽいし、再現できないのでもう原因を追求するのは無理っぽいなぁ。
皆さんどうもでした。m(_ _)m
0479デフォルトの名無しさん
05/01/24 22:00:54ページアウトされてるメモリに読み書きしようとしたのでは?
0480デフォルトの名無しさん
05/01/24 23:35:12そして、何故そのような処理をするのでしょうか?
0481デフォルトの名無しさん
05/01/24 23:35:42なんとなく
0482デフォルトの名無しさん
05/01/25 05:17:47mmxレジスタに転送する命令を2回続けてやって、クロック数を測ってみた。
1回目は数千クロックで、2回目は84クロックだった。
つまり、>>454や>>461ということだろう。
0483デフォルトの名無しさん
05/01/25 08:44:52と
lea eax dword ptr[eax+eax*2]
どっちが速いですか?
0484デフォルトの名無しさん
05/01/25 09:25:490485デフォルトの名無しさん
05/01/25 11:03:46スクリプト言語の掛け算で使うので桁上がりとかは無視してください。
符合が関係あるならダメでしょうけど。
0486デフォルトの名無しさん
05/01/25 12:14:270487デフォルトの名無しさん
05/01/25 12:34:50P4はシフトが遅くなったのでスケールインデックスがある場合はleaを避けたほうがよい。
ただし、コードを短くすることが重要な場合は leaの方が良いことも有る。
0488デフォルトの名無しさん
05/01/25 12:41:310489デフォルトの名無しさん
05/01/25 20:08:370490デフォルトの名無しさん
05/01/25 20:38:570491デフォルトの名無しさん
05/01/25 20:51:29このロゴが欲しければ
0492デフォルトの名無しさん
05/01/25 20:59:380493デフォルトの名無しさん
05/01/25 21:04:30分からないなら口出しするな、アホ
0494488
05/01/25 21:12:12ところで、ここのところ学生が抽象思考ができなくて困ってる
0495デフォルトの名無しさん
05/01/25 21:21:500496デフォルトの名無しさん
05/01/25 21:21:550497デフォルトの名無しさん
05/01/25 21:29:480498デフォルトの名無しさん
05/01/29 22:31:57Exceptions (All Operating Modes)
None.
0499デフォルトの名無しさん
05/01/29 23:02:56嘘こき麻呂
0500emulator 8086
05/02/01 13:46:41ちょっと理解できないところがあります。コードは以下の通りです。
#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:100502デフォルトの名無しさん
05/02/01 14:13:480503デフォルトの名無しさん
05/02/01 14:29:030504デフォルトの名無しさん
05/02/01 14:59:59整数って言ってるけど、基数は何なのか。何進数なのか。
次に、mov って書いてるが、それは移動なのか。コピーなのか。
次に、0Fh で オペランドを and すると、一般論としてオペランドはどのように変化するのか。
次に、「4ディジットシフト」なのか。
次に、8h という数には特殊な意味があるのか。
次に、出力は 7 なのか、 7h なのか。
次に、理解できない程度は「ちょっと」なのか。
0505emulator 8086
05/02/01 15:13:36if you don't know shit about x86, stay back and be quit, fuckn' asshole.
0506デフォルトの名無しさん
05/02/01 15:26:400507デフォルトの名無しさん
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はぁ?
0511デフォルトの名無しさん
05/02/01 21:44:480512デフォルトの名無しさん
05/02/02 02:02:050513デフォルトの名無しさん
05/02/02 04:23:41x86のメモリオペランドで使える計算を外部から使えるようにするオペコード、
みたいなもんだ。
80386が出て最初にこの命令見たときは笑ってしまった。
0514デフォルトの名無しさん
05/02/02 04:25:20それまでも命令があることははあったんだけどあまり使わなかったような。
0515デフォルトの名無しさん
05/02/02 04:45:43わかりますた
0516デフォルトの名無しさん
05/02/02 07:47:24むしろ活躍するのは掛け算なような…
0517デフォルトの名無しさん
05/02/02 07:54:10使用機会が最も多いのは、高級言語でスタックフレーム内の変数のアドレスを取る時。
例えば
main() { char str[100]; ... ; printf("%s", str); }
など。
0518デフォルトの名無しさん
05/02/02 09:51:090519デフォルトの名無しさん
05/02/02 11:46:59alで端数を求め(andは端数だけ抜き出すため)、blで整数部(shrで切捨て)を求める。
cmpして端数が8(16の半分)以上だったらblに1足して切り上げにする。
4つシフトするのは、dataの小数点位置が4bit目というこのコードの仕様。
ただ本当は、このコードは何進数かを決めていない。別に2進数の零捨一入でもいいし。
比較の8は、この表記(dataに入れる数の)での1/2であるだけ。
つうか>>500は68h(6.8h)を丸めて7hていう仕様を理解してる?
0520504
05/02/02 13:01:39煽って弄って甞めてしゃぶってばかりいる
俺とは大違い (;゚∀゚)=3 ハァハァ
0521デフォルトの名無しさん
05/02/02 13:36:12あふれてもいいから使いやすいんじゃないか。とマジレスしてみる。
0522デフォルトの名無しさん
05/02/02 14:59:45http://pc5.2ch.net/test/read.cgi/tech/1060182978/285
0523デフォルトの名無しさん
05/02/02 18:18:03>>502でがいしゅつ
0524デフォルトの名無しさん
05/02/05 18:50:08ttp://www.hi-ho.ne.jp/m-hiroi/BGM/Aruhanbura.htm
0525質問。
05/02/07 06:07:34ORG 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何ででしょうか?
0527デフォルトの名無しさん
05/02/07 06:39:36その数値表記方式は一体何者なんだ?
何故0x40が4.4なのかがわからん。
0528デフォルトの名無しさん
05/02/07 06:46:30その数行だけで完結しているとは思えないので、
呼び出しもとで ah, bh, ch に相当する部分が、
どういう風に使われているか
調べないといけないんじゃないの?
※ax = ah*256 + al
bx = bh*256 + bl
cx = ch*256 + cl
0529デフォルトの名無しさん
05/02/07 07:28:40どこへ行くんだろう・・・
0530デフォルトの名無しさん
05/02/07 09:22:140531デフォルトの名無しさん
05/02/07 13:03:130532デフォルトの名無しさん
05/02/07 14:18:50これは小数の掛け算、割り算のコードかな?最後のHex数値の横の数字は小数点の場所かな?
そうだと仮定すると、cl registerは8bitsでcx registerは16bitsだよね。ということは、div
(割り算)の後の答えは8bits以上になるので、この場合、cx registerを使わなければ、ならない事
になります。
0533デフォルトの名無しさん
05/02/07 17:05:22thank you, man.
0534デフォルトの名無しさん
05/02/07 17:09:580535デフォルトの名無しさん
05/02/07 17:13:320536デフォルトの名無しさん
05/02/07 17:16:090537デフォルトの名無しさん
05/02/07 17:24:030538デフォルトの名無しさん
05/02/07 17:35:28http://www.amazon.co.jp/exec/obidos/ASIN/4839912025/
0539デフォルトの名無しさん
05/02/07 17:38:49その本は立ち読みしました
たいしたことかいてませんよ
0540デフォルトの名無しさん
05/02/07 17:52:530541デフォルトの名無しさん
05/02/07 18:00:00http://www.amazon.co.jp/exec/obidos/ASIN/4839917183/
0542デフォルトの名無しさん
05/02/07 18:06:32つまんないからもういいって
あんたがなんにも知識のない役立たずってことはわかったけどさ。
0543デフォルトの名無しさん
05/02/07 18:20:500544デフォルトの名無しさん
05/02/07 19:14:26ORG 100HからしてMS-DOSのCOM型だと思う。
そうだとすれば、0000Hへ飛んで、INT 20Hを踏んで、プロセス終了。
0545デフォルトの名無しさん
05/02/07 21:07:500546デフォルトの名無しさん
05/02/07 21:12:55レガシー互換をいつまでも信奉する池沼
0547デフォルトの名無しさん
05/02/07 23:43:13COM型はすべでのセグメントが同一の値に設定されて、0000Hがスタックにプッシュされる。
ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_3.html
ってMS-DOSでは保障されてなかったのねん。
>>546
一応そういうテクがあるってことで。
普通はINT21Hリクエスト4CHを使うし。
0548デフォルトの名無しさん
05/02/08 09:01:560549デフォルトの名無しさん
05/02/08 09:14:06そうですか
0550デフォルトの名無しさん
05/02/08 09:49:19shlは、答えをaxに小数点位置11.5で入れるためだろう。
>>532
小数点の位置だとよく気づいたな。よくある表記なんだろうか。
div clとすると、(商が8bitに収まった場合)剰余がahに格納されて邪魔というのもある。
8bitに収まらなきゃエラーが出るからいいが、なまじ収まってるとデバッグが大変だ。
ahやbh、割り算に使うdxも、このルーチンに入る前にゼロでないといけない。
バグの温床みたいなコードだなw
俺もこのレベルの潜在的なバグによく悩まされたものだ。
0551デフォルトの名無しさん
05/02/09 13:43:420552デフォルトの名無しさん
05/02/09 13:59:580553デフォルトの名無しさん
05/02/09 14:21:11俺知ってるよ!
でもここでは言えないなあ。
そういや来週のワラっていいとも変人コンテストに出るから
君も出なよ。
そこで落ち合おう。
0554デフォルトの名無しさん
05/02/09 14:22:59俺も知りたいのだが、あんたのせいで
誰も教えてくれなくなちゃったよ。鬱だ。
0555デフォルトの名無しさん
05/02/09 14:36:570556デフォルトの名無しさん
05/02/09 14:50:47Windowsです
GASかIntel形式どちらでもいいです
0557デフォルトの名無しさん
05/02/09 15:11:030558デフォルトの名無しさん
05/02/09 15:18:12わからんならとっとと死ねよ
おまえがCPUIDを知ってるえらいこちゃんなのはわかったからさ。
チロルチョコくってねなさい
0559デフォルトの名無しさん
05/02/09 15:22:120560デフォルトの名無しさん
05/02/09 15:33:51お前リングレベル、コールゲート、知ってる?
知ってるなら教えるの楽なんだが
0561デフォルトの名無しさん
05/02/09 15:39:28だいたい知ってる
てかIntelのPDF上中下巻は暇な時読んでる
RDMSRはレベル3からどう呼ぶかさっぱりわからん
0562デフォルトの名無しさん
05/02/09 15:43:19OSの意味無くなるからな
デバどら作れルカ?
0564デフォルトの名無しさん
05/02/09 15:47:440565デフォルトの名無しさん
05/02/09 15:48:02お前日本語読めるか?
俺は
「IA32のWRMSRを呼び出せるまでのアセのコードがわかりません」
と書いてるんだ
レベル0とかデバドラとかいいから
コアのアセコード教えろっていってんだよ。
ああ在日にはわからんか。
0566デフォルトの名無しさん
05/02/09 15:50:360567デフォルトの名無しさん
05/02/09 15:54:28わからんならでしゃばんなやカス
0568デフォルトの名無しさん
05/02/09 15:55:530569デフォルトの名無しさん
05/02/09 16:11:01ドライバでなくてもできるよ。WinNTからI/Oポートを直叩きとか。
0570デフォルトの名無しさん
05/02/09 16:12:32見たいですねw
0571デフォルトの名無しさん
05/02/09 16:15:08トラップ付でね。w
一般保護例外をキャッチしてエミュレートしてるだけ
0572デフォルトの名無しさん
05/02/09 16:16:370573デフォルトの名無しさん
05/02/09 16:24:520574デフォルトの名無しさん
05/02/09 16:27:07gccでもclでもいいです
0575デフォルトの名無しさん
05/02/09 16:29:120576デフォルトの名無しさん
05/02/09 16:44:22実行環境:レベル3から
pentium4のWRMSRを呼び出せるまでのアセのコードがわかりません
gccでもclでもいいです
0577デフォルトの名無しさん
05/02/09 16:51:090578デフォルトの名無しさん
05/02/09 17:10:150579デフォルトの名無しさん
05/02/09 17:14:11アプリからOSを操作されたら嫌だよ
0580デフォルトの名無しさん
05/02/09 18:06:14そりゃねーだろ
HDDTempとかマザーボードのベンダが出してるシステムツールは
あきらかにレベル3じゃねーだろ
不可能じゃネーのやるんだよ
0581デフォルトの名無しさん
05/02/09 18:11:21バカじゃないの?HDDてmpは直接ハードにアクセスしてネーよ、ボケ
わかんない奴だな、勝手に決め付けるなよ
0582デフォルトの名無しさん
05/02/09 18:15:31smartだろ
べつにいいよそんなの
sysenterでもなんでもいいからRDMSRが呼べるまでのコードをおしえろってんだ
そ
0583デフォルトの名無しさん
05/02/09 18:27:09分かってんならあきらめろ、
なんとか.sysでも読む位の甲斐性見せろよ、ぼけ
0584デフォルトの名無しさん
05/02/09 18:36:01自前でデバイスドライバ用意してリング0であれこれするのがいかに簡単かすぐわかるよ。
こんなとこ読み書きしてないでちゃんと根詰めて2、3日コード書けば出来ちゃうよ。
0585デフォルトの名無しさん
05/02/09 20:42:270586デフォルトの名無しさん
05/02/09 22:01:30青画面で死んでしまうがなw
>>571
ええっ、そうだっけ?一般保護例外をキャッチできるなら青画面にはならないよ。
カーネルモードでぬるぽしたら青画面で死亡したんだが。
0587デフォルトの名無しさん
05/02/09 22:35:01一般保護例外でエミュレートできない奴はブルースクリーンで
ごまかす、それだけだよ。リアル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ヒントやろう、XPだがなマイコンピュータのプロパチー>はーどうぇあ
デモ穴があくほどみろボケ
0590デフォルトの名無しさん
05/02/09 22:57:23ワロマクローリン
0591デフォルトの名無しさん
05/02/10 12:17:02ttp://mentai.peko.2ch.net/prog/kako/962/962986060.html
簡単にring0に移行する方法が書いてあった。
ここにあるライブラリはNT4.0のものだけど、2000やXPでも動く。
0592デフォルトの名無しさん
05/02/10 12:24:580593デフォルトの名無しさん
05/02/10 12:46:340594デフォルトの名無しさん
05/02/10 13:01:06キタ━━━ヽ( ゚∀゚ )ノ━ヽ( )ノ━ヽ( ゚∀゚ )ノ━━━!!
$ ./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実行時にGALLGATE.DLLとCALLGATE.SYSさえあれば大丈夫。
例によってAdministrator権限じゃないと動かないけど・・・
0596デフォルトの名無しさん
05/02/10 13:54:15いや違うだろ
DLLとSYS作るのはDDKいるんじゃないか?
僕ちんはコールゲートを呼び出すアプリを作りたいんじゃなくて
コールゲートを呼び出す方法を知りたいのよ
それに>>591には
GALLGATE.DLLとCALLGATE.SYS
のソースがありません
ring0.asmがそれらしきソースではあるけど。
0597デフォルトの名無しさん
05/02/10 14:00:26far Callすれば委員でない甲斐?
0598デフォルトの名無しさん
05/02/10 14:02:36dllでコールゲートを作って、far-callでring0に入る形になってる。
sysはdllの方で読み込むから、DDKを意識する必要がないってこと。
dispeでcgateapp.exeを逆汗するとring0.asmのコードが入っているはず。
0599\__________________/
05/02/10 17:29:43, 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:330601デフォルトの名無しさん
05/02/10 17:40:24低脳プログラマーのやつ
しょせん、向いてなかったんだよ
0602デフォルトの名無しさん
05/02/10 20:43:57ring0に入ったら、すぐに割り込みを禁止した状態でTRAP_FRAME構造体に
必要な値を入れなければならなかったはず。
コールゲートだとring0に遷移した直後は割り込みが禁止されていないので
たとえTRAP_FRAMEに値を入れようとしても、その間に割り込みが入れば
システムは落ちるよ。
0603デフォルトの名無しさん
05/02/10 21:12:32作ったほうが早いと思うけどなー。
俺はこれで遊んでいるけど。
>>602
_KTRAP_FRAME
0604デフォルトの名無しさん
05/02/10 21:16:47CALLGATEという名前はついてるけど、SYSファイルが付いているってことは
dllがDeviceIoControl でメモリ位置渡してドライバ呼んで、asmで書いたコード
はちゃんとドライバのコンテキストで真っ当に実行されるんじゃないのかな・・・
0605デフォルトの名無しさん
05/02/10 21:51:44http://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:180607デフォルトの名無しさん
05/02/10 22:08:210608デフォルトの名無しさん
05/02/11 00:34:13クソガキと言っても精神年齢のことであり
肉体の年齢は30過ぎてずいぶん経つようなクソだが
0609デフォルトの名無しさん
05/02/11 02:37:00最近になっても糞GNOMEマンセーだからなwwwwwアヒャ
0610デフォルトの名無しさん
05/02/11 19:15:130611デフォルトの名無しさん
05/02/13 18:44:21asm("rep; nop");
ってコードがあったんですけど、
repはストリング命令等で繰り返しで使用する場合がある事は知っているし、
nopも意味はわかるんですけど、
今回のコードがどういう意味を持つのかがわかりません。
これってどういう意味があるんですか?
0612デフォルトの名無しさん
05/02/13 19:06:12そんな事もわからんのかボケ
0613デフォルトの名無しさん
05/02/13 20:27:21でっきるっかな
はてさてふむー
「nopさーん」
ウホ
ウホホホホ
おやおや、ゴンタ君は今日もおおはしゃぎ
0614611
05/02/13 22:13:43やはりそうですか。
だとしたらCXレジスタが影響しますよね?
そのコード周辺でCXを維持ってるように見えないので
何か別の用途で使用するのかと思ったのです。
ちなみに自分はボケでありません。
0615611
05/02/13 22:29:02やはり特殊な使用方法でした。
最後に
ありがとうよ>612のボケ野郎。
おまえこそ間違ってるんだよアホが。
0616デフォルトの名無しさん
05/02/13 22:47:23釣られてる時点でボケなんだよ。
0617611
05/02/14 00:07:48人を馬鹿にすることしか出来ないのか。
もういいです。二度と此処へは来ません。
0618611
05/02/14 00:32:520619611
05/02/14 02:06:480620デフォルトの名無しさん
05/02/14 07:26:110621デフォルトの名無しさん
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:49HTって別プロセスのスレッドを同時に実行できるの?
同じプロセス内の2スレッドだけ同時に実行できるんだと思っていたんだが。
プロセスを切り替えるには、コストかかりすぎて逆に遅くなるような気がする。
おしえて、エラい人。
0623デフォルトの名無しさん
05/02/14 14:33:50内部レジスタのソース、デストのアドレスだった。
0624デフォルトの名無しさん
05/02/14 15:02:47CPUはプロセスとかスレッドなんて知らないよ。
ただ、2つの命令ストリームを実行しているだけ。
0625デフォルトの名無しさん
05/02/14 15:34:38MMUのアドレス変換テーブルを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:220628デフォルトの名無しさん
05/02/14 18:19:30よく分からないけど、問題なくできるってことですか?
どうもありがとう。
0629デフォルトの名無しさん
05/02/15 01:19:13各論理プロセッサは、個々にCR3をもつ。
これでわかるでしょ?
0630デフォルトの名無しさん
05/02/15 02:29:560631デフォルトの名無しさん
05/02/15 02:43:46プロセスとスレッドの定義から勉強した方がいいんじゃない?
0632デフォルトの名無しさん
05/02/15 13:27:55切り替えでしているのはレジスタの退避とか。
HTが物理2CPUより優れている点として、キャッシュの共有がある。
これは同プロセスのマルチスレッドで役に立つ点。
0633デフォルトの名無しさん
05/02/15 19:02:39現在アナウンスされてるCMPではキャッシュ共有モデルはなかった記憶だけど、
L2共有程度でじゅうぶんなんじゃない?
パイプラインにあわせたタイミングで動くL1キャッシュは、共有構成にすると
実質的に実行ユニット-キャッシュインタフェイスを増やさないといけなくなって、
ストールの機会が増えてしまう。
ちなみにP4みたいなウンコーアーキテクチャだと、SMTでL1キャッシュ(TCも)が
共有されても、実行ユニットが先に埋まっちゃうよ。むしろ片コンテキストにて
L1キャッシュミスが起きた場合のストール補填に、SMTは役立っている
…というのが、俺の観測結果。
0634デフォルトの名無しさん
05/02/15 19:49:44こんな感じの事をしたいのですが…
mov al, (0xFF & FOO)
mov ah, ((0xFF00 & FOO) >> 8)
…
FOO:
jmp …
#axにFOOのあるアドレス16bit分が欲しい
0635デフォルトの名無しさん
05/02/15 19:56:460636デフォルトの名無しさん
05/02/15 20:15:35なんぞええ手はありませんか。
0637デフォルトの名無しさん
05/02/15 20:46:510638デフォルトの名無しさん
05/02/15 21:01:55a0 7f 00 00 00
mov 0x7f,%al
b0 7f
mov $0x7f,%al
この2つの違いが分からなかったら青唐辛子ケツに突っ込んで氏ね
>>636
DOSかWinで分かれるところなので、まずはぐぐれ。
0639デフォルトの名無しさん
05/02/15 21:20:00> HTが物理2CPUより優れている点として、キャッシュの共有がある。
複数CPU間でのキャッシュの共有は普通にある。
0640デフォルトの名無しさん
05/02/15 21:21:020641デフォルトの名無しさん
05/02/15 21:24:26例が間違っていてスマン。変に慣れていない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任意の .o ファイルを objdump --disassemble してみれ。
0643デフォルトの名無しさん
05/02/16 10:55:08ナイフの先をAltキーの下に差し込んでグイっと起こす
0644デフォルトの名無しさん
05/02/16 11:27:10lea命令じゃだめなん?
0645デフォルトの名無しさん
05/02/16 11:39:43>むしろ片コンテキストにてL1キャッシュミスが起きた場合のストール補填に、SMTは役立っている
>…というのが、俺の観測結果。
自分もそう思ふ。
0646デフォルトの名無しさん
05/02/16 12:22:03キャッシュは1つなんだから2スレッドが同じキャッシュ使うんじゃないの?
0647デフォルトの名無しさん
05/02/16 22:30:03mov ax,ip って無理ですよね
call→popってのが普通ですか?
0648デフォルトの名無しさん
05/02/16 22:34:030649デフォルトの名無しさん
05/02/16 23:38:420650デフォルトの名無しさん
05/02/16 23:42:46なるほど・・・ありがとうございます。
0651デフォルトの名無しさん
05/02/17 00:45:280652デフォルトの名無しさん
05/02/17 12:30:160653デフォルトの名無しさん
05/02/17 12:36:02そんな必要無い
0654デフォルトの名無しさん
05/02/17 13:03:17それを否定したらこのスレの意義が半分はなくなると思うがな。
0655デフォルトの名無しさん
05/02/17 13:24:060656デフォルトの名無しさん
05/02/17 13:25:440657デフォルトの名無しさん
05/02/17 13:35:300658デフォルトの名無しさん
05/02/17 17:43:470659デフォルトの名無しさん
05/02/17 17:50:31でもなあ
最近勝手にデータ領域にSP変更したらOSさんが文句言うもんだから使えなくなった。
0660デフォルトの名無しさん
05/02/18 00:20:44ありがとうございます
0661デフォルトの名無しさん
05/02/18 01:25:29よくわからんが、手続きをちゃんと踏めば大丈夫だろ
いい加減なもの作ってるからそうなる
0662デフォルトの名無しさん
05/02/18 06:46:58スタック領域を大きくとって、スタック領域を分割して使えばいいんだけど
こうすると、当然1スレッドでこのテクニックを1個しか使えないし、
だったら多少重くてもOSの提供したスレッドの機能を素直に使っちゃえとなるわけで・・・
06638086 emulator
05/02/20 02:37:15だと、400hをax registerにロードできるんですが、
mov ax, data1
data1 dw 400h
だと、ax registerが0000hになってしまいます。どなたかこの二つのインストラクションの
違いを教えてください。お願いします。
0664デフォルトの名無しさん
05/02/20 03:19:290665デフォルトの名無しさん
05/02/20 03:45:460666デフォルトの名無しさん
05/02/20 09:52:59org 0400h
data1 dw 400h
0667デフォルトの名無しさん
05/02/20 13:44:390668デフォルトの名無しさん
05/02/20 14:07:440669デフォルトの名無しさん
05/02/20 14:46:26俺もなかなか気難しいぞ
気をつけろよ
jmp anywhere-anytime
0670デフォルトの名無しさん
05/02/20 16:38:23you motherfucker.
0671デフォルトの名無しさん
05/02/21 04:32:27start:
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:040673デフォルトの名無しさん
05/02/21 05:21:040674デフォルトの名無しさん
05/02/21 06:25:02>データを足して、エラーチェックしなきゃいけないんですが。どうやって
>エラーチェックをしたらいいのかわかりません.
あのデータを足したその答えと2's complementをしてるんですが、
その答えのエラーチェックです。
0675デフォルトの名無しさん
05/02/21 06:36:490676デフォルトの名無しさん
05/02/21 07:54:20MOV EAX , EBX+10h
下はおかしな表現だけど、意味としては同じですよね?
0677デフォルトの名無しさん
05/02/21 11:03:490678デフォルトの名無しさん
05/02/21 11:06:31前者はオフセットが10、後者はオフセットが10h。
>>677
それは承知の上で意味的に同じかどうかだけ聞いているんだろ。
0679デフォルトの名無しさん
05/02/21 11:12:56話にならん
0680デフォルトの名無しさん
05/02/21 11:27:250681デフォルトの名無しさん
05/02/21 12:26:32ADD EAX , 10h
下はおかしな表現だけど、意味としては同じですよね?
0682デフォルトの名無しさん
05/02/21 13:34:150683デフォルトの名無しさん
05/02/21 14:23:030684デフォルトの名無しさん
05/02/21 16:11:020685デフォルトの名無しさん
05/02/21 17:36:12資料何かありましたらお願いします
0686デフォルトの名無しさん
05/02/21 17:48:00Cygwin の objdump で喰えたりするので、試してみれ。
0687デフォルトの名無しさん
05/02/21 21:13:23MOV EAX, EBX
ADD EAX, 10h
この二つのメソッドは同じと考えていいのですね?
0688デフォルトの名無しさん
05/02/21 21:38:170689デフォルトの名無しさん
05/02/21 21:43:310690デフォルトの名無しさん
05/02/21 21:56:220691デフォルトの名無しさん
05/02/21 21:56:450692デフォルトの名無しさん
05/02/21 21:59:360693デフォルトの名無しさん
05/02/21 22:05:27でも「メソッド」はいただけないなあ
0694デフォルトの名無しさん
05/02/22 01:36:20ADD EAX, 10h
ADD EBX, 10h
MOV EAX, EBX
この二つのメソッドは同じと考えていいのですね?
0695デフォルトの名無しさん
05/02/22 01:54:45ワロス
というか全然違うじゃないかミ,,゚Д゚彡ふさふさだぞゴルァ!
0696デフォルトの名無しさん
05/02/22 02:03:31http://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0697デフォルトの名無しさん
05/02/22 02:05:58命令コードは絶対に違うよ
0698デフォルトの名無しさん
05/02/22 05:58:270699デフォルトの名無しさん
05/02/22 11:45:23相手の意図を汲み取れ。
0700デフォルトの名無しさん
05/02/22 14:47:12JMP $
この二つのメソッドは同じと考えていいのですね?
0701デフォルトの名無しさん
05/02/22 15:26:20悪いのですよ
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:160705デフォルトの名無しさん
05/02/22 16:59:11最近のコンパイラなら
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:480707デフォルトの名無しさん
05/02/22 18:01:44そ う だ っ た の か
0708デフォルトの名無しさん
05/02/22 20:20:46memsetの実装やコンパイラに依存。
てめえで調べろ。
0709702
05/02/23 01:52:020710デフォルトの名無しさん
05/02/23 02:40:220711デフォルトの名無しさん
05/02/23 02:43:28環境依存です
環境によっては左手で子供の頭なでたりしたら親に打ち殺されたりします
0712デフォルトの名無しさん
05/02/23 03:45:45「いちばん最初に」等価質問をした者です
皆様色々ありがとうございました
0713デフォルトの名無しさん
05/02/23 11:09:340714デフォルトの名無しさん
05/02/23 11:24:32等価交換の原則に則り、礼だけじゃなく
気持ちを形に、っていうか…なあ?
0715デフォルトの名無しさん
05/02/23 15:26:11具体的に言って下さい・・・
07162
05/02/23 20:04:190717デフォルトの名無しさん
05/02/23 20:09:290718デフォルトの名無しさん
05/02/23 21:51:230719デフォルトの名無しさん
05/02/23 23:15:00ttp://kur0nek0.web.infoseek.co.jp/obon/04/index.html
0720デフォルトの名無しさん
05/02/23 23:26:39大音量で音楽聞いてたからびびった
そういう行為って訴えられたりする事ってあるのか?
画像だけならよかったが声はまぢびびった
勘弁してけろ
0721デフォルトの名無しさん
05/02/24 00:18:55あるわけ無い。自己責任。
マならリンククリックの責任くらい分かるだろ。
0723デフォルトの名無しさん
05/02/24 00:41:48例えばpdfのリンクを開いてPCがフリーズし、
大事なデータが保存できなかった。
保証されるわけが無い。
0724デフォルトの名無しさん
05/02/24 00:45:29最近はビビって開けないよ。
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:02http://www.tiduru.sytes.net/img-box/img20040727015957.jpg
0730デフォルトの名無しさん
05/02/24 01:35:55禁止行為
インフォシークの品質を保ち、皆様にインフォシークを通じてインターネットを有益に楽しんでいただくため、インフォシークにおいて以下の行為は禁止されています。
>ポルノ、ヌード、猥褻的、暴力的な映像、その他一般的に不快と感じられるイメージ(画像)、言葉、その他の表現
>未成年者の健全な育成を害する行為
>その他公序良俗、一般常識に反する行為
これらが該当するかと思われ。
0731デフォルトの名無しさん
05/02/24 01:39:09このアドレスですよね
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>>730は>>719の恐怖リンク
まったく別の話。
0733デフォルトの名無しさん
05/02/24 04:25:270734デフォルトの名無しさん
05/02/24 08:54:510735デフォルトの名無しさん
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>
あほくさ
0737デフォルトの名無しさん
05/02/24 13:45:13だから、いきなり開くからあほって言われるんだってば。
ダウンロードしてソース見てみるくらいしなさいよ。
0738デフォルトの名無しさん
05/02/24 13:47:500739デフォルトの名無しさん
05/02/24 14:45:170740デフォルトの名無しさん
05/02/24 14:52:370741デフォルトの名無しさん
05/02/24 20:42:480742デフォルトの名無しさん
05/02/24 21:21:44http://comic5.2ch.net/test/read.cgi/voice/1094743936/
0743デフォルトの名無しさん
05/02/24 23:18:17THX
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違うよ。
機械語はオペランドの型によって違う値になるがニーモニックは共通だし、
逆に複数の異なるニーモニックによる表現が同じ機械語に変換される場合もある。
0748デフォルトの名無しさん
05/02/26 00:54:290749デフォルトの名無しさん
05/02/26 01:05:310750デフォルトの名無しさん
05/02/26 01:33:16Altivec?とかもCPUの機能だよね
PPCってSSEとか3D Nowみたいのあるんですかね
こんな事しか書けないヘタレですまん
0751デフォルトの名無しさん
05/02/26 13:32:15まだすっごく寒いよ
0752デフォルトの名無しさん
05/02/26 14:43:28どうやら私の質問は「寒い」質問と思われちゃったようですね・・・・
0753デフォルトの名無しさん
05/03/01 13:34:00アセンブラで同じこと書けば同じ機械語になるだろ。
そりゃオペランド違えば別の命令になることもあるけど、それはへりくつだ。
正しくは1対1じゃなくてアセンブラから機械語への全射か。
まあ、アセンブラだと未定義命令が書けないけど、未定義は機械語じゃないとすれば全射。
0754デフォルトの名無しさん
05/03/01 17:15:320755デフォルトの名無しさん
05/03/01 17:26:15(相対ジャンプの飛び先が遠いとか)
まあ細かい話だ。「ほぼ1対1」とか言っとけば問題ない。
0756デフォルトの名無しさん
05/03/01 18:46:46俺にはわからん。
0757デフォルトの名無しさん
05/03/01 19:15:54(3DCGソフト等除く)
0758デフォルトの名無しさん
05/03/01 19:18:06MMXはままある気がするがSSE,SSE2,3D Now!,A?E? 3D Now!2?とかはね
少ないと思う
0759デフォルトの名無しさん
05/03/01 19:18:310760デフォルトの名無しさん
05/03/01 20:21:12圧縮画像やら音声の伸長なんかで使ってそうだけどな。
0761デフォルトの名無しさん
05/03/01 23:58:390762デフォルトの名無しさん
05/03/02 11:38:35対応CPUもほぼ完全に普及して、速度も目に見えて違うからな。
SSEになると普通のアプリじゃ敷居が高いかもしれぬ。
0763デフォルトの名無しさん
05/03/02 12:12:18ベンチマークとかPMのこ〜だとか
もう出てからそれなりには歴史あるのにね
0764デフォルトの名無しさん
05/03/02 12:53:11整数MMX命令も使えたからけっこうトリッキーなこともしたくなったし。
(俺はIntelCPUなので使ったことない)
もはやメジャーアプリで使われることもなく、AMDのお荷物状態なのか?
0765デフォルトの名無しさん
05/03/02 14:08:350766デフォルトの名無しさん
05/03/04 02:16:00フラグレジスタをキャリー、オーバーフロー等に分けて表示できないの? この部分だけモ〜レツに使いにくいんだけど。
それともこのフラグレジスタの16進を直感で把握しろよってことなの?マジで?
もう俺、こんな時間までやっててそろそろ爆発寸前になってきたよ。 (゚Д゚)モルア!
もっとさー人類にやさしく、地球環境にもやさしい表示できないわけ?
それ以外は特に文句無しの出来でそれが無かったら、
もうね、最高なツールだよ。dddは。ddd作った奴は、神に認定できるね。殿堂入りものだよ。マジで。
お願いします。m(_ _)m
0767デフォルトの名無しさん
05/03/04 12:36:100768デフォルトの名無しさん
05/03/04 19:45:39ハードの事はよくわからないので、ここで質問させていただきます。
_asm
{
moveax,a
movebx,5
movedx,0;�@
divebx
mova,eax
}
�@の行がないとエラーになるのはどうしてですか?
0769デフォルトの名無しさん
05/03/04 20:18:43がintelのサイトから無料でダウンロードできるからそれを嫁
0770デフォルトの名無しさん
05/03/04 21:01:01C ではインラインアセンブラは定義されていません。
というお約束のツッコミは置いといて。
div が edx:eax を暗黙に要求しているのに、_asm のコンテキストで
不定になっちまってるからでしょ。
ていうかもし無理矢理コンパイル通したとしても、結果が不定になる罠。
ちうわけでリファレンス探して嫁。そもそもそのシーケンスが
何をするものなのかわかっているのかね?
0771デフォルトの名無しさん
05/03/04 23:35:22全く分かってないです。
ハード的なことの知識に関しては、飛びぬけて無知だし。
とりあえず、マニュアル読んで奮闘してみますねっ
レスありがとございました! やっぱこういうこと聞いてわかっちゃう人もいるんですね。
感心しますた。
0772デフォルトの名無しさん
05/03/05 14:40:570773デフォルトの名無しさん
05/03/08 13:48:45a/=5; みたいなコードだよ。
div命令は「edx:eax」を5で割って、結果がeaxに入りきらないとエラーを吐く仕様。
だからedxを0にクリアしておくだけ。
ってもう見てないか。
比較的まともなレスが多いんだから質問者はもうちっとかみついてほしかったな。
0774デフォルトの名無しさん
05/03/11 15:25:370775デフォルトの名無しさん
05/03/12 02:44:400776デフォルトの名無しさん
05/03/12 07:02:36gccでvolatileオプション付けてるのに吐かれるコードが違うってのはどういうことですか先生。
寝ます。
0777デフォルトの名無しさん
05/03/12 08:08:040778デフォルトの名無しさん
05/03/12 12:56:41gccスレ逝け カス
0779デフォルトの名無しさん
05/03/20 18:52:510780デフォルトの名無しさん
2005/03/25(金) 15:42:45in命令なんかで可能?
0781デフォルトの名無しさん
2005/03/25(金) 15:49:57そのようなハードウェア構成になっていれば可能。
尤も、そうであったとしても実用的かどうかは別の問題。
0782デフォルトの名無しさん
2005/03/26(土) 12:10:12確かに、普通にC使えって感じだな。
ただ、具体的にどうすればいいのかが知りたいのだ。
0783デフォルトの名無しさん
2005/03/26(土) 12:17:190784デフォルトの名無しさん
2005/03/26(土) 13:36:100785デフォルトの名無しさん
2005/03/26(土) 13:37:100786デフォルトの名無しさん
2005/03/26(土) 16:01:520787デフォルトの名無しさん
2005/03/26(土) 17:57:25経験者いない?
0788デフォルトの名無しさん
2005/03/26(土) 18:03:20Win32API質問スレへどうぞ
0789デフォルトの名無しさん
2005/03/26(土) 19:39:150790デフォルトの名無しさん
2005/03/26(土) 19:41:55無理
0791デフォルトの名無しさん
2005/03/26(土) 19:49:03春のやまじは人を喰う。
0792デフォルトの名無しさん
2005/03/26(土) 20:03:270793デフォルトの名無しさん
2005/03/26(土) 21:08:46つうかAPIだってマシン語なんだから、アセンブラで無理なわけないと思うが。
0794デフォルトの名無しさん
2005/03/26(土) 21:10:54特権ないとできないこともある。
だから OS とおさずに API を実装するなんて無理。
0795デフォルトの名無しさん
2005/03/26(土) 21:19:58ばーか!
0796デフォルトの名無しさん
2005/03/26(土) 21:25:00となると、デバイスドライバを自作するってことになるねえ・・・
DDKってので作れるから調べてみては。
0797デフォルトの名無しさん
2005/03/26(土) 21:26:31デバドラで Ring 0 特権もてる?
0798デフォルトの名無しさん
2005/03/27(日) 14:39:120799デフォルトの名無しさん
2005/03/27(日) 16:18:070800デフォルトの名無しさん
2005/03/27(日) 17:50:07特権もらえるのはわかってるんだが、
Ring 0 までもらえるのかって聞いてるんだ。
0801デフォルトの名無しさん
2005/03/27(日) 19:10:440802デフォルトの名無しさん
2005/03/27(日) 19:37:16WindowsはRing0と3だけだ。
だから普通に考えればRing0だろ。
0803デフォルトの名無しさん
2005/03/27(日) 21:41:370804デフォルトの名無しさん
2005/03/28(月) 21:30:36ラクなほうにラクなほうに考えることしか出来ないバカが増えた結果
0805デフォルトの名無しさん
2005/03/29(火) 12:04:120806デフォルトの名無しさん
2005/03/29(火) 14:47:540807デフォルトの名無しさん
2005/03/30(水) 20:46:540808デフォルトの名無しさん
2005/03/30(水) 22:59:30痛い系
0809デフォルトの名無しさん
2005/03/31(木) 06:51:470810デフォルトの名無しさん
2005/03/31(木) 08:30:360811デフォルトの名無しさん
2005/03/31(木) 09:04:280812デフォルトの名無しさん
2005/03/31(木) 15:34:05某国立大学部生の面接
技術本部長 「得意分野は?」
学生「プログラミングです」
技術本部長 「CPUと同期したプログラムを作るにはどうすれば?」
学生「・・・・・・・」
結果 推薦による受験だったが不採用
0813デフォルトの名無しさん
2005/03/31(木) 17:33:370814デフォルトの名無しさん
2005/03/31(木) 17:58:03同意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意味がわかんね。答えだしてくれ。
0819デフォルトの名無しさん
2005/03/31(木) 21:56:530820デフォルトの名無しさん
2005/03/31(木) 22:06:550821デフォルトの名無しさん
皇紀2665/04/01(金) 02:25:390822デフォルトの名無しさん
皇紀2665/04/01(金) 08:11:360823デフォルトの名無しさん
皇紀2665/04/01(金) 08:25:430824デフォルトの名無しさん
皇紀2665/04/01(金) 15:17:080825デフォルトの名無しさん
皇紀2665/04/01(金) 19:36:230826デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4798008583/
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4839909865/
0829デフォルトの名無しさん
2005/04/02(土) 18:09:550830デフォルトの名無しさん
2005/04/02(土) 19:54:58パイプラインなどない、古き善き時代の人でつか?
0831デフォルトの名無しさん
2005/04/02(土) 20:06:06Z80マスターです
そういえばうちの大学の先生がSHシリーズ開発に関わったと言っていた
0832デフォルトの名無しさん
2005/04/02(土) 21:26:08Z80なぞ誰でもマスターになれる件について
0833デフォルトの名無しさん
2005/04/02(土) 21:55:020834デフォルトの名無しさん
2005/04/03(日) 02:37:200835デフォルトの名無しさん
2005/04/11(月) 02:01:250836デフォルトの名無しさん
2005/04/11(月) 02:03:140837デフォルトの名無しさん
2005/04/11(月) 03:01:53この種のプロセッサはことごとく全滅してるな
0838デフォルトの名無しさん
2005/04/11(月) 03:40:430839デフォルトの名無しさん
2005/04/11(月) 09:34:32どういう意味ですか。
0840デフォルトの名無しさん
2005/04/11(月) 09:40:130841デフォルトの名無しさん
2005/04/11(月) 13:53:520842デフォルトの名無しさん
2005/04/11(月) 14:38:13エミュレータを介さないプログラム。
非同期・・・エミュレータ上で動いてるプログラム
0843デフォルトの名無しさん
2005/04/11(月) 14:39:390844デフォルトの名無しさん
2005/04/11(月) 17:25:010845デフォルトの名無しさん
2005/04/12(火) 01:29:100846デフォルトの名無しさん
2005/04/12(火) 01:49:350847デフォルトの名無しさん
2005/04/12(火) 16:20:020848デフォルトの名無しさん
2005/04/12(火) 16:53:480849デフォルトの名無しさん
2005/04/13(水) 07:03:34女性に大人気
0850デフォルトの名無しさん
2005/04/14(木) 18:45:33一部のフェチ男に超人気
0851デフォルトの名無しさん
2005/04/14(木) 19:32:050852デフォルトの名無しさん
2005/04/15(金) 02:12:37現在BCDコードを使う奴なんているのか?
0853デフォルトの名無しさん
2005/04/15(金) 03:25:22速いCOBOLの処理系とかが使ってそうだが
0854デフォルトの名無しさん
2005/04/15(金) 03:33:05COBOLってまだあるんだ。
0855デフォルトの名無しさん
2005/04/15(金) 06:42:05アセンブラってまだあるんだ。
0856デフォルトの名無しさん
2005/04/15(金) 08:13:30あたりまえだろう。
0857デフォルトの名無しさん
2005/04/15(金) 11:10:460858デフォルトの名無しさん
2005/04/15(金) 18:44:52さすがにネタでしょ?
・・・・・。
0859デフォルトの名無しさん
2005/04/15(金) 19:59:460860デフォルトの名無しさん
2005/04/15(金) 21:27:320861デフォルトの名無しさん
2005/04/15(金) 22:25:050862デフォルトの名無しさん
2005/04/16(土) 00:02:50恵まれない組み込み開発者か、頭の固い8bitオヤジか、
他人のソフトをクラックしていい気になってるコバンザメってとこだろう。
で、こんな場所にクオリティ高い群がいるはずもなく。
0863デフォルトの名無しさん
2005/04/16(土) 01:22:52うがーっ!!
0864デフォルトの名無しさん
2005/04/16(土) 02:55:550865デフォルトの名無しさん
2005/04/16(土) 05:14:35いや、元々処理速度とか必要ない分野ではね
膨大なソースを今も有効活用してるって
0866デフォルトの名無しさん
2005/04/16(土) 06:44:160867デフォルトの名無しさん
2005/04/16(土) 09:45:27何処かの会社の何処かの部署では
そういう事はあるかもしれないが、そういう特殊例を以って
「自動車メーカーじゃBASICが現役」のような書き方は
…って餓鬼に説明してんのか俺は。
まあ「膨大なソース」でネタ確定だな。
0868デフォルトの名無しさん
2005/04/16(土) 13:11:34まったくその通り
書き方が悪かった
0869デフォルトの名無しさん
2005/04/16(土) 13:25:39大昔の電卓のような、液晶すら出てなかった頃の
自己発光文字盤使った計算機しかない。
一番のハイテクノロジーがイッツソーヒュージなプリンタ
一昔前の家庭用ワープロよりも劣る文字打ち機。
LAN組んでるところでさえ、家でもできるようなLANだし
0870デフォルトの名無しさん
2005/04/16(土) 13:27:14⊂彡
0871444
2005/04/16(土) 16:09:370872デフォルトの名無しさん
2005/04/16(土) 17:50:140873デフォルトの名無しさん
2005/04/16(土) 19:08:470874デフォルトの名無しさん
2005/04/16(土) 19:31:260875デフォルトの名無しさん
2005/04/16(土) 20:21:39型を意識しなくて良いし
0876デフォルトの名無しさん
2005/04/16(土) 20:23:53そうだね、ちょっとアルゴリズム検証なら十分だね
0877デフォルトの名無しさん
2005/04/17(日) 12:32:32CRAY 複数台使ってるくらいなのに。
(´-`).。oO(光岡はどうなんだろ?)
0878デフォルトの名無しさん
2005/04/17(日) 12:56:12CRAYなんぞ未だに使うから(ry
0879デフォルトの名無しさん
2005/04/17(日) 18:01:450880デフォルトの名無しさん
2005/04/17(日) 18:48:05CRAYってまだあるんだ。
0881デフォルトの名無しさん
2005/04/17(日) 19:48:230882デフォルトの名無しさん
2005/04/18(月) 11:05:050883デフォルトの名無しさん
2005/04/18(月) 22:51:240884デフォルトの名無しさん
2005/04/19(火) 12:39:560885デフォルトの名無しさん
2005/04/20(水) 11:16:380886デフォルトの名無しさん
2005/04/20(水) 15:41:300887デフォルトの名無しさん
2005/04/20(水) 15:50:090888デフォルトの名無しさん
2005/04/20(水) 17:15:300889デフォルトの名無しさん
2005/04/21(木) 00:17:39CPUが違っても一緒だと思うんですが(add, sub等)
アセンブラの演算命令について紹介しているサイトってありませんか?
intel, amdを対照比較してあるとうれしいです。
0890デフォルトの名無しさん
2005/04/21(木) 00:33:23その前に、君の低レベルな発言をなんとかしろ
知識がなさ過ぎて話にならない
0891デフォルトの名無しさん
2005/04/21(木) 00:40:380892デフォルトの名無しさん
2005/04/21(木) 00:56:21バイナリエディタ使わないでアセンブラだけで改造するにはどうすればいいんだろう?
0893デフォルトの名無しさん
2005/04/21(木) 01:23:000894デフォルトの名無しさん
2005/04/21(木) 01:44:00>>892
せめて基礎の基礎の基礎知識ぐらい身につけてから書き込もう
0895デフォルトの名無しさん
2005/04/21(木) 02:16:20頭悪い煽りだな
0896デフォルトの名無しさん
2005/04/21(木) 05:34:290897デフォルトの名無しさん
2005/04/21(木) 05:54:470898デフォルトの名無しさん
2005/04/21(木) 07:26:360899デフォルトの名無しさん
2005/04/21(木) 08:12:190900デフォルトの名無しさん
2005/04/21(木) 11:28:48低レベルと低レベル言語との違いを見抜けない人は、
(アセンブラを使うのは)難しい
0901デフォルトの名無しさん
2005/04/21(木) 11:38:070902デフォルトの名無しさん
2005/04/23(土) 18:36:34区別するために「低レイヤ」と言ってくれ。
0903デフォルトの名無しさん
2005/04/24(日) 13:12:58「おおー低レベルなプログラムやってるのか」
といってしまいました。
0904デフォルトの名無しさん
2005/04/24(日) 13:28:150905デフォルトの名無しさん
2005/04/24(日) 13:38:410906デフォルトの名無しさん
2005/04/24(日) 14:15:430907デフォルトの名無しさん
2005/04/24(日) 15:58:580908デフォルトの名無しさん
2005/04/25(月) 21:35:16なんですが、
C言語のインラインアセンブラを使って
一時キャッシュへよく使うデータを入れておいて、
必要になったら使いたいのですがどうしたらよいのでしょうか?
コンパイラはVC++.netです。
一時キャッシュへ入れたいデータは
unsigned int buf[1024];に入っています。
bufの中身をすべて一時キャッシュへ入れます。
一時キャッシュからデータを取り出したいときには
eaxレジスタに値を入れるということにしてください。
ebxレジスタの値で何番のデータを取り出したいのか指定します。
0909デフォルトの名無しさん
2005/04/26(火) 01:29:300910デフォルトの名無しさん
2005/04/26(火) 02:46:52また、cpuのキャッシュから任意のレジスタへデータを渡すことはできないんでしょうか。
こういう意味です。
908は忘れてください。
0911デフォルトの名無しさん
2005/04/26(火) 02:53:240912デフォルトの名無しさん
2005/04/26(火) 02:59:14スレタイがバイオハザードのアンブレラかと思ったよ
0913デフォルトの名無しさん
2005/04/26(火) 03:41:580914デフォルトの名無しさん
2005/04/26(火) 03:44:40何転々としながら阿呆なこと聞いてるの?
0915デフォルトの名無しさん
2005/04/26(火) 05:11:56PREFETCH命令くらいしかないだろ。それに、キャッシュラインが同じデータは後書き
されてしまうし、何wayのキャッシュかぐらい調べろよ。それによっては効果が出ない
事もあるからな。
0916デフォルトの名無しさん
2005/04/26(火) 05:16:010917デフォルトの名無しさん
2005/04/26(火) 07:40:540918デフォルトの名無しさん
2005/04/26(火) 08:11:170919デフォルトの名無しさん
2005/04/26(火) 08:27:380920デフォルトの名無しさん
2005/04/26(火) 08:36:420921デフォルトの名無しさん
2005/04/26(火) 13:49:17メモリにアクセスすると勝手にキャッシュに乗る。
これはCでもアセンブラでも一緒。
buf[1024]程度ならオールL1ヒットする。
0922デフォルトの名無しさん
2005/04/26(火) 15:23:34どうやってキャッシュにデータを乗せればいいのかと考えていたのですが、
cpuが勝手にやってくれるのですね。
忘れてください。
失礼しました。
0923デフォルトの名無しさん
2005/04/26(火) 16:05:26いい加減な事を書くな
0924デフォルトの名無しさん
2005/04/26(火) 16:26:09キャッシュ無効とか(アプリからはできん)しない限りL1以外は読めない
0926デフォルトの名無しさん
2005/04/26(火) 17:31:48多分別の領域に取るんだろう
0927デフォルトの名無しさん
2005/04/26(火) 18:56:33書くレベルではないので、この件は適当に打ち切るのが正解だな。
0928デフォルトの名無しさん
2005/04/26(火) 21:33:02mov 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何ビット動かしたいのかねえ
0930デフォルトの名無しさん
2005/04/26(火) 22:29:370931デフォルトの名無しさん
2005/04/26(火) 22:41:12下位8ビットと上位16ビットの内容が上のペアと下のペアで
違ってるのは良いの?
0932デフォルトの名無しさん
2005/04/26(火) 22:45:40単純に整数演算器がいくつあるかとかならわかるけど。
それに、パーシャルレジスタストールを考えなければいけない環境も
まだまだ残ってるし。
PenMは知らないけど。
0933デフォルトの名無しさん
2005/04/27(水) 11:19:57最近はペアリングって言葉使わないよ。
PentiumのUVパイプのことだからね。
上は一応同時実行できるっぽいけどパーシャルレジスタストール食らうのでお勧めできない。
下は同時実行できないが、前後にある他の命令と同時実行してくれるケースが多いと思う。
よって下がおすすめ。
・・・同時実行よりペアリングの方がカコイイな。
0934デフォルトの名無しさん
2005/04/27(水) 13:36:53CPUの仕組みが変わったら無駄になるのがオチ
0935デフォルトの名無しさん
2005/04/27(水) 14:10:12このスレの内容の殆どが、CPUの仕組みが変わったら無駄になるのがオチ
0936デフォルトの名無しさん
2005/04/27(水) 14:20:230937デフォルトの名無しさん
2005/04/27(水) 17:53:260938デフォルトの名無しさん
2005/04/27(水) 18:31:110939デフォルトの名無しさん
2005/04/27(水) 21:02:530940デフォルトの名無しさん
2005/04/27(水) 21:55:06またMASMのお世話になるとは
0941デフォルトの名無しさん
2005/04/28(木) 12:29:330942デフォルトの名無しさん
2005/04/28(木) 12:31:100943デフォルトの名無しさん
2005/04/28(木) 13:20:18Win32スレから来ました。
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過去ログ嫁
0945デフォルトの名無しさん
2005/04/28(木) 21:51:050946デフォルトの名無しさん
2005/04/28(木) 22:42:11密度の高いスレは例外だが、最近そういうのはほとんどない。
0947デフォルトの名無しさん
2005/04/30(土) 00:38:350948デフォルトの名無しさん
2005/04/30(土) 11:17:26http://www5c.biglobe.ne.jp/~ecb/assembler2/assembler10.html
のページを参考に勉強しようとしておりますが
ftp://ftp.microsoft.com/softlib/mslfiles/lnk563.exe
ここにある16bitリンカがダウンロードできません
どこから手に入れればいいか教えていただけませんか?
宜しくお願いします
0949デフォルトの名無しさん
2005/04/30(土) 11:26:57十年早い。
つーか、自力でツールを入手できない程度の情報収集能力なら、アセンブラよりも他のスキルを磨くべきだ。
0950デフォルトの名無しさん
2005/04/30(土) 11:31:18>これからアセンブラを勉強しようと思っているPC初心者です
そこのWebサイトで紹介している、
「いまどきのアセンブラプログラミング」と
「いまどきのアセンブラの教科書」には手を出さないように。
アマゾンのレビューを見れば理由は分かると思います。
それにしても、まさかアセンブリ言語関連のWebサイトで
これらの本を紹介するなんて・・・
0951デフォルトの名無しさん
2005/04/30(土) 12:47:38「アセンブラ…(0w0)ウェーイ」に一票
0952デフォルトの名無しさん
2005/04/30(土) 12:47:53つ OpenWatcom
0953デフォルトの名無しさん
2005/04/30(土) 16:10:43保持したりしたいのですが、これはアセンブラでしかできないのでしょうか。
Windowsアプリケーション、とりわけ昔のゲームなんかでの裏わざとして使いたいのですが
0954デフォルトの名無しさん
2005/04/30(土) 16:31:22>>7
0955デフォルトの名無しさん
2005/04/30(土) 16:56:190956デフォルトの名無しさん
2005/04/30(土) 17:16:39マチクタビレタ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 次スレまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| 讃岐うどん |/
0957デフォルトの名無しさん
2005/05/01(日) 02:06:24おれは、初心者にこそ、アセンブラを勧めるが?
完全に使いこなせなくても、一通り意味が分かるようになれば、
他の言語も早く理解出来るようになるしね
0958デフォルトの名無しさん
2005/05/01(日) 03:03:320959デフォルトの名無しさん
2005/05/01(日) 06:38:340960デフォルトの名無しさん
2005/05/02(月) 00:14:55例えば0x01234567だったら12という風に。
0961デフォルトの名無しさん
2005/05/02(月) 00:20:030962960
2005/05/02(月) 00:26:47こんな方法があるようですが、そのものズバリな命令あったような気がしたので・・・
0963デフォルトの名無しさん
2005/05/02(月) 00:58:180964デフォルトの名無しさん
2005/05/02(月) 02:35:52http://www.nminoru.jp/~nminoru/programming/bitcount.html
0965デフォルトの名無しさん
2005/05/02(月) 03:10:27最近、色々な意味でメモリのコストが安いので、
8ビット、もしくは、16ビットのテーブルから
数を引っ張ってくるのも、ありかと…(↓の感じで)
bits = bit_table16[bits&0x0000ffff] + bit_table16[(bits>>16)] ;
0966デフォルトの名無しさん
2005/05/02(月) 03:39:390967デフォルトの名無しさん
2005/05/02(月) 10:38:370968デフォルトの名無しさん
2005/05/02(月) 12:46:340969デフォルトの名無しさん
2005/05/02(月) 12:55:270970デフォルトの名無しさん
2005/05/02(月) 16:41:070971デフォルトの名無しさん
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そのキャッシュのコストが高いか安いかは
>>960が作るプログラムの中での使用頻度次第
たかだか、数バイトのデータのビットを数えるだけなら
>>962の中のようなもので良いと思うし
数MBのビットを数えるなら、>>965もあり
0973デフォルトの名無しさん
2005/05/03(火) 01:53:260974デフォルトの名無しさん
2005/05/03(火) 15:52:59アセンブラマンセー
0975デフォルトの名無しさん
2005/05/03(火) 17:24:090976デフォルトの名無しさん
2005/05/03(火) 17:47:44アセンブラ (゚�听)イラネ
も、よろしいかと。
0977デフォルトの名無しさん
2005/05/03(火) 18:40:54がいいな。
0978デフォルトの名無しさん
2005/05/03(火) 20:01:390979デフォルトの名無しさん
2005/05/03(火) 23:11:040980デフォルトの名無しさん
2005/05/04(水) 00:37:200981デフォルトの名無しさん
2005/05/04(水) 00:47:100982デフォルトの名無しさん
2005/05/04(水) 01:13:130983デフォルトの名無しさん
2005/05/04(水) 03:17:41これをちょっと書き直してみる
| >> 962のバージョン5をCコンパイラで書いて実行したらgccの3倍ほど速かった。
| Cコンパイラマンセー
不思議な日本語ですね
0984デフォルトの名無しさん
2005/05/04(水) 07:18:38もうその話題はいいよ、飽きた。
0985デフォルトの名無しさん
2005/05/04(水) 08:44:13gccの四倍速くらいか。
0986974
2005/05/04(水) 10:28:23それならソースコード掲載していいでしょうか?
0987デフォルトの名無しさん
2005/05/04(水) 10:39:140988デフォルトの名無しさん
2005/05/04(水) 12:26:480989デフォルトの名無しさん
2005/05/04(水) 13:02:130990デフォルトの名無しさん
2005/05/04(水) 14:01:080991デフォルトの名無しさん
2005/05/04(水) 14:11:030992デフォルトの名無しさん
2005/05/04(水) 14:12:050993デフォルトの名無しさん
2005/05/04(水) 14:13:020994デフォルトの名無しさん
2005/05/04(水) 14:52:250995デフォルトの名無しさん
2005/05/04(水) 15:02:060996デフォルトの名無しさん
2005/05/04(水) 15:35:22http://pc8.2ch.net/test/read.cgi/tech/1115188369/l50
0997デフォルトの名無しさん
2005/05/04(水) 17:13:100998デフォルトの名無しさん
2005/05/04(水) 17:41:360999デフォルトの名無しさん
2005/05/04(水) 17:46:311000デフォルトの名無しさん
2005/05/04(水) 17:47:0010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。