«前の日記(2003-07-28 (Mon)) 最新 次の日記(2003-07-30 (Wed))»

ありし日の気分(改)

2002|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|02|03|04|07|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|12|
2015|05|06|
2018|02|03|08|09|12|
2019|10|
2003年
7月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
昨日のカウンタ:
今日のカウンタ:

[RDF]

最近のトラックバック

2003-07-29 (Tue)

お仕事

今日は泊まり込みを覚悟です。

まぁ、雨も降ってるし・・・もう寒くもないし・・・テレビもあるし・・・

あ、プロジェクトX観ながら続きやろっと。

長い長い

PXA250の乗算は 32bit×32bit → 64bit という事らしいんですが、

long long int a, b, c; c = a * b;

だと当然 a, b の上位桁の計算までしちゃうんですよねぇ。入力はそこまで要らないんですが、

long int a, b; long long int c; c = a * b;

だと a * b を long int で計算してしまうような気も。んー。

gcc が吐き出すアセンブリのコードを読めと言われそう。(^^;)

長い長い その後

ガイアの夜明けとか観ながら Linux Zaurus上のgcc 2.95.1で gcc -S してみました。

よく分かんないながらLinux Zaurusでアセンブリプログラミングを参考に眺めてみると

・long a, b, c; c = a * b; では mul とかいう命令(32bit * 32bit → 32bit)

・long a, b; long long c; c = a * b; でも同様

・long long a, b, c; c = a * b; では umull (32bit * 32bit → 64bit) の命令がっ。でも、その後に mul が二回出てきてて、当然上位桁まで計算してる模様。それ、要らないんですが・・

・long a, b; long long c; c = (long long)a * (long long)b; では smull (符号付き 32bit * 32bit → 64bit) の命令がっ。他によくわかんない命令がたくさん出てますが、多分かけ算関連はこれだけ。わーい。

これなら PetitePeinture の中でアセンブリのコードを直接書かなくても平気。

現実逃避

つーか、家に帰らずに何やってんだか。(泣) よーし、WBS観ながら今度こそ仕事だっ。(;_;) ←バカ過ぎ



C++でつくるUnreal Engineアプリ開発 for Windows & macOS  UE4でC++を使う方法を書いた本です。

«前の日記(2003-07-28 (Mon)) 最新 次の日記(2003-07-30 (Wed))»


2002|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|02|03|04|07|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|12|
2015|05|06|
2018|02|03|08|09|12|
2019|10|