アセンブラの記事を1,000集め、いいね(LGTM:look goods to me)を1,000に、Viewsを100,000にする計画を立てた。
この記事の重複があれば、適当に調整して、計数は重複なしにしようと思った。
現在、確認中。
目標達成できずにめげるといけない。
現在、どの記事を集計すれば、その値に達するかの表を作ってみた。
目標はあくまでアセンブラだけ。
Title | items | views | goods | stocks |
---|---|---|---|---|
アセンブラへの道 https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2 | 340 | 31105 | 321 | 343 |
アセンブラへの道(2) https://qiita.com/kaizen_nagoya/items/2a0bd88216bc51278be5 | 130 | 1585 | 11 | 13 |
アセンブラ入門への入り口 https://qiita.com/kaizen_nagoya/items/0bf939143593fbb7114a | 1630 | 6 | 3 | |
CPUの歴史と言語・OS・ネットワーク<書きかけ> https://qiita.com/kaizen_nagoya/items/0148d8a07dfea115dbbe | 1102 | 3 | 4 | |
プログラミング言語教育のXYZ。Youtube(1) 仮説・検証(52) https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4 | 4953 | 7 | 14 | |
65歳からのプログラミング入門。docker(126)転職(16) https://qiita.com/kaizen_nagoya/items/1561f910c275b22d7c9f | 40126 | 725 | 554 | |
50歳からのプログラミング言語入門。docker(152) https://qiita.com/kaizen_nagoya/items/5c7cec79cb3b15237076 | 1588 | 9 | 5 | |
RTL設計スタイルガイド Verilog HDL編(System Verilog対応版)https://qiita.com/kaizen_nagoya/items/4c02f1575db1f28310a7 | 25274 | 48 | 43 | |
C言語(C++)の理解、溶解、爽快。仮説・検証(173) https://qiita.com/kaizen_nagoya/items/3f3992c9722c1cee2e3a | 10053 | 63 | 65 | |
合計 | 470 | 117416 | 1193 | 1044 |
目標 | 1000 | 100,000 | 1000 | 1000 |
アセンブラだけ | 470 | 34320 | 338 | 359 |
アセンブラへの道入り口
https://researchmap.jp/blogs/blog_entries/view/78451/f56954643a2e9f7907fcc45fe87009c4?frame_id=407644
https://researchmap.jp/jowkoc1zp-45644/
という記事を2012年に記述してから6年経過した。
Qiitaのアセンブラの記事の少なさから、
Qiitaで組立語(assembler)・機械語(machine language)・CPU<アセンブラへの道>
アセンブラへの道
https://qiita.com/kaizen_nagoya/items/46f2333c2647b0e692b2
という記事で整理を始めた。量が多くなり、編集速度が極端に落ちた。一部分割した。
アセンブラへの道(2)
https://qiita.com/kaizen_nagoya/items/2a0bd88216bc51278be5
信頼性:ソフトウェアとコンピュータ
ソフトウェアのオープンソースの信頼性を高めるためには、コンピュータの信頼性を確保することが基礎になると考えています。
コンピュータの基礎は、論理回路です。論理回路は、Verilog-HDL,VHDLで記述できます。System C(C++)でも記述できます。
これらの記述のソースコードもオープンになっている場合があります。
機械語、アセンブラ
コンピュータとソフトウェアの接点は、機械語,あるいはアセンブラです。
ここで機械語は0と1で記述できるものと、0と1で記述したものの16進表記とします。
16進表記したものと、1対1対応できる文字で表記したものをアセンブラとします。
では、どういう順番に勉強するとよいか、いくつかの道があると思います。
1 直球勝負:CPUの創りかた
CPUの創りかた, 渡波 郁, 毎日コミュニケーションズ(2003/10/01)
https://www.amazon.co.jp/dp/4839909865
ここでは4ビットCPUを定義しています。TD4という命名です。
この派生で、2ビットCPUを定義された方がおみえです。
TD2という命名のようです。
「2bitCPUなので、処理は2bitで行います。命令は4種類です。レジスタはAレジスタのみとしました。命令フォーマットは、オペレーションコード2bit(■■)、イミディエイトデータ2bit(□□)の計4bit(■■□□)としました。入力ポート、出力ポートまでは面倒見切れないので省きました。ペンティアムにもI/Oの機能はありません。いい訳です。
命令は次のようにしてみました。AはAレジスタ、Imはイミディエイトデータです。
ADD A,Im 00 AレジスタにImを加算
MOV A,Im 01 AレジスタにImを転送
JNC Im 10 フラグが1ではないときにIm番地へジャンプ
JMP Im 11 Im番地へジャンプ
回路図などもTD2の頁にあります。
演習問題 このアセンブラで、何種類のプログラムが書けるか。
そのプログラムの可能な振舞の種類はいくつあるか。
前提条件として、回路図の例だけでなく、どの番地から始めるかを指定できる仕組みがあってもよい。ただし、回路図以外の前提条件は、付加回路を記述するか、前提条件を記述すること。
フラグレジスタの定義は、回路を見れば解読できます。
ただし、フラグレジスタの定義を独自にしてもよい。例えば,加算して桁溢れでフラグレジスタが1になる。それ以外の計算でフラグが0になる。
リセット回路を複雑にしてもよい。例えば,リセット回路に,とび先番地を与えることができるようにしてもよい。イミーディエートデータでは、00, 01, 10,11番地にしかアクセスできない。リセット回路で、100番地の値を読んで,その番地から事項できるようにしてもよい。また、リセット実行時のフラグレジスタの値を101番地から読んで設定するようにしてもよい。
2 直近勝負
CPUは完全に定義し、試験してあることを前提に、ソフトウェアの挙動だけを検討する。
8ビットCPU
intel8080,
intel 8085,
ザイログZ80
モトローラ6809,
MOS Technology 6502
日立 H8
16ビットCPU
intel 8086
モトローラ MC68000
DEC PDP-11
三菱電機 M16C
NEC V30
32ビットCPU
DEC VAX
intel 80386
モトローラ MC68030
サン SPARC
アーム ARM7
IBM PowerPC
MIPS
64bit
インテル X86-64
アーム ARM64
3 仮説勝負
実在しないCPUの命令後体系を考える。
プログラミング言語に適したCPUを想定し、実装が存在しないか、ソフトウェアのシミュレータだけ。
あるいは、過去には存在していたが、現在はシミュレータだけのもの。
参考資料
RUST入門
https://qiita.com/kaizen_nagoya/items/b3a42bf5a849dabe52c5
Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794
Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0
線網(Wi-Fi)空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001
C++ Support(0)
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514
Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0
Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76
Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8
なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2
言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4
プログラムちょい替え(0)一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394
一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39
プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945
小川清最終講義、小川清最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53
文書履歴
1.0 researchmapにて 20120422
2.0 Qiita初稿 20180716
2.1 リンク切れて異性 20211014
2.2 アセンブラ集計表追加 20211016
2.3 みだし整形 20211019
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.