- 1 名前:デフォルトの名無しさん [2006/05/24(水) 01:43:34 ]
- アセンブラ全般に関するスレッドです。
【前スレ】 アセンブラ… ヽ(゚∀゚)ノフォーウ! pc8.2ch.net/test/read.cgi/tech/1132761638/ 過去ログは>>2辺り
- 862 名前:デフォルトの名無しさん mailto:sage* [2006/12/09(土) 22:31:37 ]
- なんだこのスレは・・・たまげたなぁ・・・
- 863 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 12:22:32 ]
- 3ヶ月前の話題の参考になりそう(?)なバイナリめっけた
ttp://www.wex.cn/dwing/mygem.htm
- 864 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 16:36:43 ]
- PowerPCでラベルのアドレスをレジスタに入れるにはどうしたらいいのですか?
- 865 名前:デフォルトの名無しさん mailto:sage [2006/12/13(水) 21:08:20 ]
- 上位と下位を別々に入れる
- 866 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 14:05:05 ]
- >>865
addis命令というのがあるみたいなのでそれを使ってみます。
- 867 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 10:21:25 ]
- CELLでつか? Macでつか・・・? はたまた組み込み?
- 868 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 17:52:08 ]
- >>867
Macですよ。
- 869 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 21:29:38 ]
- gasでnasmの-f binにあたるものはないのだろうか。
それともld scriptで対処するべきか。
- 870 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:10:15 ]
- >>869
そこは自作スクリプトで対応(ry
- 871 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:45:39 ]
- >>870
やっぱりか。とりあえず__textセクションだけ抜き出す奴を作った。 これで何とかなると思う。ありがとう。
- 872 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:16:14 ]
- ゴルフでもやるの?
- 873 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 01:22:59 ]
- >>872
そう。Mach-Oでやってるの。 いま494bytesのHello, world!が出来たとこ。 普通にCで作ったら8192bytesでしたよ。 ここまでくるのに苦労しましたわ。
- 874 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 18:24:34 ]
- メイン部分がこんな感じのcomならもうちょい縮まる。
mov ax,09h mov dx,offset msg int 21h msg db 'Hello world!',0dh,0ah,'$'
- 875 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 21:25:03 ]
- >>871
ブログで書いてたやつか?
- 876 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 09:52:28 ]
- >>874
そのメッセージ部分で終了できるのか?
- 877 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 10:00:31 ]
- ax=0009なので何もせずに終了
- 878 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 19:19:45 ]
- >>875
そうそう
- 879 名前:874 mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 13:11:32 ]
- >>879
縮めるんなら、 mov ah,4ch int 21h を ret にする
- 881 名前:デフォルトの名無しさん [2007/01/03(水) 01:05:53 ]
- って優香、MASM6以上ならエンディングコードは自動生成だろ?
- 882 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 15:37:46 ]
- アセンブラを殆ど覚えましたが、死にたいです。
- 883 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 17:07:24 ]
- なら僕も死にたい!
- 884 名前:デフォルトの名無しさん [2007/01/12(金) 17:11:00 ]
- 私も!
- 885 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 18:19:26 ]
- 俺は全然覚えてないけど、俺も死にたい!!
- 886 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 19:14:23 ]
- ‖
___ ‖ / `ヽ‖ ,:' 、ゑ ,' ; i 八、 |,! 、 ,! | ,' ,〃ヽ!;、 |!| l川 l リへ'==二二ト、 リ川 !| i′ ゙、 ', ', lルl ||,レ′ ヽ ,ノ ,〉 |川'、 ,,.,.r'" ,,ン゙ `T" ! ,/ '.ノ,/| / ,!´ !゙ヾ{ | / ,' i ゙ ! ,l゙ ,r‐'ヽ-、! ', l| { `ヽ ! 「゙フ ,>┬―/ ; i,`{ / /リ川' ', ゙、 / ,/ ゙、 ゙、 ノ / ', `、 \_/ ; ゙、ヽ、 l__ ! ___〕 ,、l  ̄`‐┬―r┬‐r'´ `'‐'′ | .! | | | | .| |
- 887 名前:デフォルトの名無しさん [2007/01/12(金) 23:03:06 ]
- 今からアセンブラ殺す
- 888 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 23:17:59 ]
- >>887
通報しますた
- 889 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 18:44:00 ]
- 祭りの予感!!!!!!!!!
記念パピコ
- 890 名前:デフォルトの名無しさん [2007/01/14(日) 01:13:38 ]
- すみません、ELFフォーマットの仕様についてですが
日本語で解説してあるサイトをご存知の方いらしたら教えてください。 色々検索しても英語の情報ばかりで理解できず困っています。 宜しくお願いします
- 891 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:27:07 ]
- elf フォーマット でぐぐれ
- 892 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:35:37 ]
- 日本語の情報が欲しいときは日本語を検索ワードに入れたらいいよ。
- 893 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:37:12 ]
- ttp://www.amazon.co.jp/Linkers-Loaders-John-R-Levine/dp/4274064379
ぐらい買えよ
- 894 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 01:39:40 ]
- おとこわりだ!
- 895 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 10:55:58 ]
- 港で噂の「BINARY HACKS」(ISBN:978-4873112886)でも買いなさい。
港で話題の「GNU開発ツール」(ISBN:4-903708-01-2)もいいと思うぞ。
- 896 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 11:12:47 ]
- 港(みなと)で噂や話題だったりするのか。
漏れは陸(おか)の人間だから巷(ちまた)で話題の本を探すよ。
- 897 名前:895 mailto:sage [2007/01/14(日) 18:21:49 ]
- ウソじゃないもん!!
アワビをくわえた尼さんが話してたんだもん!! ほら、こんなに仲間が。↓ 港で噂 の検索結果 約 134 件
- 898 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 18:48:02 ]
- 俺はすまたでも全然オッケーですよ
- 899 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:48:51 ]
- >>897
チトワロタ
- 900 名前:デフォルトの名無しさん [2007/01/19(金) 02:17:36 ]
- SALで最上位ビットを特別視しなくていいのはどうして?
たとえば10000001をシフトすると、CFが1になり、値は2となります。 左シフトでは、符号付きの数値には対応してないという事でしょうか。 いや、まさかそんなわけないだろし。
- 901 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 02:47:09 ]
- オーバーフローですが
- 902 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 02:50:44 ]
- >>900
もしかして 00000011 ってなると思ってる
- 903 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 03:28:06 ]
- >>902
CFが1で、00000010になるのではないかと。 >>901 あーそっか。-63か-64かは知らないが、絶対値がこれ以下なら 上から2番目のビットも1だから負のままだし、 絶対値がそれ以上の場合にはオーバーフローになるわけね。 tnx.
- 904 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 01:03:12 ]
- 「アセンブリ言語の教科書」読んでてよく分かんないのだけど、
MOV AH, 4CH INT 21H とシステムコールを利用した時、スタックに値があれば、 終了するのではなく、その値のアドレスに飛ぶのでしょうかね? Cで例えるなら、exit()でなくreturn相当なのかな。
- 905 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 03:40:16 ]
- exitであってる
exit(AL)になる returnはret
- 906 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 06:28:00 ]
- >>904
前提が書いてないから勝手にMS-DOSと仮定するが、 そのシステムコールではスタックは関係ない。
- 907 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 21:23:33 ]
- >>905
>>906 どうもです。&& 環境書いてなくてすまんかったです。 しかし、exitであるならば、あの本のコードは少し変なのかな。 ……と思ったら、web上の正誤表見たら訂正されてたorz
- 908 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 17:26:54 ]
- #define EMULATE_WINDOWS while(1) { __asm__("cli hlt"); }
ちょwwww
- 909 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 17:31:25 ]
- 何ですかそれは
- 910 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 17:33:45 ]
- あてずっぽで言うと、
EMULATE_WINDOWSを展開すると、haltするコード だが、笑い所がいまいち分からない だってコードの使い所が分からない
- 911 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 17:36:05 ]
- Windowsのエミュレート=ハングアップっていいたいんだろう。
面白くもなんともないが。
- 912 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 19:45:29 ]
- アセンブラ覚えたての消防がやってる。
- 913 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 12:29:15 ]
- 特定の並びの特権命令をトラップしてエミュレーターに移行するんだろ
よくある実装だ
- 914 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 20:41:18 ]
- 「初めて読む8086」読んでるんだけど、
linuxなんでdebugコマンドが無くて試せず辛い。 同じようなコマンドにはどのようなものがあるでしょうか。
- 915 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:05:52 ]
- >>914
たぶん期待する物はない。 gdbはそういう用途では使いものにならんからのう。 adbとかたまに欲しくなりますな。
- 916 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 00:21:17 ]
- 言われて初めてadbが無いことを知った。
昔のunixには標準で入ってたんだがなぁ。ccが消えた頃から無くなったんかねぇ。
- 917 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 02:13:06 ]
- >>915
うーん、そうなのですかぁ。 なんとも残念無念。
- 918 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:40:54 ]
- フリーのDOSはいろいろあるけど、その中には1つくらいDEBUGを持ったものもないか?
- 919 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 21:51:01 ]
- つ ttp://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/debug/
- 920 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 22:07:35 ]
- つーかDOS上で動くdebug互換(?)デバッガなら結構ある。
- 921 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 00:12:45 ]
-
こんばんはこんばんは! 初級Javaプログラマだけど アセンブラを勉強するための環境って最近はなにが多いの? アセンブラってCPUによって違うんだよね? x86系がほとんどなの? 64bitのはまた書き方違ってくる? ? ? ?
- 922 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 00:46:02 ]
- 俺はアセンブリの勉強はCASLだったな
初心者向けの書籍がこれほど多いアセンブリ言語も無かろう
- 923 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:11:16 ]
- >情報処理技術者試験の教材用のアセンブリ言語。
>正式名称は,CASL II(きゃすうるつー)。 へぇー でも実用的じゃないアセンブリよりも、Intel系のアセンブリをやったほうが いい気がするんだけど、どっちでも勉強になるからかわんねって感じなのかな
- 924 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:25:55 ]
- CASL II は午後のテストの点稼ぎになるからある意味実用的。
x86のアセンブラは今や一部の人を除いて利用される頻度は少ないのである意味あまり実用的でない。
- 925 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:27:26 ]
- どっちも大した役に立たないという点では似たようなもんだな。
- 926 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:33:26 ]
- んじゃあ、いま一番人気のアセンブラはなに?
- 927 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:40:58 ]
- CELL。
つーか、誰かやってくれ。今なら給料出すから。
- 928 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/14(水) 01:44:08 ]
- フィックスター社員乙
x86アセンブラだろ常識的に考えて。
- 929 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:44:25 ]
- あぁPS3にものってるやつか
でも、初心者には敷居がたかそうだなぁ
- 930 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 01:56:34 ]
- まあでもx86あたりもMMXやSSE使いたい程度ならemmintrin.hで済むしなぁ。
- 931 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 02:00:01 ]
- x86は人気つーより手近なPCで出来るから数が多いだけだろ。
- 932 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 02:03:56 ]
- これからゲームプログラマになるならCELL?
- 933 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 02:14:40 ]
- >>932
普通はコンパイラでやるだろ。 PowerPC系のアセンブラも覚えておいて損はないだろうけど、 これから未来永劫CELLが使われ続ける訳でもなし。
- 934 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/14(水) 02:20:32 ]
- まあ最初はCOMET2/CASL2でいいですね
- 935 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 02:24:01 ]
- まあ、バイナリエディタで機械語直書きからアセンブラ、コンパイラ組み込み関数までいろいろ書き方はあるけど、
自分が使うCPUにどういう命令があって、その実行にどれだけのコストがかかるかという知識がいらなくなる時代はまだ当分こないだろうな。 重要なのはそういう知識であって、アセンブラの文法とか機能はわりとどうでもいい。
- 936 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 02:25:59 ]
- そういう時代がきちゃったら、プログラマは廃れちゃうな
実力が
- 937 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 10:06:54 ]
- CASL2のバイブル的な本ってどれですか。
入門書とかじゃなくて。 詳しく買いてるやつ。
- 938 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:03:47 ]
- 最近やたらめったらいろんなアーキテクチャの仕事があるんで
インストラクションセットを覚える暇すらない みんな8bitとか16bitとかだけど 命令表を斜め読みして 「げ、左シフトねーじゃんこのCPU」とか 「符号反転ねーよ」とか 「乗算命令じゅーよー」だの 「わは。レジスタ4つ、こっちは32個ー」とか言いつつテンパってる
- 939 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 13:55:11 ]
- >>938
でも一つもアセンブリ齧ってないとそれも判らないんだよね
- 940 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 16:04:08 ]
- >>938
たぶんそう思ったヤツが高級言語作ろうと思ったんだろうな
- 941 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 16:28:30 ]
- >>938
4つのせりふのうち3つは何だかわかった。 orz
- 942 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:22:05 ]
- しかもハーバード型、ノイマン型も満遍なく取り揃えられておりますorz
- 943 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん [2007/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 mailto:sage [2007/02/17(土) 22:05:55 ]
- せめてここまでコード最適化してからだね。
アルゴリズムの改良を試みずにアセンブラに頼るのは知性の敗北 www.intel.co.jp/jp/developer/technology/magazine/communications/slicing-by-8-0306.htm コードはこちらからどーぞ sourceforge.net/projects/slicing-by-8
- 946 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 22:26:40 ]
- 移植性のないポインタ変換とエンディアンの決め打ちがあるから
どちらかというとアセンブラで書くべきアルゴリズムだけどな
- 947 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 22:35:18 ]
- >>937
CASLなんて通過した後は一切触らないから 毎年IPAが配ってる案内書に付属してる仕様書だけで十分。 命令が読めりゃ後は何も困ることないでしょ。
- 948 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 05:22:21 ]
- >>944 のコードのままでも、do whileにしただけで1命令は速くなるね。
- 949 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 06:47:01 ]
- mov eax, crc
mov ecx, size mov esi, src rep crc32
- 950 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 08:06:08 ]
- >>948
処がだ、最近のコンパイラはforに特化した最適化をすることが多いから一概には言えない。
- 951 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 14:09:14 ]
- 最近のコンパイラは賢いからなぁ
ていうかCPUの内部が複雑杉
- 952 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/18(日) 14:33:51 ]
- >>949
Nehalemキター
- 953 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 14:50:04 ]
- コンパイラ何よ?
- 954 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 07:54:37 ]
- ファミ通にアセンブラ経験者の求人が乗っててひいた
- 955 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 18:22:15 ]
- アセンブラですか・・・漫画は読んだんだけどOKですかね?
とか? Z80でいいなら・・・(・∀・)
- 956 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:26:41 ]
- いまさらZ80みたいな変態CPUは無いだろう。
- 957 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/20(火) 00:44:35 ]
- どうみてもCell一択です
Wiiでもやるんかな、性能稼ぐために
- 958 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 02:09:12 ]
- Wiiは既に死に体だからアセンブラ駆使してまでゲーム作んないぞ。
- 959 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/02/20(火) 02:54:02 ]
- >Wiiは既に死に体だから
それはひょっとしてギャグで言ってるのか?
- 960 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 04:53:08 ]
- >>956 川崎の石は現役ですよ。日立の64180はさすがに作ってないみたいだけど。
- 961 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 06:07:13 ]
- >川崎の石
あの変態なZ80に、更に変態なメモリ管理命令増やした奴だっけ? #いや、割りと好きですがw >>957 この前は漏れがそう書いたら社員乙とか書かれた気がするが……
- 962 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 06:52:22 ]
- >>957
今時アセで組む必要があるなんて 余程余裕のない組み込みか Cellみたいな変な石使う時だろうしそうかもね
|

|