06/10/15 12:34:44
そんなことより>>572は帰宅できたのかどうか
597:デフォルトの名無しさん
06/10/15 14:43:46
家がなi(ry
598:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
06/10/15 15:18:30
>>594
そんなしょぼいポンコツコンパイラなんざ使わないからしらねー。
599:デフォルトの名無しさん
06/10/15 15:20:44
>>598
gcc-4.1.1で最適化を-O3なんかにしたら最適化が変態すぎてまともにうごかないんだぜ。
600:デフォルトの名無しさん
06/10/15 17:52:03
>>598
お前半年くらい前にあーだこーだいってた気がしたが。
ありゃ可変引数リストに関してだったっけ?
601:デフォルトの名無しさん
06/10/15 18:04:44
>>598
しょぼいポンコツとは失礼な。
某大学の実習で使用されるシステムはH/Wスタックを装備していないから
メモリ空間ぜ~んぶヒープな環境だ。レジスタはアキュムレータ1つだけ。
で、課題でこのシステム向けに最適化されたANSI Cのサブセットコンパイラを
つくれというのがあったが、どんなに凝ったコンパイラを作れど、この場合
スタックを「使わない」のではなく「使えない」んだよ。
団子はそんな環境で四苦八苦したことがないだろうが。
602:デフォルトの名無しさん
06/10/15 18:07:25
おっつ失礼。「汎用」レジスタはアキュムレータ1つだけ。
レジスタは他にもあったよ。PCとか間接メモリアドレッシングで使うやつとか。
603:デフォルトの名無しさん
06/10/15 18:18:49
>>601
無能自慢はいいから
604:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
06/10/15 18:22:58
>>600
んーでもそういう環境わざわざ選ぶ理由無いよね♪
どんなマイナーCPUですか?
ちなみにJava仮想マシンなら汎用レジスタ1本のスタックマシンだよね。
それ以前の問題として、マシン語がどんなのかよくわからんわけで。
それこそ情報処理技術者でよく使われるCOMET2/CASL2かもわからんし。
Cでコンパイルしてアセンブリコード吐かせれば出せるって前提自体が
おかしいと思うわけで。
演習で使う端末ってx86とかPowerPC(ようはMac)のほうが多いと思うんだけど
605:デフォルトの名無しさん
06/10/15 19:39:54
>>603
ゴメ。自慢するつもりはなかった。ただこういう環境もあるということを言いたかっただけ。
>>604
あるよ。この流れの上流をよく見てみ。>>572で今学校の授業中ですとある。
どんな反則/時代遅れシステムを使わされるかもわからない。高機能から超低次元まで
様々な環境を考慮しなければ質問に答えることは出来ない。
そうでなくてもこの分野はどんな質問がくるか予測しづらい面もある。
肝心の質問者は何も言わず逃げやがったなw
606:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
06/10/15 19:43:12
まあ、かくいう俺も128本のレジスタと256KBのメモリ空間しかない
某プロセッサコアのシミュレータと格闘してた。
アレは気が狂いそうだ。
607:デフォルトの名無しさん
06/10/15 20:04:21
128本も、一体何に使うんだよorz
人智では管理できんな、この数じゃ。CellとかItaniumとか!
608:デフォルトの名無しさん
06/10/15 23:36:33
Sparcも結構変態チックなレジスタ管理していた気がするが。
609:デフォルトの名無しさん
06/10/15 23:38:24
やはりデータレジスタ8本アドレスレジスタ8本が最も美しい。
610:デフォルトの名無しさん
06/10/15 23:46:19
>>609
レジスタの長さは、それぞれ 1Mバイトぐらいでよろしーですか?w
611:デフォルトの名無しさん
06/10/15 23:48:43
奇数アドレスにアクセスすると転けるCPUなんて嫌いです。
612:デフォルトの名無しさん
06/10/16 00:21:15
>>611
68000のことですか?
613:デフォルトの名無しさん
06/10/16 00:27:10
中途半端に遅くなって動かれるくらいなら落ちてくれた方がいいけど。
614:デフォルトの名無しさん
06/10/16 01:29:07
すみませんがわからないので教えてください・・・
お願いします
次の命令群を実行した結果を説明せよ
CLR R0
ADD #1 R0
ADD #2 R0
ADD #3 R0
ADD #4 R0
次の命令群を実行した結果を説明せよ
MOV #100,R1
CLR -(R1)
CLR -(R1)
CLR -(R1)
CLR -(R1)
次の命令群を実行した結果を説明せよ
CLR @#100
解答は○○○○番地を××に、R0を△△△△にする
という形でできるだけ詳しくお願いします
本当にお願いします ・・・
615:デフォルトの名無しさん
06/10/16 01:42:53
実行すればわかる
616:デフォルトの名無しさん
06/10/16 02:30:42
お願いします。。。課題なのですが明日までなんです・・・
617:デフォルトの名無しさん
06/10/16 02:43:23
明後日になったら答えてやる
と念を押しておいても誰かが先に答えちまうんだろうな
偽善もほどほどにしとけよ?
618:デフォルトの名無しさん
06/10/16 02:45:27
宿題スレじゃ無いしな。
619:デフォルトの名無しさん
06/10/16 02:48:32
すみません・・宿題スレがないので・・・
本当にお願いします・・教えてください
620:デフォルトの名無しさん
06/10/16 02:52:45
そもそもどのCPUを使っているのかなどの最低限の情報が与えられていないのではなぁ。
621:デフォルトの名無しさん
06/10/16 03:36:39
すみませんわかりません・・
それしか書いてないので・・・
PDP11ってやつですかね・・?
オペランドとか・・
自分も授業で少ししただけで全然わからないんです・・・
教えてもらえないでしょうか。。。
622:デフォルトの名無しさん
06/10/16 03:51:59
>>621
PDP11のアセンブラのマニュアルならここにあるからしっかり勉強しろ。
URLリンク(www.bitsavers.org)
623:デフォルトの名無しさん
06/10/16 04:00:17
おぉ、こんなものをこんなところで入手できるとは
いいものを手に入れた。マジサンクス>>622
624:デフォルトの名無しさん
06/10/16 04:32:48
>>622
わかりました
勉強はします
そのマニュアルは全部英語でよくわかりませんが・・
でも締切りが今日なんです・・・
とりあえず答えを教えてもらえないでしょうか・・・
もう時間が・・・
お願いします
625:デフォルトの名無しさん
06/10/16 04:38:51
>>624
そうやって2chに張り付いてうだうだ書いている暇に、英和辞典片手にマニュアル読めよ。
626:デフォルトの名無しさん
06/10/16 04:42:53
課題のほうも煮詰まっているようだから>>614のサンプルに関連するページだけ抽出して
>>622から抜粋してみた。この辺を重点的に読んで、あとは自分で解決してね。
(問1)
2オペランドアドレッシング(double operand addressing) … 3-2 (30)
クリア(clr)命令 … 4-6 (52)
加算(add)命令 … 4-25 (71)
(問2)
直接アドレッシング(direct addressing)と自動デクリメント(autodecrement) … 3-4 (32)
転送(mov)命令 … 4-23 (69)
(問3)
差分(間接)アドレッシング(differed (indirect) addressing) … 3-10 (38)
今君が手元で使っているであろう某系のCPUよりも随分素直で理解しやすいよ。
627:デフォルトの名無しさん
06/10/16 04:53:36
Cで書くならこうかな?
register short int r0 = 0;
r0 += 1;
r0 += 2;
r0 += 3;
r0 += 4;
register short int r1 = 100;
*--r1 = 0;
*--r1 = 0;
*--r1 = 0;
*--r1 = 0;
*(short int *)100 = 0;
628:デフォルトの名無しさん
06/10/16 04:55:04
おまいら優しすぎ。
629:デフォルトの名無しさん
06/10/16 04:57:31
まってください
>>626
わざわざありがとうございます
ですがその資料ホントに読めません・・・
あと習い始めたばかりでまだ実行とかは全く習ってないししたこともないんです
書いてある問題の意味すらわからなくて、今答えの見当もつかない状態なんです・・
本当にお願いします・・
630:626
06/10/16 04:58:52
おわwww間違えてるしw
問3は差分アドレッシングの問題じゃないわ。何に気をとられていたのやらorz
問3はたぶん絶対アドレッシング(absolute addressing)の問題。
関連ページは 3-12 (40)
>>627
それほぼ答えじゃんorz
ま、俺は別にいいけどね。
631:デフォルトの名無しさん
06/10/16 05:00:17
確か @ やら # はウニッ糞のシェルにとって特別な意味があるので
UNIックソのPDP11アセンブラは>>622とは違う文字使っていたような希ガス
632:630
06/10/16 05:02:18
関連ページは3-12・・・じゃなくて本当は 3-13 (41)
また間違えましたよ。
すぐ隣のページだけどね:-p
633:デフォルトの名無しさん
06/10/16 05:05:28
>>627
× register short int r1 = 100;
○ register short int *r1 = 100;
634:デフォルトの名無しさん
06/10/16 05:07:04
>>627
ありがとうございます
でもCは全く習ってなくて、何が書いてあるのか理解できません・・・
本当にすみません
できれば>>614の形式で教えていただけないでしょうか・・
手書きで説明を書いて提出するので・・・
>>630
わざわざ報告ありがとうございます
635:デフォルトの名無しさん
06/10/16 05:15:23
おまい、貴重なPDP11のマニュアルを拾ってきてもらって、その212頁もある
マニュアルの中から僅かな量のエッセンスを抽出してもらって、あまつさえ
重要語句に日本語を付加されてまでまだ「読めません」かよ。
読めないのではなくて 読 ん で い な い だろ。
今から>>622読んで理解しろ。実際ここにいる連中も1時間程度で読んで理解しているんだ。
636:デフォルトの名無しさん
06/10/16 05:18:20
>>635
それとCのソースもな。
637:デフォルトの名無しさん
06/10/16 05:30:50
おまいら優しすぎ
638:デフォルトの名無しさん
06/10/16 05:42:08
解説者が一人多役の自演でなければ、の話だが。
639:デフォルトの名無しさん
06/10/16 05:51:08
30分ほど読みましたがやはりわかりませんでした・・・
教科書読んでも全然わからなくて・・・
>>627はどういうことなんですか・・?
実行結果・・?
もういやだ・・もうこんな時間・・どうにもできない・・・だれか・・
640:デフォルトの名無しさん
06/10/16 06:07:13
>639
残念でした。
2chに聞いたのが間違いなんだよ
何でもサポートセンターじゃない
先生のところへ行って直接手取り足取り教えて貰いな
親切に教えて、しかも学ぶ事そのものまで教えてまでいるスレ住人を
裏切り続けてるのは外ならぬお前なんだと言う事を覚えておけよ?
641:デフォルトの名無しさん
06/10/16 06:09:32
ネタかも知れないレスにマジレスしちまった。
そろそろ寝るか。
30分ぐらい。
642:デフォルトの名無しさん
06/10/16 06:18:11
提出物なので先生には教えてもらえません・・・
裏切り続けてると言われても・・言われたことはしました・・
その上でなら仕方ありません・・
時間があるのならゆっくり勉強すればいいかもしれませんが、もう時間がなくて一から勉強することができません・・・
だからもう・・・
643:デフォルトの名無しさん
06/10/16 06:23:02
ここまでヒント貰って分からないんなら、もう単位は諦めるしかないんじゃない。
人の答え丸写しして本人は理解してないのに単位取るなんて不正だし。
644:デフォルトの名無しさん
06/10/16 06:23:44
課題出されてから提出期限まで幾らか時間があったんだろ?
くだらん言い訳はするな。
それに提出物だから教えて貰えないというのもおかしな話だ。
質問を受け付けてくれない先生か。さぞお気の毒だこと。
そうやって言い訳し続けて、裏切り続けるがいいさ。
と、漏れもマジレス
645:デフォルトの名無しさん
06/10/16 07:06:33
お願いします・・・
何を言われてももうこれしかありません・・・
646:デフォルトの名無しさん
06/10/16 07:09:06
もういい加減愛想が尽きたよ。
答えを教えたって豚に真珠だろうさ。
647:デフォルトの名無しさん
06/10/16 07:21:02
それでもお願いします・・・
648:デフォルトの名無しさん
06/10/16 07:51:54
おまえら優しいな。
2chでこんなに優しくしてもらえるなんてそうないぞ。
問1ぐらいは分かるだろ。
ま、残りは空欄でも仕方ないな。
649:デフォルトの名無しさん
06/10/16 08:00:04
問1すらわからないなら単位はあきらめた方がいいな
650:デフォルトの名無しさん
06/10/16 08:22:28
なんじゃここ、昼夜逆転したニート君どもがが学生君を嬲ってやがるw
やっぱりヒキニト君ってイライラが溜まってるんだね。
そんなの俺なら「宿題は自分でやれよ」の一言で済ますけど。
651:デフォルトの名無しさん
06/10/16 11:21:27
r0が
652:デフォルトの名無しさん
06/10/16 11:23:32
失敗
r0がゼロレジスタか否かで結果が変わるな
PDP11が確実でなければ
653:デフォルトの名無しさん
06/10/16 12:25:35
時間が無いなんて何を言ってるんだ?
学生なら幾らでも時間はあるだろ
4年で卒業できる実力が無いならおとなしく留年しろ
それが世のためだ
654:デフォルトの名無しさん
06/10/16 12:26:48
あと30分でその授業が始まります‥
本当にお願いします…
655:デフォルトの名無しさん
06/10/16 12:42:11
このスレタイに使われている顔文字の意味がわからくなってきたぞ。
始めて↓のスレタイを見たときは、
アセンブラ… (;´Д`) ハァハァ (Part6)
スレリンク(tech板)
ああなるほど、アセンブラだから汗んブラってことで
汗をかいているって意味か、もしくはブラジャー見てハァハァ言ってるのかって
意味なのかとわかった。んだが・・・
656:デフォルトの名無しさん
06/10/16 12:53:52
>>655
そういう意味はないぜ。
伝統的に「Part*」でなく顔文字でスレ名つけてるだけで。
そのスレタイだったら、アセンブラにハァハァしてると
解釈するのが自然で、汗とかけてるわけじゃない
657:デフォルトの名無しさん
06/10/16 13:26:09
汗まみれのブラジャー着けたままセックスして感じてる女がハァハァいってる
ところを想像した
やばい、想像しただけで勃起する
658:デフォルトの名無しさん
06/10/16 14:14:38
あぁ、、PDP-11とは懐かしいな。何でPDP-11なのか分からんけど。実機で動いた方が絶対に面白いし、分かり易いのに。MIPSとかでいいのにな。いや、漏れも大学の時のアセンブラ講義はPDP-11のシミュレータだったけどさ。
659:デフォルトの名無しさん
06/10/16 14:14:58
全く知らない漏れでも>>622のマニュアル流し読みしたら理解できた。
わからないとか言ってる奴は絶対に問題を自力で解こうと思ってないし、
マニュアルも英語だからという理由で読もうともしてない。
以下、アドレスや数値は8進数表記
問1
R0を000000にする
R0に1を加算する→R0は000001
R0に2を加算する→R0は000003
R0に3を加算する→R0は000006
R0に4を加算する→R0は000012
問2
R1を000100にする
000100番地を000000にする、R1を000076にする
000076番地を000000にする、R1を000074にする
000074番地を000000にする、R1を000072にする
000072番地を000000にする、R1を000070にする
問3
000100番地を000000にする
660:デフォルトの名無しさん
06/10/16 14:19:59
>>659
たんなる釣りだろ。
661:デフォルトの名無しさん
06/10/16 15:06:00
8進数か、手強いな。16進数に慣れきってしまった今となっては。
662:デフォルトの名無しさん
06/10/16 15:37:49
英語がどうとか逝っても肝心の所は図とか記号あるから英語あんま読めなくてもだいたいわかるし
663:デフォルトの名無しさん
06/10/16 15:47:53
アセンブラの宿題スレもそこそこ需要があるみたいだね。
このスレを見る限り。(>>36-55,>>88-98,>>191-207,>>244-254,>>572-605,>>614-659)
こちらに質問された方はお気の毒でした。結局間に合ってないよね。
でも、資料提供から問題箇所の切り出し、C言語による整理とここでこんなに
丁寧に指導してもらえることってそうはないから、努力して理解に努める
姿勢を見せれば良い方向に転んだかもしれないあたり、少し残念。
それはさておき。
ここの姉妹スレとしてアセンブラの宿題スレを立てようと思うが、どうだろうか。
意見がなかったら近いうちに立てるよ。住人さんが定着するかどうかはわからないけど。
664:デフォルトの名無しさん
06/10/16 16:12:14
>>36って5月だよな。月1回程度って少なくない?
665:デフォルトの名無しさん
06/10/16 16:22:41
宿題スレ、立ててみるのは面白いと思うよ。
スレタイに「宿題」「質問」「アセンブラ」などの単語が入ってれば
ある程度人は集まると思う。
過疎化や実質非宿題スレ化などが懸念されるが、
ネタが増えそうな気もするし、俺は立てるのに賛成。
666:デフォルトの名無しさん
06/10/16 16:39:46
月一回程度、これを多いと思う香具師はいないものとして。
少なすぎるか、適量かで意見が分かれそうだな。
このペースだと複数問題のパラレル同時進行てな事態はそうは起きないだろうから
漏れは丁度いいと思う。もうちょい増えても構わんが。
667:デフォルトの名無しさん
06/10/16 17:33:55
いらねーだろ。
本音としては、ここに集う宿題君を肴にしてお前らと暇つぶしするのがいい。
宿題は自分でやれ。2chはお前らの代返君じゃねーんだぞと。
668:デフォルトの名無しさん
06/10/16 18:05:39
宿題スレを肴にすればいい。
それに、質問して来た人を直接ここで肴にするのは
ちょっと気が引けるし。
669:デフォルトの名無しさん
06/10/16 18:12:28
近頃のアッセン使いは意地が悪いですね
670:デフォルトの名無しさん
06/10/16 18:41:17
実はただのニートだからなw
671:デフォルトの名無しさん
06/10/16 18:45:56
>>659
> 問2
おしい。32ページ。
> -(Rn) Register is decrimented and then used as a pointer.
つまり、まず減算してからポインターとして使う。
672:デフォルトの名無しさん
06/10/16 20:57:01
問題:
STC
SBB EAX,EAX
ADD EAX,13
DEC EAX
XOR EAX,9
NOT AX
SHL EAX,8
上の命令を実行した後、EAXに入っている値を10進法で求めよ。
673:デフォルトの名無しさん
06/10/16 21:58:43
>>672
じぶんでやれかす
674:デフォルトの名無しさん
06/10/16 21:59:50
「~を求めよ」ってテスト問題の答えに
「じぶんでやれかす」って一度書いてみたいなw
675:673
06/10/16 22:01:51
暇つぶしで回ってただけだからおれもわかんねーよwww
676:デフォルトの名無しさん
06/10/16 22:03:48
えーと13たして9かけて8でわるのかな?
677:デフォルトの名無しさん
06/10/16 22:14:07
汗まみれのブラジャー↑アッー!↓
678:デフォルトの名無しさん
06/10/16 22:48:25
16770816
679:デフォルトの名無しさん
06/10/16 23:22:10
これか
スレリンク(mmosaloon板)l50の172
↑URLリンク(www.usamimi.info)
いつまでもこんなことやってたら高校生とかになっても厨のままだよ
680:デフォルトの名無しさん
06/10/16 23:27:11
16777216だよ
681:デフォルトの名無しさん
06/10/17 07:01:21
アセンブラ面白い問題教えてスレとか面白そうじゃないか?
誰か建てろ。
682:デフォルトの名無しさん
06/10/17 15:07:18
仮にアセンブリ宿題スレ作るにしても、テンプレどうするよ?
質問者は、質問の際に以下の項目を記入する事。
【機種】
【CPU】
【アセンブラ】
※判らない人は判る範囲で埋めて下さい。
アセンブリは環境によってコードが異なるります。
3つとも空欄や不明の場合、回答者が趣味で使っている環境で答えますが
それがあなたの環境で実行出来るか否かの保障は出来ません。
683:デフォルトの名無しさん
06/10/17 15:18:02
s/答えますが/気が向いたら答えるかも知れませんが/
684:デフォルトの名無しさん
06/10/17 16:00:27
最低限CPU名だけは書いてもらうことを優先すべきでないかな。
もちろんわかる人には環境を詳しく書いてもらうとして。
685:デフォルトの名無しさん
06/10/17 16:04:56
> コードが異なるります。
686:デフォルトの名無しさん
06/10/17 16:29:58
アセンブラ
アセンブリ
アセンブル
687:デフォルトの名無しさん
06/10/17 16:43:58
アセンブリ言語をアセンブルするのがアセンブラだが、
アセンブリ言語を指してアセンブラと言うことも多い。
688:デフォルトの名無しさん
06/10/17 17:26:57
アセンブラ
アセンブリ
アセンブル
アセンブレ
アセンブロ
つっこみいれてやれよ。
689:デフォルトの名無しさん
06/10/17 23:00:47
アセンブロとはきどんなお風呂ですか?
690:689
06/10/17 23:01:30
余計な「き」が入った
吊ってくる
691:デフォルトの名無しさん
06/10/17 23:30:02
1.[8091h][8090h]←[8080h]*2+[8081h] 和を16ビットで求める
2.[8085h]←[8051h]+[8052h] を計算し、符号付2進数加算としてのオーバーフローを判定する
この二つを8085プログラムで書けという問題なのですがまったく分かりません。
どなたか分かる方教えてください。よろしくお願いします。
692:デフォルトの名無しさん
06/10/17 23:49:46
宿題スレに逝け
693:デフォルトの名無しさん
06/10/18 00:05:04
>>691
宿題スレに逝け
アセンブラの宿題質問スレ
スレリンク(tech板)
694:デフォルトの名無しさん
06/10/18 00:11:22
結局立てたんかい。
次からテンプレに追加せんとな。
695:デフォルトの名無しさん
06/10/18 00:42:24
Z80ならよく覚えているんだがなぁ~。i8085は知らんわ。残念。
696:デフォルトの名無しさん
06/10/18 00:58:48
>>688
まるでソンブレロみたいだ
697:デフォルトの名無しさん
06/10/18 01:50:04
3 名前: デフォルトの名無しさん [sage] 投稿日: 2006/10/18(水) 00:06:56
ファミコンアセンブラはまじで楽しい。
それ以外のアセンブラなんて人間にすすめるもんじゃない。
698:デフォルトの名無しさん
06/10/18 06:29:45
あんな変態アーキテクチャ、人に勧められるものかよ。
まあ、x86系の石よりはマシだが。
68000の優るものは何もない。
699:デフォルトの名無しさん
06/10/18 06:36:39
68kは遅いのが致命的だな。
JAVAチップだって結局(ry
700:・∀・)っ-○◎○新世紀ダンゴリオン ◆DanGorION6
06/10/18 06:37:48
ナーシャ・ジベリを越える天才現るか?
701:デフォルトの名無しさん
06/10/18 09:22:08
彼は今何をしているのだろう?
702:デフォルトの名無しさん
06/10/19 19:45:53
アセンブリをアセンブラでアセンブルすんだよ
アセンブラをアセンブラでアセンブルする厨は(・∀・)カエレ!
703:デフォルトの名無しさん
06/10/20 00:14:57
アセンブラってやっぱ C で書かれてるのかな?
704:デフォルトの名無しさん
06/10/20 00:24:20
>>703
そういうのもそうでないのもある。
awkで書かれてるのとかもあるよ
705:デフォルトの名無しさん
06/10/20 00:27:38
>>703
普通の言語のコンパイラならともかく、
アセンブラは何も考えずにアセンブルできるから
言語は何でもいいんじゃないの。
706:デフォルトの名無しさん
06/10/20 01:18:25
漏れは8085アセンブラをbasicで書いたぞ。
707:デフォルトの名無しさん
06/10/20 03:04:40
シナプスで書かれたアセンブラもあるな
勝手に最適化してくれるらしいぞ
708:デフォルトの名無しさん
06/10/20 06:31:39
紙とエンピツで入出力
709:デフォルトの名無しさん
06/10/20 07:36:04
こういうのって許されるやり方ですか?
もしかして相当する命令あるのかなぁ
初心者ですいません・・・
0100 mov AX,0300
0103 push AX ; Arg1
0104 call 200
0200 mov AX,SP
0202 add AX,2
0205 mov SP,AX
0207 ret
0300 int 20 ; おわり
710:709
06/10/20 07:38:30
板汚しすいません。解決しました
711:デフォルトの名無しさん
06/10/20 13:06:04
mov ax, 0x300
push ax
call TEST
TEST:
push bp
mov bp, sp
mov ax, [bp + 4]
pop bp
ret
普通はこんな風に使う。
アセンブリ言語プログラムをCから呼ぶのと同じ感じ。
上のはnasm16bitプログラムで書いてある。
そのためbp+4なのだ。
+4な理由は、戻りアドレス16bitとbpをプッシュした16bitで合計4バイトってこと。
712:デフォルトの名無しさん
06/10/20 13:38:16
>>711
引数で渡された値に帰り先を変更したいようだから
それではやってる事が全く違うんじゃないか?
713:デフォルトの名無しさん
06/10/20 13:42:00
>>711
偉そうに嘘を教える知ったか乙
714:デフォルトの名無しさん
06/10/20 14:05:59
うははwwwちゃんと読んでいなかったwwwww
吊って来るorz
715:デフォルトの名無しさん
06/10/21 02:50:55
mov ax,[si+1]はOKで
mov ax,[di+1]はNGですか?
716:デフォルトの名無しさん
06/10/23 11:34:17
>>709
retの戻りアドレスをArg1に変更したいだけならこうじゃないか?
0100 mov AX,0300
0103 push AX ; Arg1
0104 call 200
0200 pop AX ; 本来のret先をスタックから取り除く
0201 ret ; 103でpushした値がスタックトップなのでそこにretする
0300 int 20 ; おわり
717:デフォルトの名無しさん
06/10/23 15:15:42
すいません。
入る大学間違えたんですが。
718:デフォルトの名無しさん
06/10/23 17:24:31
>>717
だから?
719:デフォルトの名無しさん
06/10/23 17:35:06
>>717
よくあることだ。気にするな。
720:717
06/10/23 17:44:40
すいません。
誤爆です。
(なぜか向こうにレスがつかなかった。)
721:デフォルトの名無しさん
06/10/23 17:45:08
>>720
ret
722:デフォルトの名無しさん
06/10/23 18:32:58
retって何?
723:デフォルトの名無しさん
06/10/23 19:24:31
iret
724:デフォルトの名無しさん
06/10/24 07:09:34
irete
725:デフォルトの名無しさん
06/10/24 08:07:59
アッー!
726:デフォルトの名無しさん
06/10/24 10:05:42
MASM Ver8はどこで手に入りますか?
727:726
06/10/24 10:10:23
ごめんなさい。
>>147にありました
728:デフォルトの名無しさん
06/10/24 13:36:18
dwordってなんですか?
729:デフォルトの名無しさん
06/10/24 13:44:42
どうbぇをrd
730:デフォルトの名無しさん
06/10/24 13:53:05
4バイト?
731:デフォルトの名無しさん
06/10/24 14:01:41
DWORDはDOUBLE WORDなのでWORD2つ分。
ただし、WORDが何バイトか、あるいは何ビットかは知ったこっちゃない。
732:デフォルトの名無しさん
06/10/24 15:33:36
2CHとはアセンブラでどんな意味ですか?
733:デフォルトの名無しさん
06/10/24 15:40:22
jmp @-1
734:デフォルトの名無しさん
06/10/24 18:15:29
?
735:デフォルトの名無しさん
06/10/24 18:26:32
2ちゃんのことじゃないですよ2CHの意味することを教えてください
736:デフォルトの名無しさん
06/10/24 18:32:33
2CHは16進法としか解釈できないよね。
10進法なら44だ。
これが表す命令はCPUによって違うが、
1byteの2CH命令を持つCPUって何だろ。
737:デフォルトの名無しさん
06/10/24 18:33:28
ありがとうございます
738:デフォルトの名無しさん
06/10/24 18:35:59
なーんだ。そういう事か。
マジレスすると、炭素と水素が結合した物が2個。
739:デフォルトの名無しさん
06/10/24 23:15:41
そりゃ無理だ。
740:デフォルトの名無しさん
06/10/24 23:52:37
>>736
z80なら
inc l
741:736
06/10/24 23:59:54
>>740
サンクス。
742:デフォルトの名無しさん
06/10/25 10:56:51
>>740
ザイログフォーマットではxxxhという表現は無いな
2chだとインテルフォーマットだと思うぞ
だから INC L だな
743:デフォルトの名無しさん
06/10/25 11:21:37
俺が思うに、やっぱりね、良い音楽もあるけど悪い音楽もある!
744:デフォルトの名無しさん
06/10/25 11:37:03
iret
745:デフォルトの名無しさん
06/10/25 11:58:45
>>743
いい音楽って例えばどういうの?
746:デフォルトの名無しさん
06/10/25 12:55:15
inc l
747:デフォルトの名無しさん
06/10/25 13:25:02
アニオタ帰れ
748:デフォルトの名無しさん
06/10/25 22:46:00
そういやアニメ界には
搭乗してるユニットのOSを書き換えながら
戦闘するパイロットが居るんだっけか
749:デフォルトの名無しさん
06/10/25 22:54:05
>>748
しーぽん
750:デフォルトの名無しさん
06/10/26 01:51:03
>>748 実は別OSがその下で動いていたらどうだろう?止めることなく書き換えも可能になるな。
751:デフォルトの名無しさん
06/10/26 01:54:16
無停止システムなんかだと実行中のOSにパッチ当てるぐらいはできて当然。
752:デフォルトの名無しさん
06/10/26 01:57:33
無停止システムってなんだよ?
てか、なんちゃら機関と同じで実現できないだろ。
753:デフォルトの名無しさん
06/10/26 02:04:47
スーパーバイザモードで動いてるOSの下に
ユーザーモードで動いてるOSがいくつも走ってて
そっちを書き換えてた可能性は十分ある。
それほど不自然ではない気もするぞ。
別に0から全てのコード書き上げたってんじゃないんだろう?
754:デフォルトの名無しさん
06/10/26 02:17:04
迂闊に特権コード書き換えられるようではそれ自体がセキュリティホールになりかねないが、
OSのカーネルだろうがメモリ上の単なるデータに過ぎないんだから、適切な権限さえあれば
いくらでも書き換えることができる。アーキテクチャにもよるけどな。
755:デフォルトの名無しさん
06/10/26 02:19:01
>>752
勧善懲悪覗機関
756:デフォルトの名無しさん
06/10/26 02:41:26
アセンブリは無敵ってこった。C言語すらもただのゴミに見える…
757:デフォルトの名無しさん
06/10/26 03:56:04
無敵かもしれんが、おいらには難解過ぎるよ。
全然勉強が進まん…orz
758:デフォルトの名無しさん
06/10/26 11:16:36
種の話ならRTOS上のアプリが糞だったのでスケジューラと制御ライブラリの呼び出しパラメータに機体の癖を考慮した誤差を加えただけみたいに見えた
759:デフォルトの名無しさん
06/10/26 12:07:39
よくわからんが、俺もコーディネーターになりてえよw
760:デフォルトの名無しさん
06/10/26 12:32:12
ようするに篠原の技術は世界一って事だ
761:デフォルトの名無しさん
06/10/26 17:20:36
ネルガルだよ
762:デフォルトの名無しさん
06/10/26 18:24:59
>761
オモイカネがOSだったんだw
763:デフォルトの名無しさん
06/10/27 00:14:18
>>759
希望はよくわかった。
今日から君はコーダーだ。
764:デフォルトの名無しさん
06/10/27 02:08:24
今日から僕はリコーダーだ。
765:デフォルトの名無しさん
06/10/27 07:41:49
きょうから俺はあの娘のリコーダーだと申したか
766:デフォルトの名無しさん
06/10/27 08:24:40
>>763
極悪人事だな
767:デフォルトの名無しさん
06/10/27 13:26:34
僕のバズーカ凄いんだぞ(涙目)
768:デフォルトの名無しさん
06/10/27 15:30:01
>>765
おっさんの喘ぎ声がでるようなリコーダーはいりません!
769:デフォルトの名無しさん
06/10/27 16:15:05
すいません。質問です。
486CPUでCR0レジスタの30と29ビット目を1にすると
キャッシュ機能を無効にすることが出来るのでしょうか?
770:デフォルトの名無しさん
06/10/27 16:27:13
キャッシュの破棄もしなきゃいけないんじゃない?
771:デフォルトの名無しさん
06/10/27 16:29:42
1次キャッシュを無効にしてWindowsを立ち上げるとすごく遅いね。
772:デフォルトの名無しさん
06/10/30 03:26:21
初期のNetwareはHDD引っこ抜いても動いてたとかとか。
773:デフォルトの名無しさん
06/10/30 15:02:59
私の頭は利口だ
774:デフォルトの名無しさん
06/10/30 16:01:34
あなたの頭には利く口があるのか
775:デフォルトの名無しさん
06/10/30 16:02:32
ログ読んだけどアセンブラ書くのに一番簡単な言語って
Rubyとかじゃないの?
776:デフォルトの名無しさん
06/10/30 20:30:24
>>775
よく分からないがTTLですらアセンブラは存在していたのになぜRubyなんか持ち出す?
awkで十分だよ
777:デフォルトの名無しさん
06/10/30 22:10:47
それpl(ry
778:デフォルトの名無しさん
06/10/30 23:18:47
TTLでアセンブラ?
ビットスライス組み合わせてニーモニックからバイナリへの変換でもしてたん?
779:デフォルトの名無しさん
06/10/31 07:34:25
nasmが開発停止したと思ったら、flat assemblerなんてのが出てるんだな。
互換性はあるともないとも書いてないのが…使ってる香具師いる?
780:デフォルトの名無しさん
06/10/31 08:20:28
無いだろ。ただ構文わかりやすいな。
nasm派はYASMでおk
781:デフォルトの名無しさん
06/11/02 13:03:08
>>691
お前の大学特定した
782:デフォルトの名無しさん
06/11/04 05:41:08
お前の自宅特定したw
783:デフォルトの名無しさん
06/11/04 13:24:43
お前の性癖特定した
784:デフォルトの名無しさん
06/11/05 11:17:02
ばれた!ずらかれ!
785:デフォルトの名無しさん
06/11/07 01:36:59
おまえも好きだろ?ハイヒール
786:デフォルトの名無しさん
06/11/07 01:40:21
ブルマ復活きぼんぬ
787:デフォルトの名無しさん
06/11/07 05:38:35
天然のブルマってもう絶滅したの?
788:デフォルトの名無しさん
06/11/07 06:18:24
>785
「Romanticが止まらない」なら好きだな
789:デフォルトの名無しさん
06/11/07 06:23:44
ブールーマー(・∀・)イイ!
ブールーマー(・∀・)イイ!
あんぱーんあんぱーんあんぱんあんぱん
あん!ぱん!
790:デフォルトの名無しさん
06/11/07 10:27:01
>>785
ハイヒール大好きだけどバンプスとミュールも大好き
カノジョできたら無理矢理はかせてやりたい
791:デフォルトの名無しさん
06/11/07 13:15:54
バレーボールのブルマじゃね?
792:デフォルトの名無しさん
06/11/11 00:58:56
>>790
夏の薄着にはピンヒールのサンダルがちょっとイイ
793:デフォルトの名無しさん
06/11/16 05:24:25
組み込み技術者足りねえってよ。
みんな、がんがれ
794:デフォルトの名無しさん
06/11/16 20:49:50
今どきは組み込みもほとんどCで出来ちゃうんじゃなかろうか。
795:デフォルトの名無しさん
06/11/16 23:41:05
汗ブルマで掻くのはスタートアップルーチンと割り込みハンドラくらいだな
796:デフォルトの名無しさん
06/11/17 09:36:20
コンパイラが使って欲しくない命令使うんで、インライン使わざるを得なかった
そもそもいらん信号出すような命令残しておくなよ。バグだろ?>某社
797:デフォルトの名無しさん
06/11/17 10:56:54
>>796
過去への優しさです。
798:デフォルトの名無しさん
06/11/17 12:07:06
そんな優しさなんて要らない
799:デフォルトの名無しさん
06/11/17 12:21:00
>>797
おまえの優しさが人を傷つけていることになぜ気づかない?
800:デフォルトの名無しさん
06/11/17 14:28:58
>>799
それは仕様です
801:デフォルトの名無しさん
06/11/17 16:20:18
「愚か者は己が愚かなことに気づかない」
802:デフォルトの名無しさん
06/11/18 22:35:35
「ぬるぽはぬるぽ」
803:デフォルトの名無しさん
06/11/18 23:34:19
>>802
「ガッはガッ」
804:デフォルトの名無しさん
06/11/19 18:11:49
愚か者は愚か者であると見抜ける人でないと
(アセンブラを使うのは)ぬるぽ
805:デフォルトの名無しさん
06/11/20 10:08:39
アセンブラ、アメリカ専用ブラウザなんでしょ。
806:デフォルトの名無しさん
06/11/20 14:04:08
小林亜星専用ブラジャーです
807:デフォルトの名無しさん
06/11/20 14:22:00
それはあなたを幸せにしますか?
808:デフォルトの名無しさん
06/11/20 19:26:33
亜星が人々を幸せにすることはありません
809:デフォルトの名無しさん
06/11/23 11:25:49
パッとさいでりあ~♪
810:デフォルトの名無しさん
06/11/25 00:22:11
ちょっと質問。
nasmで作ったobjファイルをリンクして、ベタファイルとして出力できるようなフリーのリンカーってある?
例えば、
db 0,1,2,3
ってだけのa.asmと、
db 4,5,6,7
ってだけのb.asmをアセンブルしてそれぞれa.obj、b.objを作り、それをリンクして
0,1,2,3,4,5,6,7
というバイナリファイルを作れるようなの。
alinkでは無理だったんだが・・・
811:デフォルトの名無しさん
06/11/25 00:24:04
>>810
コードに明示されない順番依存ってリロケートとしておかしくないの?
812:デフォルトの名無しさん
06/11/25 00:33:29
>>811
ごめん、サンプルは適当に書いた。
要は、exeとして必要な部分を一切省いた、純粋にアセンブラで記述した部分だけを出せるリンカーって事で。
nasmで-f BINを指定したときと同じようなイメージ。
813:デフォルトの名無しさん
06/11/25 09:50:16
昔はexe2binを使ったり自分で切り出したりしていたな
objと言われてもOMFかcoff(win32)かわからない
OMFならobj2binがgoogleでヒットするな
814:デフォルトの名無しさん
06/11/25 10:07:04
nasm -fbin a.asm
nasm -fbin b.asm
copy /b a+b hoge.bin
じゃ駄目なの?
815:デフォルトの名無しさん
06/11/25 11:02:32
Microsoft Macro Assembler 8.0 (MASM) パッケージ (x86 用)
URLリンク(www.microsoft.com)
816:810
06/11/26 23:38:21
レス㌧
>>813
一応どちらでも出せるんで、ツールに合わせます。
>>814
a.asmからb.asmにあるラベルを参照したりすることがあるので、単純にくっつけるのはまずいです。
>>815
MASMのマニュアル?を探してみましたが、どのオプションでそれができるか不明でした。
どれか使えばできますか?
817:デフォルトの名無しさん
06/11/27 08:35:47
純粋なアセンブラの話題からは弱冠ずれるんですが、BIOSファンクションコールの一覧が載ってるサイトありませんか?
できれば日本語がいいんですが・・・
818:デフォルトの名無しさん
06/11/27 10:36:46
何のBIOS?
819:デフォルトの名無しさん
06/11/27 11:09:31
PCのですね。
MS-DOSとかが利用するような。
820:デフォルトの名無しさん
06/11/27 11:27:33
AT? 98?
821:デフォルトの名無しさん
06/11/27 11:41:22
PC-9801でお願いします。
できればATも参考に知りたいですが・・・
822:デフォルトの名無しさん
06/11/27 11:57:58
古本屋なりで「PC-9800シリーズ テクニカルデータブック」のシリーズでも探せ。
多分それが一番手っ取り早い。
823:デフォルトの名無しさん
06/11/27 12:24:56
俺のアセンブリ言語入門っていう1992年発刊の本の巻末に一覧表があるYO
824:デフォルトの名無しさん
06/11/27 16:42:32
そうですね・・・
できるだけ早く欲しかったんですが。
明日、市の図書館とBOOKOFFあたってみます。
825:デフォルトの名無しさん
06/11/27 17:07:29
osdevに書いてある予感
826:デフォルトの名無しさん
06/11/27 20:31:23
そんなに古い情報はないだろう。
AT BIOSは"InterruptList"があるけど。
827:デフォルトの名無しさん
06/11/27 21:47:09
メモリとI/Oポート周りならあった
URLリンク(www.webtech.co.jp)
828:デフォルトの名無しさん
06/11/28 00:25:03
入手できるかわからんが
PC-9801 プログラマーズBible,東京理科大学EIC編,技術評論社,ISBN4-87408-615-2
UNDOCUMENTED 9801/9821 Vol1,小高輝真,河野健,インプレス,ISBN4-8443-4642-3
に一通り載ってる
829:デフォルトの名無しさん
06/11/30 01:19:29
全部アセンブリで書けばあらゆるソフトは超快速になるのか?
830:デフォルトの名無しさん
06/11/30 01:52:24
>>829
そんなの当たり前じゃん。釣りか?
831:デフォルトの名無しさん
06/11/30 01:55:23
じゃあアセンブラで2chブラウザつくってくれ
インタフェースもおしゃれにしてくれよな!
832:デフォルトの名無しさん
06/11/30 02:11:19
CPUが複雑になってて、コンパイラも頭よくなってるので、一概にそうとも言えん。
つーか、CPUがどういう動作をするか完全に理解してて、各命令の動作速度、スレッドまで考慮できれば
アセンブラの方が早くできるだろうなw
マンドクセ('A`)
833:デフォルトの名無しさん
06/11/30 02:34:26
>>832
それって総当りでいつかは暗号解けるだろ、
と似たようなアルゴリズムだよね
834:デフォルトの名無しさん
06/11/30 12:45:32
Core2Duoなど最近のCPUの情報公開が不十分なのが問題なのであって
本来は総当りする必要はない
835:デフォルトの名無しさん
06/11/30 15:19:38
猿にキーボード持たせて待ってればできるよ
836:デフォルトの名無しさん
06/11/30 22:24:16
>>835
それまで宇宙があればね。
837:デフォルトの名無しさん
06/11/30 22:28:07
\
お そ .い ヽ
か の や |
し り ` ,. -─- 、
い .く / /⌒ i'⌒iヽ、
つ / ,.-'ゝ__,.・・_ノ-、ヽ
は i ‐'''ナ''ー-- ● =''''''リ _,....:-‐‐‐-.、
l -‐i''''~ニ-‐,....!....、ー`ナ `r'=、-、、:::::::ヽr_
 ̄ \ヽー' !. t´ r''"´、_,::、::::} ノ` ,.i'・ ,!_`,!::::::::::::ヽ
ヾ、 ゝゝ、,,ニ=====ニ/r'⌒; rー`ー' ,! リ::::::::::::ノ
i`''''y--- (,iテ‐,'i~´,ゝ'´  ̄ ̄ヽ` :::::::::::ノ
.| !、,............, i }'´ _ 、ー_',,...`::::ィ'
●、_!,ヽ-r⌒i-、ノ-''‐、 ゝ`ーt---''ヽ'''''''|`ーt-'つ
( `ーイ ゙i 丿 ;'-,' ,ノー''''{`' !゙ヽノ ,ヽ,
`ー--' --'` ̄ `ー't,´`ヽ;;;、,,,,,,___,) ヽ'-゙'"
(`ー':;;;;;;;;;;;;;;;ノ
``''''''``'''''´
838:デフォルトの名無しさん
06/11/30 22:44:38
アセンブラっていまどこでインストールすればいいんだ?
IDE使わずに100%フリーな環境でそろえたいんだけど
839:デフォルトの名無しさん
06/11/30 22:46:57
Linuxでも使え
840:デフォルトの名無しさん
06/11/30 22:50:35
会社がWindowsなんだよ
841:デフォルトの名無しさん
06/11/30 23:01:55
仕事しろよ
842:デフォルトの名無しさん
06/12/01 00:23:40
>>838
NASMかMASM>815
843:デフォルトの名無しさん
06/12/01 00:40:22
mingw入れればgasが使えるしC/C++/C99/Fortran/Javaまで1000%FREEEEな環境がそろう
しかもIDE無しでだ
なおこのレスには一部誇張が含まれる
844:デフォルトの名無しさん
06/12/01 00:51:40
>815のリンク先みたら
>このパッケージをインストールするために、お使いのコンピュータ上に Visual C++ 2005 Express Edition がインストールされている必要があります。
これフリーなのか?
845:デフォルトの名無しさん
06/12/01 01:04:48
ふりーだ。
846:デフォルトの名無しさん
06/12/01 01:11:53
無料だがfreeではない
847:デフォルトの名無しさん
06/12/01 01:12:15
でもIDEじゃねーか
848:デフォルトの名無しさん
06/12/01 05:14:01
リンカーのためだけにインストールしてんだろ?
それだけ取り出して IDE本体は削除すればいいんじゃね?
849:デフォルトの名無しさん
06/12/01 07:03:15
>>844
インストール中にTempディレクトリを見ると、VS2005EEなしでも取り出せるな。
850:デフォルトの名無しさん
06/12/01 08:47:45
ちなみに>>815は商用不可だ。
851:デフォルトの名無しさん
06/12/01 19:23:12
CodeZineでx86のアセンブラの連載やってる筆者、リア中らしいよw
そういわれてみるとちょっと文章変だったり、ところどころ勘違いっぽい記述があるけど
それを差し引いてもすごいよな。
852:デフォルトの名無しさん
06/12/01 23:04:33
リアル中毒者
853:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/01 23:39:48
それって赤坂玲音のこと?俺の1つ年上じゃんwww
854:デフォルトの名無しさん
06/12/01 23:45:53
いやそっちじゃないよ。
っていうか、その人はそこそこ有名じゃんw
厨房なんて思うわけないよ
855:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/01 23:51:36
URLリンク(codezine.jp)
じゃあこっちか
大御所ばっかじゃねーかwwwww
856:デフォルトの名無しさん
06/12/01 23:54:01
世話が焼けるなあもう。。
URLリンク(codezine.jp)
857:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
06/12/02 00:07:01
「団子」でなんか投稿してみるかな。。。
858:デフォルトの名無しさん
06/12/04 12:56:36
死ねばいいのに
859:デフォルトの名無しさん
06/12/06 03:44:12
masmの日本語のドキュメントって
どっかでダウンロード出来ないんですか?
860:デフォルトの名無しさん
06/12/07 21:41:09
昔は録音するみたいにテープに記録してたけど、
今はだいぶ便利になったみたいだね。
おっさんはマジで市ねよ。
861:デフォルトの名無しさん
06/12/08 10:58:56
テープは今でも普通に使われているだろ
DDSとか
862:デフォルトの名無しさん
06/12/09 22:31:37
なんだこのスレは・・・たまげたなぁ・・・
863:デフォルトの名無しさん
06/12/10 12:22:32
3ヶ月前の話題の参考になりそう(?)なバイナリめっけた
URLリンク(www.wex.cn)
864:デフォルトの名無しさん
06/12/13 16:36:43
PowerPCでラベルのアドレスをレジスタに入れるにはどうしたらいいのですか?
865:デフォルトの名無しさん
06/12/13 21:08:20
上位と下位を別々に入れる
866:デフォルトの名無しさん
06/12/14 14:05:05
>>865
addis命令というのがあるみたいなのでそれを使ってみます。
867:デフォルトの名無しさん
06/12/15 10:21:25
CELLでつか? Macでつか・・・? はたまた組み込み?
868:デフォルトの名無しさん
06/12/15 17:52:08
>>867
Macですよ。
869:デフォルトの名無しさん
06/12/15 21:29:38
gasでnasmの-f binにあたるものはないのだろうか。
それともld scriptで対処するべきか。
870:デフォルトの名無しさん
06/12/18 22:10:15
>>869
そこは自作スクリプトで対応(ry
871:デフォルトの名無しさん
06/12/18 22:45:39
>>870
やっぱりか。とりあえず__textセクションだけ抜き出す奴を作った。
これで何とかなると思う。ありがとう。
872:デフォルトの名無しさん
06/12/19 01:16:14
ゴルフでもやるの?
873:デフォルトの名無しさん
06/12/19 01:22:59
>>872
そう。Mach-Oでやってるの。
いま494bytesのHello, world!が出来たとこ。
普通にCで作ったら8192bytesでしたよ。
ここまでくるのに苦労しましたわ。
874:デフォルトの名無しさん
06/12/19 18:24:34
メイン部分がこんな感じのcomならもうちょい縮まる。
mov ax,09h
mov dx,offset msg
int 21h
msg db 'Hello world!',0dh,0ah,'$'
875:デフォルトの名無しさん
06/12/19 21:25:03
>>871
ブログで書いてたやつか?
876:デフォルトの名無しさん
06/12/20 09:52:28
>>874
そのメッセージ部分で終了できるのか?
877:デフォルトの名無しさん
06/12/20 10:00:31
ax=0009なので何もせずに終了
878:デフォルトの名無しさん
06/12/20 19:19:45
>>875
そうそう
879:874
06/12/20 20:01:58
ミスとか訂正。
mov ah,09h
mov dx,offset msg
int 21h
mov ah,4ch
int 21h
msg db 'Hello world!',0dh,0ah,'$'
880:デフォルトの名無しさん
06/12/21 13:11:32
>>879
縮めるんなら、
mov ah,4ch
int 21h
を
ret
にする
881:デフォルトの名無しさん
07/01/03 01:05:53
って優香、MASM6以上ならエンディングコードは自動生成だろ?
882:デフォルトの名無しさん
07/01/12 15:37:46
アセンブラを殆ど覚えましたが、死にたいです。
883:デフォルトの名無しさん
07/01/12 17:07:24
なら僕も死にたい!
884:デフォルトの名無しさん
07/01/12 17:11:00
私も!
885:デフォルトの名無しさん
07/01/12 18:19:26
俺は全然覚えてないけど、俺も死にたい!!
886:デフォルトの名無しさん
07/01/12 19:14:23
∥
___ ∥
/ `ヽ∥
,:' 、ゑ
,' ; i 八、
|,! 、 ,! | ,' ,〃ヽ!;、
|!| l川 l リへ'==二二ト、
リ川 !| i′ ゙、 ', ',
lルl ||,レ′ ヽ ,ノ ,〉
|川'、 ,,.,.r'" ,,ン゙
`T" ! ,/ '.ノ,/|
/ ,!´ !゙ヾ{ |
/ ,' i ゙ ! ,l゙
,r‐'ヽ-、! ', l|
{ `ヽ ! 「゙フ
,>┬―/ ; i,`{
/ /リ川' ', ゙、
/ ,/ ゙、 ゙、
ノ / ', `、
\_/ ; ゙、ヽ、
l__ ! ___〕 ,、l
 ̄`‐┬―r┬‐r'´ `'‐'′
| .! | |
| | .| |
887:デフォルトの名無しさん
07/01/12 23:03:06
今からアセンブラ殺す
888:デフォルトの名無しさん
07/01/12 23:17:59
>>887
通報しますた
889:デフォルトの名無しさん
07/01/13 18:44:00
祭りの予感!!!!!!!!!
記念パピコ
890:デフォルトの名無しさん
07/01/14 01:13:38
すみません、ELFフォーマットの仕様についてですが
日本語で解説してあるサイトをご存知の方いらしたら教えてください。
色々検索しても英語の情報ばかりで理解できず困っています。
宜しくお願いします
891:デフォルトの名無しさん
07/01/14 01:27:07
elf フォーマット でぐぐれ
892:デフォルトの名無しさん
07/01/14 01:35:37
日本語の情報が欲しいときは日本語を検索ワードに入れたらいいよ。
893:デフォルトの名無しさん
07/01/14 01:37:12
URLリンク(www.amazon.co.jp)
ぐらい買えよ
894:デフォルトの名無しさん
07/01/14 01:39:40
おとこわりだ!
895:デフォルトの名無しさん
07/01/14 10:55:58
港で噂の「BINARY HACKS」(ISBN:978-4873112886)でも買いなさい。
港で話題の「GNU開発ツール」(ISBN:4-903708-01-2)もいいと思うぞ。
896:デフォルトの名無しさん
07/01/14 11:12:47
港(みなと)で噂や話題だったりするのか。
漏れは陸(おか)の人間だから巷(ちまた)で話題の本を探すよ。
897:895
07/01/14 18:21:49
ウソじゃないもん!!
アワビをくわえた尼さんが話してたんだもん!!
ほら、こんなに仲間が。↓
港で噂 の検索結果 約 134 件
898:デフォルトの名無しさん
07/01/14 18:48:02
俺はすまたでも全然オッケーですよ
899:デフォルトの名無しさん
07/01/14 22:48:51
>>897
チトワロタ
900:デフォルトの名無しさん
07/01/19 02:17:36
SALで最上位ビットを特別視しなくていいのはどうして?
たとえば10000001をシフトすると、CFが1になり、値は2となります。
左シフトでは、符号付きの数値には対応してないという事でしょうか。
いや、まさかそんなわけないだろし。
901:デフォルトの名無しさん
07/01/19 02:47:09
オーバーフローですが
902:デフォルトの名無しさん
07/01/19 02:50:44
>>900
もしかして
00000011
ってなると思ってる
903:デフォルトの名無しさん
07/01/19 03:28:06
>>902
CFが1で、00000010になるのではないかと。
>>901
あーそっか。-63か-64かは知らないが、絶対値がこれ以下なら
上から2番目のビットも1だから負のままだし、
絶対値がそれ以上の場合にはオーバーフローになるわけね。
tnx.
904:デフォルトの名無しさん
07/01/23 01:03:12
「アセンブリ言語の教科書」読んでてよく分かんないのだけど、
MOV AH, 4CH
INT 21H
とシステムコールを利用した時、スタックに値があれば、
終了するのではなく、その値のアドレスに飛ぶのでしょうかね?
Cで例えるなら、exit()でなくreturn相当なのかな。
905:デフォルトの名無しさん
07/01/23 03:40:16
exitであってる
exit(AL)になる
returnはret
906:デフォルトの名無しさん
07/01/23 06:28:00
>>904
前提が書いてないから勝手にMS-DOSと仮定するが、
そのシステムコールではスタックは関係ない。
907:デフォルトの名無しさん
07/01/23 21:23:33
>>905
>>906
どうもです。&& 環境書いてなくてすまんかったです。
しかし、exitであるならば、あの本のコードは少し変なのかな。
……と思ったら、web上の正誤表見たら訂正されてたorz
908:デフォルトの名無しさん
07/01/26 17:26:54
#define EMULATE_WINDOWS while(1) { __asm__("cli hlt"); }
ちょwwww
909:デフォルトの名無しさん
07/01/26 17:31:25
何ですかそれは
910:デフォルトの名無しさん
07/01/26 17:33:45
あてずっぽで言うと、
EMULATE_WINDOWSを展開すると、haltするコード
だが、笑い所がいまいち分からない
だってコードの使い所が分からない
911:デフォルトの名無しさん
07/01/26 17:36:05
Windowsのエミュレート=ハングアップっていいたいんだろう。
面白くもなんともないが。
912:デフォルトの名無しさん
07/01/26 19:45:29
アセンブラ覚えたての消防がやってる。
913:デフォルトの名無しさん
07/01/28 12:29:15
特定の並びの特権命令をトラップしてエミュレーターに移行するんだろ
よくある実装だ
914:デフォルトの名無しさん
07/02/01 20:41:18
「初めて読む8086」読んでるんだけど、
linuxなんでdebugコマンドが無くて試せず辛い。
同じようなコマンドにはどのようなものがあるでしょうか。
915:デフォルトの名無しさん
07/02/01 23:05:52
>>914
たぶん期待する物はない。
gdbはそういう用途では使いものにならんからのう。
adbとかたまに欲しくなりますな。
916:デフォルトの名無しさん
07/02/02 00:21:17
言われて初めてadbが無いことを知った。
昔のunixには標準で入ってたんだがなぁ。ccが消えた頃から無くなったんかねぇ。
917:デフォルトの名無しさん
07/02/02 02:13:06
>>915
うーん、そうなのですかぁ。
なんとも残念無念。
918:デフォルトの名無しさん
07/02/05 21:40:54
フリーのDOSはいろいろあるけど、その中には1つくらいDEBUGを持ったものもないか?
919:デフォルトの名無しさん
07/02/05 21:51:01
つ URLリンク(www.ibiblio.org)
920:デフォルトの名無しさん
07/02/05 22:07:35
つーかDOS上で動くdebug互換(?)デバッガなら結構ある。
921:デフォルトの名無しさん
07/02/14 00:12:45
こんばんはこんばんは!
初級Javaプログラマだけど
アセンブラを勉強するための環境って最近はなにが多いの?
アセンブラってCPUによって違うんだよね?
x86系がほとんどなの?
64bitのはまた書き方違ってくる?
?
?
?
922:デフォルトの名無しさん
07/02/14 00:46:02
俺はアセンブリの勉強はCASLだったな
初心者向けの書籍がこれほど多いアセンブリ言語も無かろう
923:デフォルトの名無しさん
07/02/14 01:11:16
>情報処理技術者試験の教材用のアセンブリ言語。
>正式名称は,CASL II(きゃすうるつー)。
へぇー
でも実用的じゃないアセンブリよりも、Intel系のアセンブリをやったほうが
いい気がするんだけど、どっちでも勉強になるからかわんねって感じなのかな
924:デフォルトの名無しさん
07/02/14 01:25:55
CASL II は午後のテストの点稼ぎになるからある意味実用的。
x86のアセンブラは今や一部の人を除いて利用される頻度は少ないのである意味あまり実用的でない。
925:デフォルトの名無しさん
07/02/14 01:27:26
どっちも大した役に立たないという点では似たようなもんだな。
926:デフォルトの名無しさん
07/02/14 01:33:26
んじゃあ、いま一番人気のアセンブラはなに?
927:デフォルトの名無しさん
07/02/14 01:40:58
CELL。
つーか、誰かやってくれ。今なら給料出すから。
928:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/14 01:44:08
フィックスター社員乙
x86アセンブラだろ常識的に考えて。
929:デフォルトの名無しさん
07/02/14 01:44:25
あぁPS3にものってるやつか
でも、初心者には敷居がたかそうだなぁ
930:デフォルトの名無しさん
07/02/14 01:56:34
まあでもx86あたりもMMXやSSE使いたい程度ならemmintrin.hで済むしなぁ。
931:デフォルトの名無しさん
07/02/14 02:00:01
x86は人気つーより手近なPCで出来るから数が多いだけだろ。
932:デフォルトの名無しさん
07/02/14 02:03:56
これからゲームプログラマになるならCELL?
933:デフォルトの名無しさん
07/02/14 02:14:40
>>932
普通はコンパイラでやるだろ。
PowerPC系のアセンブラも覚えておいて損はないだろうけど、
これから未来永劫CELLが使われ続ける訳でもなし。
934:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/14 02:20:32
まあ最初はCOMET2/CASL2でいいですね
935:デフォルトの名無しさん
07/02/14 02:24:01
まあ、バイナリエディタで機械語直書きからアセンブラ、コンパイラ組み込み関数までいろいろ書き方はあるけど、
自分が使うCPUにどういう命令があって、その実行にどれだけのコストがかかるかという知識がいらなくなる時代はまだ当分こないだろうな。
重要なのはそういう知識であって、アセンブラの文法とか機能はわりとどうでもいい。
936:デフォルトの名無しさん
07/02/14 02:25:59
そういう時代がきちゃったら、プログラマは廃れちゃうな
実力が
937:デフォルトの名無しさん
07/02/14 10:06:54
CASL2のバイブル的な本ってどれですか。
入門書とかじゃなくて。
詳しく買いてるやつ。
938:デフォルトの名無しさん
07/02/14 13:03:47
最近やたらめったらいろんなアーキテクチャの仕事があるんで
インストラクションセットを覚える暇すらない
みんな8bitとか16bitとかだけど
命令表を斜め読みして
「げ、左シフトねーじゃんこのCPU」とか
「符号反転ねーよ」とか
「乗算命令じゅーよー」だの
「わは。レジスタ4つ、こっちは32個ー」とか言いつつテンパってる
939:デフォルトの名無しさん
07/02/14 13:55:11
>>938
でも一つもアセンブリ齧ってないとそれも判らないんだよね
940:デフォルトの名無しさん
07/02/14 16:04:08
>>938
たぶんそう思ったヤツが高級言語作ろうと思ったんだろうな
941:デフォルトの名無しさん
07/02/14 16:28:30
>>938
4つのせりふのうち3つは何だかわかった。
orz
942:デフォルトの名無しさん
07/02/14 17:22:05
しかもハーバード型、ノイマン型も満遍なく取り揃えられておりますorz
943:デフォルトの名無しさん
07/02/14 23:04:01
そだ |------、`⌒ー--、
れが |ハ{{ }} )))ヽ、l l ハ
が |、{ ハリノノノノノノ)、 l l
い |ヽヽー、彡彡ノノノ} に
い |ヾヾヾヾヾヽ彡彡} や
!! /:.:.:.ヾヾヾヾヽ彡彡} l っ
\__/{ l ii | l|} ハ、ヾ} ミ彡ト
彡シ ,ェ、、、ヾ{{ヽ} l|l ィェ=リ、シ} |l
lミ{ ゙イシモ'テ、ミヽ}シィ=ラ'ァ、 }ミ}} l
ヾミ  ̄~'ィ''': |゙:ー. ̄ lノ/l | |
ヾヾ " : : !、 ` lイノ l| |
>l゙、 ー、,'ソ /.|}、 l| |
:.lヽ ヽ ー_ ‐-‐ァ' /::ノl ト、
:.:.:.:\ヽ 二" /::// /:.:.l:.:.
:.:.:.:.:.::ヽ:\ /::://:.:,':.:..:l:.:.
;.;.;.;.;;.:.:.:.\`ー-- '" //:.:.:;l:.:.:.:l:.:
難しい問題ほど、解けると達成感あるのよね。
944:デフォルトの名無しさん
07/02/17 21:49:42
extern unsigned int crcTable[];
unsigned int updateCRC32( unsigned char *src, unsigned int size, unsigned int crc )
{
while ( size-- )
crc = ( crc << 8 ) ^ crcTable[ ( crc >> 24 ) ^ *src++ ];
return crc;
}
誰かこれを高速化して下され。
Cの範囲じゃやはりこれが限度っぽい。
後はアセンブラしかなさそうなのです。
945:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/17 22:05:55
せめてここまでコード最適化してからだね。
アルゴリズムの改良を試みずにアセンブラに頼るのは知性の敗北
URLリンク(www.intel.co.jp)
コードはこちらからどーぞ
URLリンク(sourceforge.net)
946:デフォルトの名無しさん
07/02/17 22:26:40
移植性のないポインタ変換とエンディアンの決め打ちがあるから
どちらかというとアセンブラで書くべきアルゴリズムだけどな
947:デフォルトの名無しさん
07/02/17 22:35:18
>>937
CASLなんて通過した後は一切触らないから
毎年IPAが配ってる案内書に付属してる仕様書だけで十分。
命令が読めりゃ後は何も困ることないでしょ。
948:デフォルトの名無しさん
07/02/18 05:22:21
>>944 のコードのままでも、do whileにしただけで1命令は速くなるね。
949:デフォルトの名無しさん
07/02/18 06:47:01
mov eax, crc
mov ecx, size
mov esi, src
rep crc32
950:デフォルトの名無しさん
07/02/18 08:06:08
>>948
処がだ、最近のコンパイラはforに特化した最適化をすることが多いから一概には言えない。
951:デフォルトの名無しさん
07/02/18 14:09:14
最近のコンパイラは賢いからなぁ
ていうかCPUの内部が複雑杉
952:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/18 14:33:51
>>949
Nehalemキター
953:デフォルトの名無しさん
07/02/18 14:50:04
コンパイラ何よ?
954:デフォルトの名無しさん
07/02/19 07:54:37
ファミ通にアセンブラ経験者の求人が乗っててひいた
955:デフォルトの名無しさん
07/02/19 18:22:15
アセンブラですか・・・漫画は読んだんだけどOKですかね?
とか? Z80でいいなら・・・(・∀・)
956:デフォルトの名無しさん
07/02/19 20:26:41
いまさらZ80みたいな変態CPUは無いだろう。
957:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/20 00:44:35
どうみてもCell一択です
Wiiでもやるんかな、性能稼ぐために
958:デフォルトの名無しさん
07/02/20 02:09:12
Wiiは既に死に体だからアセンブラ駆使してまでゲーム作んないぞ。
959:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/20 02:54:02
>Wiiは既に死に体だから
それはひょっとしてギャグで言ってるのか?
960:デフォルトの名無しさん
07/02/20 04:53:08
>>956 川崎の石は現役ですよ。日立の64180はさすがに作ってないみたいだけど。
961:デフォルトの名無しさん
07/02/20 06:07:13
>川崎の石
あの変態なZ80に、更に変態なメモリ管理命令増やした奴だっけ?
#いや、割りと好きですがw
>>957
この前は漏れがそう書いたら社員乙とか書かれた気がするが……
962:デフォルトの名無しさん
07/02/20 06:52:22
>>957
今時アセで組む必要があるなんて
余程余裕のない組み込みか
Cellみたいな変な石使う時だろうしそうかもね
963:デフォルトの名無しさん
07/02/20 08:31:10
質問です。ml.exeのインラインアセンブラを使って汎用レジスタと
セグメントレジスタの値を表示したいのですが、次のようなコードで
おkですか?
int eaxv, ebxv, ecxv, edxv, esiv, ediv, ebpv, espv;
wchar_t csv, dsv, ssv, esv, fsv, gsv;
eaxv = ebxv = ecxv = edxv = esiv = ediv = ebpv = espv = 0;
csv = dsv = ssv = esv = fsv = gsv = 0;
__asm {
mov eaxv, eax;
mov ebxv, ebx;
mov ecxv, ecx;
mov edxv, edx;
mov esiv, esi;
mov ediv, edi;
mov ebpv, ebp;
mov espv, esp;
mov csv, cs;
mov dsv, ds;
mov ssv, ss;
mov esv, es;
mov fsv, fs;
mov gsv, gs;
}
printf( "EAX=%08X EBX=%08X ECX=%08X EDX=%08X\n", eaxv, ebxv, ecxv, edxv );
printf( "ESI=%08X EDI=%08X EBP=%08X ESP=%08X\n", esiv, ediv, ebpv, espv );
printf( "CS=%04X DS=%04X SS=%04X ES=%04X FS=%04X GS=%04X\n", csv, dsv, ssv, esv, fsv, gsv );
964:デフォルトの名無しさん
07/02/20 10:36:56
片っ端から変数に代入しようとすると、結局レジスタを消費してしまって正しく表示できないと思われ。
全部纏めてでなく、一個ずつやらないとダメなんでない?
#つーか、デバッガで見ることはできないのか?
965:デフォルトの名無しさん
07/02/20 15:47:34
>944
速いかどうかは、解らないが、とりあえず国産CISCCPU(32bit?)の場合
#pragma PARAMETER update32(A0,R3R1,R2R0)
----
_updateCRC32:
$updateCRC32:
PUSHM A1
__loop:
MOV.W R2,A1
SHL.W #-8,A1
XOR.B [A0],A1
SHL.L #2,A1 ; Long Index
SHL.L #8,R2R0
XOR.L _crcTable[A1],R2R0
ADDX #1,A0
SUBX #1,R3R1
JNZ __loop
POPM A1
RTS
966:デフォルトの名無しさん
07/02/20 18:50:36
>>964
スタックに突っ込めばいいんじゃないかな。
でもってespを適当な構造体のポインタに格納したりして。
967:デフォルトの名無しさん
07/02/20 19:54:37
>>963
ml.exeのインラインアセンブラってなんだよ。 等の細かいツッコミは置いといて。
表示するだけならそれで良い。
アセンブリ出力(VC++なら/FAs)を出して確認すれ。
968:デフォルトの名無しさん
07/02/20 23:42:56
インラインasm使う必要すらないじゃん
969:デフォルトの名無しさん
07/02/21 02:43:28
>>964,>>966,>>967,>>968
みなさん、貴重なアドバイスをありがとうございます。
.asmファイルを見てみると、インラインアセンブラに対応するコードは
下のようになっていました。
余分な処理はないようなので、一応問題なくレジスタの内容を
ストア(?)できているようです。
mov DWORD PTR _eaxv$[ebp], eax
mov DWORD PTR _ebxv$[ebp], ebx
mov DWORD PTR _ecxv$[ebp], ecx
mov DWORD PTR _edxv$[ebp], edx
mov DWORD PTR _esiv$[ebp], esi
mov DWORD PTR _ediv$[ebp], edi
mov DWORD PTR _ebpv$[ebp], ebp
mov DWORD PTR _espv$[ebp], esp
mov WORD PTR _csv$[ebp], cs
mov WORD PTR _dsv$[ebp], ds
mov WORD PTR _ssv$[ebp], ss
mov WORD PTR _esv$[ebp], es
mov WORD PTR _fsv$[ebp], fs
mov WORD PTR _gsv$[ebp], gs
970:デフォルトの名無しさん
07/02/21 14:15:18
WindowsだったらGetThreadContextで一発というオチ。
971:デフォルトの名無しさん
07/02/21 14:40:27
GetThreadContextを自スレッドに呼び出すと呼び出しは成功するけど中身の保証は無し
972:デフォルトの名無しさん
07/02/23 00:05:17
最近勉強中でちょっと悩みがあります。
メモリのアドレスを特定のルーチンだけで利用するんですが、
スタックに入れてpush,popするべきなのか、
メモリから読んでまた書き戻すべきなのか、
どっちがいいんでしょう?
値を更新するので所謂Cのポインタなのですが。
やはりスタックの方が若干速そうなのですがその内バグりそうです。
慣れるまではメモリを使うべきでしょうか?
973:デフォルトの名無しさん
07/02/23 00:10:01
>>972
レジスタ
974:デフォルトの名無しさん
07/02/23 01:12:27
65816アセンブラの勉強中で詰まってしまいました。
例えば
AD E0 11 LDA
で11E0の値が260以上ならXにジャンプ
260以下ならYにジャンプという命令はどのようにしたらいいですか?
AD E0 11
CD 60 02
F0 04
5C XX XX XX
5c YY YY YY
とやりましたがゼロフラグを使っての分岐なので
260だったときでした。
「260以上はXにジャンプ、260以下はYにジャンプ」の分岐の方法を
何方かご教授下さい。
975:デフォルトの名無しさん
07/02/23 01:34:34
>>974
65816は知らんが、ニモニック表をよく見てみ。
条件分岐命令にゼロフラグチェック以外にもキャリーフラグチェックのがあるはずだから。
976:デフォルトの名無しさん
07/02/23 03:01:21
>>974
おまい、OKWaveでも同じこときいてたな。>>975の説明でも
理解できなさそうだ。
なあ、206以下と260以上で分けるていってるけどさ、「260」のときは
どっちに分岐させんだいw
977:デフォルトの名無しさん
07/02/23 08:47:17
>>975
65816ではこうやって覚えとけばいい。
同じ(A = CMP xxxx):BEQ F0
以外(A ≠ CMP xxxx):BNE D0
未満(A < CMP xxxx):BCC(BLT) 90
以上(A ≧ CMP xxxx):BCS(BGE) B0
あと、CD 60 02だとCMP $260、つまり$260番地の内容との比較になる。
即値と比較がしたかったらC9 60 02とやるべき。
978:デフォルトの名無しさん
07/02/23 09:25:36
>>975
フラグの意味がわかってませんでした。
>>976
260以下と260未満でした。
すみません。
>>977
ありがとうございます!
無事260以上の命令が出来ました。
皆様お忙しい中有難うございました。
979:デフォルトの名無しさん
07/02/28 00:03:34
> 260以下と260未満
980:デフォルトの名無しさん
07/03/17 23:56:27
あげ
981:デフォルトの名無しさん
07/03/21 00:07:46
age
982:デフォルトの名無しさん
07/03/21 17:34:48
NASMでSSE3やそれ以上は使えるのですか。
983:デフォルトの名無しさん
07/03/21 17:52:27
マクロアセンブラならどんなニモニックだろうと(自分で追加すれば)使える。
984:デフォルトの名無しさん
07/03/21 20:25:57
まず勉強