[過去ログ]
Qiita 6 - キータぞ、来たぞ、キータだぞー (1002レス)
Qiita 6 - キータぞ、来たぞ、キータだぞー http://mevius.5ch.net/test/read.cgi/tech/1739527246/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
906: デフォルトの名無しさん [sage] 2025/08/30(土) 14:42:08.38 ID:vxiJTEr3 > 比較したいいところ > 1. 命令フォーマットが規則的で読みやすい > x86版では > > cmp al, [si+1] > jl common > xchg al, [si+1] > mov [si], al > のように「レジスタ+メモリ」「メモリ+メモリ」が混ざっていて、例外的なルール (xchg は直接使えないから mov に分ける) があります。 と解説してて、記事中のコードの該当部分は > cmp eax, ebx > jle no_swap > mov [array + esi*4], ebx > mov [array + esi*4 + 4], eax となってるのが味わい深い。 投稿者がコードと記事の両方を理解して書いてたらこうはならないと思うのでAIにやらせてんだろうなあ。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/906
907: デフォルトの名無しさん [sage] 2025/08/30(土) 14:47:19.38 ID:vxiJTEr3 他にも > print_int: > push ebp > mov ebp, esp > push ebx > push ecx > push edx > push esi > push edi > > jmp .convert_digits > > .convert_digits: フレームポインタ使ってないのにebpにespコピーしたりすぐ下のラベルに無意味なjmpしたり、正確な理解のもとで書かれたコードである気がしない。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/907
908: デフォルトの名無しさん [] 2025/08/30(土) 18:02:51.32 ID:cASASKMm よく見てはいないが、全体的にx86のアセンブラっぽくないんだよなあ。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/908
909: デフォルトの名無しさん [] 2025/08/30(土) 18:12:37.02 ID:cASASKMm 他人のC言語のコードを引用しているが、関数の戻り値がvoidなのもプロっぽくない。 int型の配列に値を入れて関数に渡すという仕様も、わざわざ配列にいったん格納して、同じメモリ領域を上書きしてしまうというのも実務では考えられない。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/909
910: デフォルトの名無しさん [sage] 2025/08/30(土) 18:41:49.73 ID:UWTi2w+M >>909 それについてはおまえがおかしい その仕様が最も正しい おまえの間違った仕様を書いてみろ http://mevius.5ch.net/test/read.cgi/tech/1739527246/910
911: デフォルトの名無しさん [sage] 2025/08/30(土) 19:45:23.92 ID:vMLCyXV5 >関数の戻り値がvoidなのもプロっぽくない。 >int型の配列に値を入れて関数に渡すという仕様も、わざわざ配列にいったん格納して、同じメモリ領域を上書きしてしまうというのも実務では考えられない。 標準関数のqsort知らない人かな http://mevius.5ch.net/test/read.cgi/tech/1739527246/911
912: デフォルトの名無しさん [sage] 2025/08/31(日) 02:12:00.94 ID:jsrmdu/r アセンブラのおかしな記事が挙がるとよくわかってないわかったつもりの奴が叩きに参戦してくんの面白れぇなw http://mevius.5ch.net/test/read.cgi/tech/1739527246/912
913: デフォルトの名無しさん [] 2025/08/31(日) 10:55:35.99 ID:8dn8jVHL 知らないならレスしないでください うざいだけです http://mevius.5ch.net/test/read.cgi/tech/1739527246/913
914: デフォルトの名無しさん [sage] 2025/08/31(日) 11:24:45.92 ID:7aNyV0yu >>913 >>913 http://mevius.5ch.net/test/read.cgi/tech/1739527246/914
915: デフォルトの名無しさん [sage] 2025/08/31(日) 12:41:28.48 ID:n+VCdOyt cコンパイラにアセンブリコード吐かせてからいじったんやろ察してやれ http://mevius.5ch.net/test/read.cgi/tech/1739527246/915
916: デフォルトの名無しさん [sage] 2025/08/31(日) 14:05:56.57 ID:bv7ZXR4f 記事のコードをNASMでアセンブルして実行できるんだが https://godbolt.org/z/jKvsfccGM 同じロジックをCで再現してgccでコンパイル、実行しても https://godbolt.org/z/csTv9qsnP 結構違うコード吐くし > cコンパイラにアセンブリコード吐かせてからいじったんやろ察してやれ こんな訳はないんだよなあ。 この記事について「よくわかってないわかったつもりの奴」が次から次へと湧いてくんの何なの。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/916
917: デフォルトの名無しさん [sage] 2025/08/31(日) 14:10:20.14 ID:bv7ZXR4f ちなみに記事のアセンブリコードの10進数出力であるprint_intルーチンは値0を出力する実装にバグがある。 https://godbolt.org/z/Trh3fxv1E http://mevius.5ch.net/test/read.cgi/tech/1739527246/917
918: デフォルトの名無しさん [sage] 2025/08/31(日) 14:14:00.36 ID:bv7ZXR4f 自己レス: > ちなみに記事のアセンブリコードの10進数出力であるprint_intルーチンは値0を出力する実装にバグがある。 修正案1 https://godbolt.org/z/d6bacfKze 修正案2 https://godbolt.org/z/4ThevPsj4 http://mevius.5ch.net/test/read.cgi/tech/1739527246/918
919: デフォルトの名無しさん [] 2025/08/31(日) 14:16:59.26 ID:XglzWhVJ アセンブラのコード量が減っても、それが速く動かなければ意味がない。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/919
920: デフォルトの名無しさん [sage] 2025/08/31(日) 14:26:51.20 ID:bv7ZXR4f アセンブラを使う理由は場合によりけりで ・アーキテクチャの学習を行いたい場合 ・ブートローダーなど、使用できるコードサイズが限られる場合 ・コンパイラが吐いてくれない命令を使用したい場合 ・コンパイラで吐いてくれるコード以上に最適化したい場合 > それが速く動かなければ意味がない。 てのはひとつの視点でしかない。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/920
921: デフォルトの名無しさん [] 2025/08/31(日) 14:32:35.32 ID:bv7ZXR4f 修正案3 https://godbolt.org/z/j7zn7591r 記事のコードは無駄が多すぎる。AI出力によるツギハギ臭が酷い。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/921
922: デフォルトの名無しさん [] 2025/08/31(日) 14:40:17.45 ID:TCgrNpEA >>920 その記事を書いた人間はアセンブラのコード量が少なくなるという記事を書きたかったかったんだぞ? http://mevius.5ch.net/test/read.cgi/tech/1739527246/922
923: デフォルトの名無しさん [] 2025/08/31(日) 14:42:00.04 ID:TCgrNpEA いまどきメモリが少なすぎてマシン語がまともに入らない機器なんてごくわずか http://mevius.5ch.net/test/read.cgi/tech/1739527246/923
924: デフォルトの名無しさん [sage] 2025/08/31(日) 14:50:52.80 ID:bv7ZXR4f > その記事を書いた人間はアセンブラのコード量が少なくなるという記事を書きたかったかったんだぞ? あなた: この記事(https://qiita.com/misohagi/items/029222e579f43fdfc93f)の内容に「アセンブラのコード量が少なくなる」という要素はありますか? ChatGPT: ご提供いただいたQiita記事「バブルソートでわかるRISC‑Vのきれいさ」(2025年8月28日投稿)について確認しました。 結論から言うと、この記事内に「アセンブラのコード量が少なくなる」という記述はありません。以下、内容のポイントを整理します: 記事内容の要約 C言語版・x86アセンブリ版・RISC‑Vアセンブリ版 のバブルソート実装を比較しています。 Qiita 比較されている観点は以下の通りです: 命令フォーマットの規則性・読みやすさ → x86はレジスタ+メモリ、メモリ+メモリなど混在し、例外的なルールも多いのに対し、RISC‑Vでは一貫性ある命令構成(ロード→比較→ストア)で構成されており、可読性に優れている。 Qiita メモリ演算の明確な分離 → x86では複雑な複合命令(例:cmp al, [si+1])がある一方、RISC‑Vでは命令が分割されている(ロード → 比較 → 分岐)ため、理解しやすい。 Qiita 拡張性と移植性 → x86は歴史的に多くの拡張を抱えているのに対し、RISC‑Vはシンプルで必要な機能を拡張指令として付与できる設計になっており、将来的な拡張にも対応しやすい。 Qiita 「コード量が少なくなる」という記述はあるか? いいえ。 記事では「命令の規則性」や「構造の分かりやすさ」などが強調されている一方、「アセンブラのコード量が少なくなる」といった記述は一切ありません。 ご質問の「アセンブラのコード量が少なくなる」という要素は、この記事の中には含まれていないことをお伝えします。他に気になる点や別の記事についての確認も可能ですので、どうぞ気軽にお知らせください! http://mevius.5ch.net/test/read.cgi/tech/1739527246/924
925: デフォルトの名無しさん [] 2025/08/31(日) 16:42:35.64 ID:CVjGHqHc >>924 「バブルソートでわかるRISC-Vのきれいさ」 きれいになると彼は言っている 実際に示しているコードはきれいになっているのではなく、コード量が減っているだけ http://mevius.5ch.net/test/read.cgi/tech/1739527246/925
926: デフォルトの名無しさん [sage] 2025/08/31(日) 17:20:05.97 ID:wng97XEx >「バブルソートでわかるRISC-Vのきれいさ」 >実際に示しているコードはきれいになっているのではなく、コード量が減っているだけ 記事のバブルソートのコードはx86では14命令なのに対してRISC-Vでは16命令なのでRISC-Vでコード量が減ってるということは全くない。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/926
927: デフォルトの名無しさん [] 2025/08/31(日) 17:31:25.81 ID:wghiPy+O >>926 CISCとRISCのCPUの違いがわからないのか? 1クロックでやることが多いCISCは命令が少なくなるのはあたりまえ。 彼の問題はRISCだときれいになるとの主張。 それにC言語のint型が64ビットという前提で説明しているのもおかしい。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/927
928: デフォルトの名無しさん [sage] 2025/08/31(日) 17:36:07.00 ID:wng97XEx 記事のRISC-Vのコード見るとコメントになんでかx86のレジスタ書いてんだよなあ。 x86からRISC-Vに移植したか、x86との対応わかるようAIに指示したかどっちかか。 こんなクソコードクソ記事からなんか有意なこと読み取ろうとしても無駄だぞ。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/928
929: デフォルトの名無しさん [sage] 2025/08/31(日) 17:39:14.61 ID:wng97XEx >1クロックでやることが多いCISCは命令が少なくなるのはあたりまえ。 スーパースカラーも知らない人は黙ってた方良いよ。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/929
930: デフォルトの名無しさん [] 2025/08/31(日) 17:52:22.50 ID:wghiPy+O >>929 CPUの性能の進化でそれをやる必要がなくなってRISCの方がよいということになってあの記事があるんだぜ? http://mevius.5ch.net/test/read.cgi/tech/1739527246/930
931: デフォルトの名無しさん [sage] 2025/08/31(日) 17:53:36.95 ID:wng97XEx >それにC言語のint型が64ビットという前提で説明しているのもおかしい。 どこ見てそう思ったか知らんけどx86のコードではe?xの32ビットレジスタ使ってるしRISC-Vはlw/swで読み書きしてるから32ビットだね。 何いってんのという感じ。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/931
932: デフォルトの名無しさん [] 2025/08/31(日) 17:55:54.89 ID:wghiPy+O x86は16ビットか32ビットだよ? x64と書いてあれば64ビット http://mevius.5ch.net/test/read.cgi/tech/1739527246/932
933: デフォルトの名無しさん [] 2025/08/31(日) 17:56:34.83 ID:wghiPy+O キータのレベルは理解不能 http://mevius.5ch.net/test/read.cgi/tech/1739527246/933
934: デフォルトの名無しさん [sage] 2025/08/31(日) 18:02:43.60 ID:wng97XEx >>930 「バブルソートでわかるRISC-Vのきれいさ」と題して十分に最適化されてないコードで「きれい」なんて主観を語ってる記事はナンセンス。 「シンプル」や「簡潔」と言ってるならまだ擁護の余地はあった。 http://mevius.5ch.net/test/read.cgi/tech/1739527246/934
935: デフォルトの名無しさん [] 2025/08/31(日) 18:54:27.77 ID:5OVq2s7z 彼はアセンブリでマクロ機能も使ってないしな http://mevius.5ch.net/test/read.cgi/tech/1739527246/935
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 67 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s