2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
242 / 376 ツリー ←次へ | 前へ→

【556】.asm ぬじぬじ 04/1/12(月) 22:26 [添付][添付]

【561】Re:最終的には... ぬじぬじ 04/1/13(火) 10:27
【562】逆転の発想... ひよひよ 04/1/13(火) 12:05 [添付][添付]
【563】Re:逆転の発想... ぬじぬじ 04/1/13(火) 12:40 [添付]
【564】Re:逆転の発想... ぬじぬじ 04/1/13(火) 12:41 [添付]
【565】Re:逆転の発想... ぬじぬじ 04/1/13(火) 12:45 [添付]
【566】Re:逆転の発想... ぬじぬじ 04/1/13(火) 12:46 [添付]
【568】Re:逆転の発想... ひよひよ 04/1/13(火) 12:50
【573】CPUID バッチリ ひよひよ 04/1/16(金) 23:55
【567】Re:逆転の発想... ひよひよ 04/1/13(火) 12:48

【561】Re:最終的には...
←back ↑menu ↑top forward→
 ぬじぬじ E-MAIL  - 04/1/13(火) 10:27 -

引用なし
パスワード
   ▼ひよひよさん:
> とにかく MASM for AMD64 はアレコレ擬似コード周りが変更になっているのですが、資料が少なく(MSDN 以外に見つからない)困っています。最終的にはスタックを介した引数渡しができると良いとは思うのですが...

 呼び出し時のパラメータの受け渡しに関する資料を見つけました。その名も``Calling Convention for AMD 64-Bit Environments'' (@http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/64bitamd_7qqv.asp)。随所に現れる``[This is preliminary documentation and subject to change]''が泣かせます。
 これに拠ると``Integer values are passed (in order left to right) in RCX, RDX, R8, and R9 registers. The caller passes arguments five and above onto the stack.''だそうです。大学のHP-UXなマシンとそっくり。多分``Integer values''てのは64ビットなんだろうなあ。


 取り敢えず
---- ここから ----
<pre><code>
DWORD cpuid(DWORD dwOP, DWORD *lpAX, DWORD *lpBX, DWORD *lpCX, DWORD *lpDX)
{
  if (dwOP == 0) {
    *lpAX = (DWORD)lpAX;
    *lpBX = (DWORD)lpBX;
    *lpCX = (DWORD)lpCX;
    *lpDX = (DWORD)lpDX;
    return 1;
  } else {
    *lpAX = (DWORD)0x00584145;
    *lpBX = (DWORD)0x00584245;
    *lpCX = (DWORD)0x00584345;
    *lpDX = (DWORD)0x00584445;
    return -1;
  }
}

/* ``QWORD''てのを64ビットを表す型に変更してくれ */
QWORD rdtsc()
{
  return 0x0123456789abcdef;
}
</code></pre>
---- ここまで ----
てのをコンパイルしてアセンブリ言語コードを吐いてもらえないでしょうか。

【562】逆転の発想...
←back ↑menu ↑top forward→
 ひよひよ WEB  - 04/1/13(火) 12:05 -

引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : mikomiko.c
・サイズ : 0.5KB

[添付]〜添付ファイル〜
・名前 : mikomiko.asm
・サイズ : 1.7KB
   アセンブルしたものを参考にすればよかったんですね... 昨日の苦労は一体なんだったんだ。

ちなみに mikomiko.asm の先頭にある listing.inc というのはよくわかりません。ファイルが開発環境内で見当たらないんですよね... 当然のようにアセンブルできなかったりします。 listing.cin をコメントアウトしてもアセンブルできないし。う〜む謎です。

【563】Re:逆転の発想...
←back ↑menu ↑top forward→
 ぬじぬじ E-MAIL  - 04/1/13(火) 12:40 -

引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : cpuid.asm
・サイズ : 1.4KB
    お手数かけました。アセンブルが通るかどうか試してもらえませんか?

【564】Re:逆転の発想...
←back ↑menu ↑top forward→
 ぬじぬじ E-MAIL  - 04/1/13(火) 12:41 -

引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : cpuid(2).asm
・サイズ : 1.4KB
    すまん。蟲です。

【565】Re:逆転の発想...
←back ↑menu ↑top forward→
 ぬじぬじ E-MAIL  - 04/1/13(火) 12:45 -

引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : cpuid(3).asm
・サイズ : 1.4KB
    すまん。更に蟲です。

【566】Re:逆転の発想...
←back ↑menu ↑top forward→
 ぬじぬじ E-MAIL  - 04/1/13(火) 12:46 -

引用なし
パスワード

[添付]〜添付ファイル〜
・名前 : cpuid(4).asm
・サイズ : 1.4KB
    すまん。またまた蟲です。

【567】Re:逆転の発想...
←back ↑menu ↑top forward→
 ひよひよ WEB  - 04/1/13(火) 12:48 -

引用なし
パスワード
   ▼ぬじぬじさん:
> すまん。蟲です。
アセンブルできました(^_^)v
ってオブジェクトファイルつけても意味ないので報告だけ。
本番ではこのオブジェクトファイルを使わせてもらうとします。

【568】Re:逆転の発想...
←back ↑menu ↑top forward→
 ひよひよ WEB  - 04/1/13(火) 12:50 -

引用なし
パスワード
   ▼ぬじぬじさん:
> すまん。またまた蟲です。
こっちも通りました。

アセンブルしてリンクしても実行できないから試せない...
Athlon 64 欲しいなぁ〜。

【573】CPUID バッチリ
←back ↑menu ↑top forward→
 ひよひよ  - 04/1/16(金) 23:55 -

引用なし
パスワード
   戴いたコードバッチリ動作しました。
私が作ったものよりもずっとスマートでよい感じです。

242 / 376 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃ホーム  
ページ:  ┃  記事番号:   
51982
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free