質問編集履歴

4

内容の充実化

2021/06/22 12:17

投稿

grape_ll
grape_ll

スコア83

test CHANGED
@@ -1 +1 @@
1
- アセンブラのsmulhでなにをしているか分からない
1
+ smulh命令理由
test CHANGED
@@ -72,10 +72,6 @@
72
72
 
73
73
  ###追記
74
74
 
75
- M=5, N=8192
76
-
77
- M=40, N=-8192
78
-
79
- などのいくつかのケースで試しに実行してみてもsmulhを使う命令は出てきませんでした.
75
+ いくつかのケースで試しに実行してみてもsmulhを使う命令は出てきませんでした.
80
76
 
81
77
  また,このようなケースを通じて,基本的な除算の仕組みはある程度理解していると思っています.

3

情報が足りなかった

2021/06/22 12:17

投稿

grape_ll
grape_ll

スコア83

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,8 @@
23
23
 
24
24
 
25
25
  あるファイルについてこれを行った時.アセンブリ言語で下のように書かれていました.smulhは調べてみたところ,2 つの 64 ビットレジスタ Xn と Xm を乗算し、その 128 ビットの乗算結果の上位 64 ビットをレジスタ (Xd) に書き込む,とのことでしたが,ここではx0に変数x,x1に変数yが入っているので,どうなっているのかよくわからなくなってしまいました.
26
+
27
+
26
28
 
27
29
  smulhをただの乗算として考えてみてもsubのところでx1,つまりyを63回算術右シフトして引いていて,よくわからないです.
28
30
 
@@ -65,3 +67,15 @@
65
67
   次のasr命令によって
66
68
 
67
69
  x2=0000111100001111000011110000111100001111000011110000111100001111b * y
70
+
71
+
72
+
73
+ ###追記
74
+
75
+ M=5, N=8192
76
+
77
+ M=40, N=-8192
78
+
79
+ などのいくつかのケースで試しに実行してみてもsmulhを使う命令は出てきませんでした.
80
+
81
+ また,このようなケースを通じて,基本的な除算の仕組みはある程度理解していると思っています.

2

内容の充実化

2021/06/22 05:00

投稿

grape_ll
grape_ll

スコア83

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  あるファイルについてこれを行った時.アセンブリ言語で下のように書かれていました.smulhは調べてみたところ,2 つの 64 ビットレジスタ Xn と Xm を乗算し、その 128 ビットの乗算結果の上位 64 ビットをレジスタ (Xd) に書き込む,とのことでしたが,ここではx0に変数x,x1に変数yが入っているので,どうなっているのかよくわからなくなってしまいました.
26
26
 
27
- smulhうぃただの乗算として考えてみてもsubのところでx1,つまりyを63回算術右シフトして引いていて,よくわからないです.
27
+ smulhただの乗算として考えてみてもsubのところでx1,つまりyを63回算術右シフトして引いていて,よくわからないです.
28
28
 
29
29
  このふたつではどのようなことが起きているのか教えていただきたいです.
30
30
 

1

内容の充実化

2021/06/22 04:14

投稿

grape_ll
grape_ll

スコア83

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- あるファイルについてこれを行った時.アセンブリ言語で下のように書かれていました.smulhは調べてみたところ,2 つの 64 ビットレジスタ Xn と Xm を乗算し、その 128 ビットの乗算結果の上位 64 ビットをレジスタ (Xd) に書き込む,とのことでしたが,ここではx1に変数x,x2に変数yが入っているので,どうなっているのかよくわからなくなってしまいました.
25
+ あるファイルについてこれを行った時.アセンブリ言語で下のように書かれていました.smulhは調べてみたところ,2 つの 64 ビットレジスタ Xn と Xm を乗算し、その 128 ビットの乗算結果の上位 64 ビットをレジスタ (Xd) に書き込む,とのことでしたが,ここではx0に変数x,x1に変数yが入っているので,どうなっているのかよくわからなくなってしまいました.
26
26
 
27
27
  smulhうぃただの乗算として考えてみてもsubのところでx1,つまりyを63回算術右シフトして引いていて,よくわからないです.
28
28