初心者OK!質問大歓迎!のアセンブラのスレッドです。
基本情報の勉強中の人、PICやH8を勉強中の学生などなど…
前スレ
アセンブラ初心者スレッド
http://echo.2ch.net/test/read.cgi/tech/1314502612/
関連スレ
アセンブラ 13
http://echo.2ch.net/test/read.cgi/tech/1314512680/
探検
アセンブラ初心者スレッド 2©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/13(木) 17:35:55.70ID:1WMn3pSz
658デフォルトの名無しさん
2019/12/01(日) 22:42:54.44ID:N3Tb7oIA MIPS君って人の話聞かない人なんだな。
659デフォルトの名無しさん
2019/12/01(日) 22:47:20.58ID:rpSiZ7Ms RISC-VのSBC
HiFive1
http://select.marutsu.co.jp/list/detail.php?id=351
MIPSのSBCもあることはあるぞ
Imagination Technologies Creator Ci40 IoT 開発 ボード
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253306/
Imagination Technologies Creator Ci20 Linux/Android 開発 ボード
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253305/
HiFive1
http://select.marutsu.co.jp/list/detail.php?id=351
MIPSのSBCもあることはあるぞ
Imagination Technologies Creator Ci40 IoT 開発 ボード
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253306/
Imagination Technologies Creator Ci20 Linux/Android 開発 ボード
https://jp.rs-online.com/web/p/processor-microcontroller-development-kits/1253305/
660デフォルトの名無しさん
2019/12/01(日) 22:54:42.00ID:rpSiZ7Ms RISC-Vが手に入るようになったからトランジスタ技術2019年11月号や
インターフェースの2019年12月号で特集やってるわけだが
インターフェースの2019年12月号で特集やってるわけだが
661デフォルトの名無しさん
2019/12/01(日) 23:20:53.64ID:rpSiZ7Ms662デフォルトの名無しさん
2019/12/01(日) 23:26:12.86ID:npZTl1ra MIPS君?って、
>フラグはアウトオブオーダーの妨げになるし
>並列化も出来ないから
って主張が完全崩壊して、当分は現れないんじゃないかな…
アウトオブオーダーの知識も色々とおかしくて、あれで最適化の講釈する度胸はないだろ
>フラグはアウトオブオーダーの妨げになるし
>並列化も出来ないから
って主張が完全崩壊して、当分は現れないんじゃないかな…
アウトオブオーダーの知識も色々とおかしくて、あれで最適化の講釈する度胸はないだろ
663デフォルトの名無しさん
2019/12/01(日) 23:36:04.53ID:rpSiZ7Ms 複数の人間の書き込みを同一人物視する人は頭おかしい
664デフォルトの名無しさん
2019/12/01(日) 23:38:09.37ID:Tj+WH/IS Cortex-M7やRXv3と競合するRISC-Vコア搭載のASICはよこい
665デフォルトの名無しさん
2019/12/02(月) 00:11:51.31ID:RIgVO6ZZ >>657
とりあえず買ってみる
とりあえず買ってみる
666デフォルトの名無しさん
2019/12/02(月) 19:22:50.55ID:kmSxls5X AVX512に慣れると、
他のコアがチープに見える
特に32bit〜64bitの中途半端なヤツが
京の次のヤツのARMってSIMD何ビットだっけ?
ちょっと遊んでみたい
他のコアがチープに見える
特に32bit〜64bitの中途半端なヤツが
京の次のヤツのARMってSIMD何ビットだっけ?
ちょっと遊んでみたい
667デフォルトの名無しさん
2019/12/02(月) 19:24:16.67ID:kmSxls5X PICみたいな超チープなやつは
それはそれで楽しいんだけど
それはそれで楽しいんだけど
668デフォルトの名無しさん
2019/12/03(火) 10:01:22.58ID:kL4hKD0u チープというか変態すぎる。
669デフォルトの名無しさん
2019/12/03(火) 11:32:29.72ID:g2sdmHcp チープなやつは大体どれも変態だよ
C言語で記述不可能なのもあるから
PICは変態な中でもまだマシな方
C言語で記述不可能なのもあるから
PICは変態な中でもまだマシな方
670デフォルトの名無しさん
2019/12/13(金) 00:51:18.32ID:7tDteGkj PICは命令数が少ないから大好き
アセンブラは慣れれば問題ない
アセンブラは慣れれば問題ない
671デフォルトの名無しさん
2019/12/13(金) 18:29:36.28ID:1MRTxPI4 GOTOで発作が起きます
672デフォルトの名無しさん
2019/12/13(金) 19:12:30.36ID:QuzLYYNu gotoアレルギー多いよな
673デフォルトの名無しさん
2019/12/13(金) 20:44:16.76ID:tYi2uLeR JP じゃないの
674デフォルトの名無しさん
2019/12/14(土) 02:42:04.15ID:er8xklWG 日本では特に間違って伝わってるからなぁ
想像するのがC言語やスクリーンエディタ機能組み込まれてた頃のBASICのGOTOっていう
想像するのがC言語やスクリーンエディタ機能組み込まれてた頃のBASICのGOTOっていう
675デフォルトの名無しさん
2019/12/14(土) 07:46:40.45ID:6lStbnNy 古臭くて役にも立たない話をするのが大好きで、LARGEADDRESSAWAREやキャリーフラグで
大爆死した誰かさんがしれっと戻って来てるのか?
大爆死した誰かさんがしれっと戻って来てるのか?
676デフォルトの名無しさん
2019/12/14(土) 12:04:43.11ID:teIen0U1 GOTOがというより抽象化に関する教育の不足が問題なんじゃ
昨今のプログラミング教育も本質が見えているようには見えない
昨今のプログラミング教育も本質が見えているようには見えない
677デフォルトの名無しさん
2019/12/14(土) 12:07:38.82ID:2PNj6NH4 歪んだ教育のせいで
ループ内で意地でも
continue, break, goto
を使わない人がいる
その為、
無駄な変数を使ったり
ループ条件が複雑になったり
本末転倒
ループ内で意地でも
continue, break, goto
を使わない人がいる
その為、
無駄な変数を使ったり
ループ条件が複雑になったり
本末転倒
678デフォルトの名無しさん
2019/12/14(土) 13:25:49.98ID:TlZt0bii breakにラベル指定出来なかったのはCの設計ミスやろ
679デフォルトの名無しさん
2019/12/14(土) 13:34:05.64ID:JwYnIOEa 多重ループはgotoで抜ける
って事だろうけどね
gotoはラベル名を考えるのが面倒
break 2;
で2段階breakが出来ると良い
って事だろうけどね
gotoはラベル名を考えるのが面倒
break 2;
で2段階breakが出来ると良い
680デフォルトの名無しさん
2019/12/14(土) 13:39:05.39ID:qH7KRmrQ >>679
N88-BASICのような時代は、行番号があったからラベル名を考える必要が
なく楽だった。MASMの場合は、プロシージャローカルのラベル名が
使えたので、lab1:, lab2: のようにしておくと楽だった。
Cの場合、見た目的に「ラベルが浮く」現象が起きるのも問題。
N88-BASICのような時代は、行番号があったからラベル名を考える必要が
なく楽だった。MASMの場合は、プロシージャローカルのラベル名が
使えたので、lab1:, lab2: のようにしておくと楽だった。
Cの場合、見た目的に「ラベルが浮く」現象が起きるのも問題。
681デフォルトの名無しさん
2019/12/14(土) 13:44:49.72ID:qH7KRmrQ BASICの場合、
1000 xxx
1010 if xxx > xxx then 1200
1020 xxx
1030 goto 1300
1200 xxx
のように書けて至って楽だったし、見た目も綺麗に書けた。
アセンブラの場合も
xxx proc near
mov yyy,zzz
lab1:
call aaa
lab2:
dec ecx
jnz bbb
xxx endp
のように命令の前には tab(0x09) 付けされ、ラベルと区別が付き易いのでとても
綺麗に書けた。ところがCの場合は、ラベルと命令の見た目のバランスが悪いので
問題となった。構造上の汚さよりもその問題の方が大きい。
1000 xxx
1010 if xxx > xxx then 1200
1020 xxx
1030 goto 1300
1200 xxx
のように書けて至って楽だったし、見た目も綺麗に書けた。
アセンブラの場合も
xxx proc near
mov yyy,zzz
lab1:
call aaa
lab2:
dec ecx
jnz bbb
xxx endp
のように命令の前には tab(0x09) 付けされ、ラベルと区別が付き易いのでとても
綺麗に書けた。ところがCの場合は、ラベルと命令の見た目のバランスが悪いので
問題となった。構造上の汚さよりもその問題の方が大きい。
682デフォルトの名無しさん
2019/12/14(土) 13:48:16.80ID:JwYnIOEa683デフォルトの名無しさん
2019/12/14(土) 13:50:15.98ID:JwYnIOEa ラベルはインデントを1個左にずらす
case文と同じように
case文と同じように
684デフォルトの名無しさん
2019/12/14(土) 16:23:54.51ID:qH7KRmrQ >>683
こんな感じですか?
{
{
ラベル名1:
if ( xxx < yyy ) {
普通の文1;
ラベル名2:
普通の文2;
}
}
}
こんな感じですか?
{
{
ラベル名1:
if ( xxx < yyy ) {
普通の文1;
ラベル名2:
普通の文2;
}
}
}
685デフォルトの名無しさん
2019/12/14(土) 16:57:20.57ID:er8xklWG caseって用途は限定されてるけど、飛び先ラベルそのものよな?
686デフォルトの名無しさん
2019/12/14(土) 17:00:28.16ID:JwYnIOEa >>684
そうそう
そうそう
687デフォルトの名無しさん
2019/12/14(土) 17:27:51.24ID:IqAY6EvB 実装が楽なのだろうが条件スキップ命令が嫌い。
688デフォルトの名無しさん
2019/12/14(土) 22:37:51.56ID:JwYnIOEa 好きとか嫌いとかどうでも良い
689デフォルトの名無しさん
2019/12/14(土) 22:59:07.71ID:uFdEOStu 最初に言い出したのは誰なのかしら
690デフォルトの名無しさん
2019/12/15(日) 01:17:17.22ID:f1vDrgvb PICのアセンブラは非人間的で嫌われている
691デフォルトの名無しさん
2019/12/15(日) 11:22:32.97ID:ymerGKQi アセンブラは元々CPUに寄せてるのが普通で、人間に合わせるなんてこと考えてません。
人間がわかりやすいようにしたければマクロで補うなり、プリプロセッサ作るなどして工夫すればいいんですよ。
人間がわかりやすいようにしたければマクロで補うなり、プリプロセッサ作るなどして工夫すればいいんですよ。
692デフォルトの名無しさん
2019/12/15(日) 11:26:35.35ID:mSzJWPy5 PICくらいで非人道的とか
もっと変態CPUはいくらでもあるってのに
もっと変態CPUはいくらでもあるってのに
693デフォルトの名無しさん
2019/12/15(日) 13:07:08.62ID:o9m7qUoD ハーバードだろ
694デフォルトの名無しさん
2019/12/15(日) 13:31:23.47ID:ymerGKQi >>692
でもね、プロセッサ変わる度に覚え直すのは面倒だしつらいだろ。
面倒なものや難しいものをそのまま力業で押し通そうとするのはやっぱり頭悪いやり方。
賢い人なら、もっと頭使って少しでも使いやすく、わかりやすく変えていくもんだと思うんだよね。
でもね、プロセッサ変わる度に覚え直すのは面倒だしつらいだろ。
面倒なものや難しいものをそのまま力業で押し通そうとするのはやっぱり頭悪いやり方。
賢い人なら、もっと頭使って少しでも使いやすく、わかりやすく変えていくもんだと思うんだよね。
695デフォルトの名無しさん
2019/12/15(日) 17:23:58.99ID:5kgRNS4L RXのアセンブラは判りやすいと思う
696デフォルトの名無しさん
2019/12/15(日) 17:38:53.02ID:5sPbacoo >>694
C言語
C言語
697デフォルトの名無しさん
2019/12/15(日) 19:26:43.84ID:ymerGKQi >>696
Cが対応しているプロセッサならそれ使えばいいけど、同じ処理をアセンブラで書くのとCで書いたのでは実行ファイルのサイズが大きく違う。
Cは余計なランタイムルーチンがリンクされて無駄に太る。Cで書いてもアセンブラで書くのとほとんど同じサイズになる処理系があればその方が良い。
そして、なければ作るしかない。覚えにくいニーモニックを頑張って覚えるくらいなら、そういう処理系を作ることに労力を使ったほうがいいんじゃないかな。
Cが対応しているプロセッサならそれ使えばいいけど、同じ処理をアセンブラで書くのとCで書いたのでは実行ファイルのサイズが大きく違う。
Cは余計なランタイムルーチンがリンクされて無駄に太る。Cで書いてもアセンブラで書くのとほとんど同じサイズになる処理系があればその方が良い。
そして、なければ作るしかない。覚えにくいニーモニックを頑張って覚えるくらいなら、そういう処理系を作ることに労力を使ったほうがいいんじゃないかな。
698デフォルトの名無しさん
2019/12/15(日) 19:42:57.22ID:5kgRNS4L 今時マイコンですら結構な容量のフラッシュROMを積んでいるし
高級言語に由来するフットプリント増が問題になるケースは少ないと思うが
高いリアルタイム性が要求されたり重い処理をするケースはアセンブラで書く場合がある
高級言語に由来するフットプリント増が問題になるケースは少ないと思うが
高いリアルタイム性が要求されたり重い処理をするケースはアセンブラで書く場合がある
699デフォルトの名無しさん
2019/12/15(日) 20:20:04.05ID:5sPbacoo >>697
需要がないプロセッサは作らない
それだけ
変態アーキテクチャは理由があってそうなってる訳だし
普通のCPUならC/C++で使いやすいように整備されてる
Cランタイムサイズが問題になるCPUだと
ランタイムも小さく出来るのが普通
(printf、malloc を使わないなど)
需要がないプロセッサは作らない
それだけ
変態アーキテクチャは理由があってそうなってる訳だし
普通のCPUならC/C++で使いやすいように整備されてる
Cランタイムサイズが問題になるCPUだと
ランタイムも小さく出来るのが普通
(printf、malloc を使わないなど)
700デフォルトの名無しさん
2019/12/15(日) 20:21:43.99ID:jswNPg7r 8bitCPUにFlashROM 32KBにRAMが1KB、広すぎて天国のようだ
701デフォルトの名無しさん
2019/12/15(日) 20:22:30.32ID:5sPbacoo >>700
だよね
だよね
702デフォルトの名無しさん
2019/12/15(日) 20:28:26.55ID:5sPbacoo 小規模DSPは比較的アセンブラを良く使う
703デフォルトの名無しさん
2019/12/18(水) 03:42:06.43ID:mwLPhsOw ラーメンには豚のセアブラをよく使う
704デフォルトの名無しさん
2020/01/14(火) 15:59:36.64ID:uFo9dhko 68000君は居ないようだな。残念だ
C言語も神が作ったのではない、breakやcontinueがどこに飛ぶのか分からん時はある。
入門書を信じ込んだ狂信者、原理主義者のような、痛い目に会ってない素人は結構いる。
C言語も神が作ったのではない、breakやcontinueがどこに飛ぶのか分からん時はある。
入門書を信じ込んだ狂信者、原理主義者のような、痛い目に会ってない素人は結構いる。
705デフォルトの名無しさん
2020/01/14(火) 19:13:53.43ID:VTSZmZmV >>704
> breakやcontinueがどこに飛ぶのか分からん時はある。
そんな経験はないなあ。普通はCの仕様通りに動く。
Cの仕様通りに動かないとしたらそのCコンパイラのバグだと思いますよ。
もし本当にわけがわからない動作をしたときはテストプログラムを書いてどう動くか調べたり
アセンブラソース出力して見てみればいい。
> breakやcontinueがどこに飛ぶのか分からん時はある。
そんな経験はないなあ。普通はCの仕様通りに動く。
Cの仕様通りに動かないとしたらそのCコンパイラのバグだと思いますよ。
もし本当にわけがわからない動作をしたときはテストプログラムを書いてどう動くか調べたり
アセンブラソース出力して見てみればいい。
706デフォルトの名無しさん
2020/01/15(水) 10:28:18.25ID:NnMYiXUN ソースを追う気がなくなるからわからなくなるって意味だろ
707デフォルトの名無しさん
2020/01/15(水) 12:54:18.67ID:mdjDjCL2 素朴な疑問なんだが逆アセンブラのラベルってどうやって生成されるの?
レジスタ間接ジャンプのジャンプ先アドレスなんて実行してみないと判らないような・・・
レジスタ間接ジャンプのジャンプ先アドレスなんて実行してみないと判らないような・・・
708デフォルトの名無しさん
2020/01/15(水) 22:23:13.85ID:NnMYiXUN PEヘッダ内にあるImage baseとかじゃね win32の場合だけど
709デフォルトの名無しさん
2020/01/16(木) 05:34:03.43ID:I1VMveuP >>705
>そんな経験はないなあ。普通はCの仕様通りに動く。
多重ループ脱出やifやなんやらのネストでどこに行くか分からなくなる事は無かったんか
Cの経験浅い人は、そういうことが分からないんだろうな。
>そんな経験はないなあ。普通はCの仕様通りに動く。
多重ループ脱出やifやなんやらのネストでどこに行くか分からなくなる事は無かったんか
Cの経験浅い人は、そういうことが分からないんだろうな。
710デフォルトの名無しさん
2020/01/16(木) 07:53:03.25ID:oL142J5t インデントがぐちゃぐちゃなパターンは昔はよく見た。viのせいだろうな。
711デフォルトの名無しさん
2020/01/16(木) 08:04:26.22ID:TEF1jMG0 今も見る
712デフォルトの名無しさん
2020/01/16(木) 23:36:50.30ID:GgmseacB >>709
複雑なものを複雑なままコードにするからそうなる。
多重ループと言ってもせいぜい2重か3重だし、それ以上深いループになるようなコードだったら
そもそも考え方が悪いからシンプルになるように書き直す。中身をサブルーチンに追い出して、
ループ構造と脱出が一目でわかるようにしても良い。
ifのネストも同様に、細部の条件を洗い出してパラメータを変えて呼び出すだけで動くようにする。
そうすればif文を見なくていいしそれぞれ1行で呼び出せる。
とにかくできるだけ構造がシンプルでわかりやすくなるように工夫することだよ。
複雑なものを複雑なままコードにするからそうなる。
多重ループと言ってもせいぜい2重か3重だし、それ以上深いループになるようなコードだったら
そもそも考え方が悪いからシンプルになるように書き直す。中身をサブルーチンに追い出して、
ループ構造と脱出が一目でわかるようにしても良い。
ifのネストも同様に、細部の条件を洗い出してパラメータを変えて呼び出すだけで動くようにする。
そうすればif文を見なくていいしそれぞれ1行で呼び出せる。
とにかくできるだけ構造がシンプルでわかりやすくなるように工夫することだよ。
713デフォルトの名無しさん
2020/01/18(土) 09:17:15.53ID:bQ1xI4/b714デフォルトの名無しさん
2020/02/13(木) 22:12:36.79ID:z5jUasH9 最近パスタ食べてないな
715デフォルトの名無しさん
2020/03/04(水) 14:16:54.94ID:b3xLS7HK 究極の変態ってどんな感じなんだろうな
パズル的で面白そうだが…
パズル的で面白そうだが…
716デフォルトの名無しさん
2020/05/14(木) 17:51:17.70ID:f1vNNG/3 まったくの初心者なのですが、アセンブリ言語を理解できるようになりたいです。
入門サイトなどを探しても自分が探しているCPUを取り扱っている物は見つかりませんでした。
まだCPUの仕組みもよく理解していないような状態なので、種類に拘らずそのような入門サイトなどで勉強した方がいいのでしょうか。
一通り学習を終えた後、別のCPUの言語でもすぐ対応できますか?
iosアプリのリバースエンジニアリング をしてみたいと思っているのでarm64のコードを理解できるようになりたいです。(用語などの使い方が間違っていたらすみません。)
入門サイトなどを探しても自分が探しているCPUを取り扱っている物は見つかりませんでした。
まだCPUの仕組みもよく理解していないような状態なので、種類に拘らずそのような入門サイトなどで勉強した方がいいのでしょうか。
一通り学習を終えた後、別のCPUの言語でもすぐ対応できますか?
iosアプリのリバースエンジニアリング をしてみたいと思っているのでarm64のコードを理解できるようになりたいです。(用語などの使い方が間違っていたらすみません。)
717デフォルトの名無しさん
2020/05/14(木) 17:59:48.21ID:xR/PZA9p マルチ死ね
718デフォルトの名無しさん
2020/05/14(木) 19:21:25.82ID:FSEZeoAj 情報処理資格の教科書から、始めた方がよい。
CASL 2 という仮想アセンブラもある
仮想アセンブラとは、各メーカーごとの実際のアセンブラではなくて、抽象的なもの
仮想アセンブラでは、LLVM が最も有名
CASL 2 という仮想アセンブラもある
仮想アセンブラとは、各メーカーごとの実際のアセンブラではなくて、抽象的なもの
仮想アセンブラでは、LLVM が最も有名
719デフォルトの名無しさん
2020/05/15(金) 10:21:28.00ID:QqRlTuRs 動機を当ててやるか。ゲームを改造して無双したいのだろう。
だがそんなの対策済みで無駄なことだ。
だがそんなの対策済みで無駄なことだ。
720デフォルトの名無しさん
2020/06/17(水) 20:16:42.08ID:mLHHLomt 実プロセッサのアセンブラを学ぶのに仮想アセンブラって役立つか?
LLVMなんてレジスタ数無制限だしスタック無しでも処理を書けるだろ
実際のプロセッサでそれは現実的ではないしスタック操作はボトルネックにもなっている
LLVMなんてレジスタ数無制限だしスタック無しでも処理を書けるだろ
実際のプロセッサでそれは現実的ではないしスタック操作はボトルネックにもなっている
721デフォルトの名無しさん
2020/06/18(木) 06:16:16.86ID:WpoR9KQA ARM64のアセンブラだとこんなサイトあるよ
http://www.mztn.org/dragon/arm6400idx.html
http://www.mztn.org/dragon/arm6400idx.html
722デフォルトの名無しさん
2020/06/21(日) 16:12:29.75ID:rRP2z2l8 MPUそのものは仮想でもエミュがあってそこそこ実用になるなら良いんじゃない?
723デフォルトの名無しさん
2020/06/21(日) 16:13:57.40ID:pgbZYzU2 比べるのもアレだけど
極端な話 BrainF*ck も仮想みたいなもんだろ
極端な話 BrainF*ck も仮想みたいなもんだろ
724デフォルトの名無しさん
2020/06/30(火) 20:45:59.73ID:2de2B/rP コンパイラにアセンブラ出力させてみた結果
8bitのアセンブラが簡単なんて嘘
Cソース
https://pastebin.com/bWfLhn8Y
8bit MSX-C Ver1.1 アセンブラ出力
https://pastebin.com/Bzt3fFaX
16bit Turbo-C Ver1.5 アセンブラ出力
https://pastebin.com/y82ifpxs
64bit Ubuntu 18.04 x86_64 gcc-7.4.0 アセンブラ出力
https://pastebin.com/PTuEv5uL
64bit Ubuntu 20.04 ARM64 gcc-9.3.0 アセンブラ出力
https://pastebin.com/9N4eKWeg
8bitのアセンブラが簡単なんて嘘
Cソース
https://pastebin.com/bWfLhn8Y
8bit MSX-C Ver1.1 アセンブラ出力
https://pastebin.com/Bzt3fFaX
16bit Turbo-C Ver1.5 アセンブラ出力
https://pastebin.com/y82ifpxs
64bit Ubuntu 18.04 x86_64 gcc-7.4.0 アセンブラ出力
https://pastebin.com/PTuEv5uL
64bit Ubuntu 20.04 ARM64 gcc-9.3.0 アセンブラ出力
https://pastebin.com/9N4eKWeg
725デフォルトの名無しさん
2020/06/30(火) 20:50:56.99ID:2de2B/rP ちなみにgccでは
int func01() __attribute__((noinline,noclone));
とやってインライン展開を抑制してます
int func01() __attribute__((noinline,noclone));
とやってインライン展開を抑制してます
726デフォルトの名無しさん
2020/06/30(火) 21:02:04.38ID:e6PapWOV 8bitの方がソフト規模が小さいから簡単
727デフォルトの名無しさん
2020/06/30(火) 21:05:11.63ID:dU7zENbL728デフォルトの名無しさん
2020/06/30(火) 21:11:37.45ID:e6PapWOV 単純な命令しかなくて命令数も圧倒的に少ない8bit
複雑な命令がたくさんあって命令数も1000を越える64bit
複雑な命令がたくさんあって命令数も1000を越える64bit
729デフォルトの名無しさん
2020/07/01(水) 04:08:07.95ID:g4YauoQu コンパイラの変換が下手
730デフォルトの名無しさん
2020/07/01(水) 04:09:06.24ID:GZMydJ4F731デフォルトの名無しさん
2020/07/01(水) 06:53:53.79ID:8lUxucUi 溢れても規模が小さいから簡単
732デフォルトの名無しさん
2020/07/01(水) 10:54:24.39ID:dk2qwU4W 簡単さだったら新しいCISCに分があるんじゃね
ttps://uploader.purinka.work/src/17167.png
R0はスタックポインタ。呼び出し規約の都合上引数の一部が
スタックに積まれている以外はamd64と同じ感じか
同じ8bitでも8051とAVRじゃ大分違うと思う
ttps://uploader.purinka.work/src/17167.png
R0はスタックポインタ。呼び出し規約の都合上引数の一部が
スタックに積まれている以外はamd64と同じ感じか
同じ8bitでも8051とAVRじゃ大分違うと思う
733デフォルトの名無しさん
2020/07/01(水) 11:12:01.44ID:BWQBxkNi 命令を覚える命令を使うのが簡単か
同じ機能を実現するのが簡単か
で結果が180度違う
同じ機能を実現するのが簡単か
で結果が180度違う
734デフォルトの名無しさん
2020/07/01(水) 11:14:42.34ID:BWQBxkNi 8bitCPUのソフトエンジニア
64bitCPUのソフトエンジニア
どちらがより多くの知識や経験が必要か
一般的には64bitの方が必要
64bitCPUのソフトエンジニア
どちらがより多くの知識や経験が必要か
一般的には64bitの方が必要
735デフォルトの名無しさん
2020/07/01(水) 13:04:54.17ID:hOLEVQcG 本当はわかっていて、ちょっと言い合いたいだけだろうな
736デフォルトの名無しさん
2020/07/01(水) 19:06:42.33ID:rX+J+WIV >>731
規模が小さいなら64bitでも簡単。Intel系なら命令も上位互換だからほぼ同じ命令が使える。
規模が小さいなら64bitでも簡単。Intel系なら命令も上位互換だからほぼ同じ命令が使える。
737デフォルトの名無しさん
2020/07/01(水) 19:48:13.47ID:8lUxucUi 64bitは通常8bitよりソフト規模が大きい
738デフォルトの名無しさん
2020/07/01(水) 21:20:19.29ID:mNMvI8FZ IA-32よりAMD64の方が簡単なんじゃないか説(汎用レジスタの本数的に)
739デフォルトの名無しさん
2020/07/02(木) 08:31:24.65ID:RyBCtyYa 8bitが簡単と言われるのは命令の数が限られてるのと、簡単なことしかしないから
64bitでもよく使われる限られた命令だけ使って、8bitと同じことをやれば
8bitよりも簡単
実際は周辺や割り込みコントローラなんかもリッチになるので大変だけどね
Arduinoみたいにそのあたりを意識しないなら64bitの方が8bitよりも簡単
64bitでもよく使われる限られた命令だけ使って、8bitと同じことをやれば
8bitよりも簡単
実際は周辺や割り込みコントローラなんかもリッチになるので大変だけどね
Arduinoみたいにそのあたりを意識しないなら64bitの方が8bitよりも簡単
740デフォルトの名無しさん
2020/07/02(木) 10:37:27.14ID:KAImZ3Ow 結局どっちも簡単ってことだな
741デフォルトの名無しさん
2020/07/02(木) 13:41:50.00ID:ueeOma1J742デフォルトの名無しさん
2020/07/02(木) 19:26:50.19ID:1S4E8SKc それ言い出したら
そもそも普通はアセンブラなんか使わん
そもそも普通はアセンブラなんか使わん
743デフォルトの名無しさん
2020/07/02(木) 19:30:02.70ID:1S4E8SKc アセンブラでしか書けない特殊処理(特殊命令、特殊レジスタへのアクセスなど)
速度やリソースのチューニング
趣味
速度やリソースのチューニング
趣味
744デフォルトの名無しさん
2020/07/02(木) 20:08:46.86ID:L2HGsVdw まあ趣味だな。Cで書けない処理をアセンブラで書けたら「やった」て気になるしな。
745デフォルトの名無しさん
2020/07/02(木) 20:21:06.52ID:1S4E8SKc それはアセンブラでしか書けない特殊処理ではなくて?
746デフォルトの名無しさん
2020/07/02(木) 20:31:36.38ID:L2HGsVdw 趣味だからどういう処理でも自分が満足できればそれでいいんじゃね?
簡単な処理から始めてだんだん難しい処理に挑戦するのも面白いし
簡単な処理から始めてだんだん難しい処理に挑戦するのも面白いし
747デフォルトの名無しさん
2020/07/02(木) 20:51:16.74ID:dBIHsFi5 組み込みで非標準的な実装をしたい場合はアセンブラを使ったりするな
仮にアセンブラの本を書くとして、その題材になにを選ぶか、アセンブラだからこそできる!というナイスな題材がほとんど思いつかないのです…
749デフォルトの名無しさん
2020/07/02(木) 22:24:08.15ID:L2HGsVdw 思いつかないってことは、本当にやりたいと思ってないってことだろうな。
たとえば部屋で飼ってる猫の様子を出先から監視したいと思ったらArduinoとカメラユニットを組み合わせて
スマホから見られる制御ソフトを作るだろう。
たとえば部屋で飼ってる猫の様子を出先から監視したいと思ったらArduinoとカメラユニットを組み合わせて
スマホから見られる制御ソフトを作るだろう。
>>749
それはアセンブラだからこそできる、という題材ですか?
それはアセンブラだからこそできる、という題材ですか?
751デフォルトの名無しさん
2020/07/02(木) 23:32:35.76ID:1S4E8SKc スタートアップコードの記述
OS作成
くらいじゃね?
OS作成
くらいじゃね?
752デフォルトの名無しさん
2020/07/02(木) 23:34:12.29ID:1S4E8SKc パフォーマンス系なら
DSP制御とか
リアルタイム系の重い処理とか
DSP制御とか
リアルタイム系の重い処理とか
753デフォルトの名無しさん
2020/07/02(木) 23:36:24.16ID:1S4E8SKc >>749
アセンブラが適さない典型
アセンブラが適さない典型
754デフォルトの名無しさん
2020/07/02(木) 23:38:56.48ID:dBIHsFi5 ペリフェラルAとペリフェラルBを同期させて動かしたいなんて場合はアセンブラの使用を検討する
755デフォルトの名無しさん
2020/07/02(木) 23:40:30.23ID:1S4E8SKc えらい抽象的だな
タイミングにシビアなのはコンパイラに依存しないようにアセンブラで書くってのはある
もちろんシビアな部分だけ
タイミングにシビアなのはコンパイラに依存しないようにアセンブラで書くってのはある
もちろんシビアな部分だけ
756デフォルトの名無しさん
2020/07/02(木) 23:42:01.52ID:1S4E8SKc >>747
これも抽象的で何の実装だかさっぱりわからん
これも抽象的で何の実装だかさっぱりわからん
757デフォルトの名無しさん
2020/07/03(金) 04:39:01.80ID:/VSGTLiK >>748
やっぱり、SIMD命令とか組み込みだとDSP命令を使いたい時とかじゃないの?
やっぱり、SIMD命令とか組み込みだとDSP命令を使いたい時とかじゃないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 永野ってなんで売れたの?
- お前「趣味……?ないですね。無趣味です」ぼく「ずっと2chしてるんだから2chが趣味でいいじゃん」前「?」
- 武論尊「ヤクザも政治家も一切取材したことない。空想だからあんなにかっこよく描ける」 [309323212]
- 隕石の落ちたところに俺が立ってたら
- 🏡パン🍞つー✌まる👌見え👊😅👊
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
