タグ

アセンブラに関するatm_09_tdのブックマーク (7)

  • アセンブラに手を出してみる - Qiita

    がっつりとやるつもりはありませんが、もしかしたら読む必要が出るかもしれないので少しだけお勉強。 もともと仕組みを知ることが好きなので読み始めると結構面白いです。 (ほんとはarmのほうが知識としては必要なんだけど、それはまた後日調べる) はじめに 今回まとめているのはx86とx86_64アーキテクチャに関するものです。 armなどはまた異なったものとなります。 また、構文もいくつかあるようで、それぞれ AT&T構文、 Intel構文というようです。 構文の違い %raxなどのように、レジスタに%がついていたりするのはAT&T構文です。 ついていないものはIntel構文です。 また、セクションの定義など細かいところで色々と差異があるようです。 ソース・ディスティネーション 上記構文の中で特に覚えておかないと混乱するのがこの「ソース」と「ディスティネーション」の順番です。 例えば、raxレジス

    アセンブラに手を出してみる - Qiita
  • とりあえず触ってみる所から始める、『SHENZHEN I/O』 - Qiita

    実際にアセンブリを書く『SHENZHEN I/O』というパズルゲームがあります。 自分の回りでは非エンジニアのプレイヤーも日々増えていて、スコア画面が賑っていて大変嬉しいです。 Steam:SHENZHEN I/O しかし、プログラムに触れた経験が無い場合、ゲーム開始のとっかかりを得れなくて1問目に立ち向かう前に頓挫してしまう事もあるようです。 特に英語PDF 資料にまず目を通さねばならない点は非情に高い障壁である為、 「 pdf 資料とかいいからとりあえず最初の問題を触ってみよう!」という主旨で このような記事を執筆しています。 ※この記事は非エンジニアの方に向けたものなので、エンジニアの方には簡単すぎるかもしれません。 ※また 英語pdf にはストーリー部もあり面白いので、余裕が出たら一度読んでみる事もお勧めします。 まずは1問目 ゲームサイトのレビューにて 30ページ長のマニ

    とりあえず触ってみる所から始める、『SHENZHEN I/O』 - Qiita
  • アセンブラ短歌 - 葉っぱ日記

    世の中には常人には理解できない趣味を持っている人がいまして、組み込みOSを作っている坂井さんもその一人で、最近は「アセンブラ短歌」という新しい遊びを提案しています。アセンブラ短歌というのは坂井さんによると、“「アセンブラ短歌」は五・七・五・七・七の三十一バイト(みそひとバイト)から成る 機械語コードでプログラムを書いてみるという近未来の文化趣味であり,近年, 国内のハッカー間で密かなブームが起きています.” ということらしいですが、さっぱり意味がわかりません。 まあ意味がわからないのですがとりあえず嗜みとしてアセンブラ短歌くらい詠めないと恥ずかしい感じなので、自動的にアセンブラ短歌を生成するやつを作りました。 8086アセンブラ短歌ジェネレータ これを使うと、こんな感じの8086のアセンブラ短歌が誰でも簡単に詠めちゃいます。 a7 03 87 13 b7 03 65 a8 fb 1f 2

    アセンブラ短歌 - 葉っぱ日記
  • Hello GNU Assembler World – taichino.com

  • Linuxをはじめよう!:アセンブリをやってみよう! 0x100

    勉強が忙しかったり、家庭の事情があったりで長らく更新の間隔を 空けてしまいました。 今回からはアセンブリ言語をやってみよう!という、 文字通りひねりのない企画ですー。 「アセンブリ」とか聞くと、高級言語使用者は身構えてしまいがちですが、 実は、このアセンブリ、下手な高級言語よりはよっぽど簡単で、 しかも納得ができます。 最近はオブジェクト指向が流行のようですが、オブジェクト指向が 極端になるとコンピュータの内部詳細がまったく読めず、 非常に理解しづらい言語となってしまうことすらあります。 アセンブリはコンピュータの内部動作までしっかり把握することが でき、体にはねかえってきやすいです。 ただ、裏を返すと内部動作をきちんと理解しないと 使いこなすことはできないわけです。 企画では、ハードウェアの基礎を少しおさらいし、 アセンブリ言語の基文法を抑え、C言語との対比なども 加えつつ、進めてい

  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

  • Assembly Programming Linux

    はじめに. アセンブラを使って Linux のプログラミングで遊んでみます.アセンブラには NASM を使用して,カーネルを直接利用することにします. いまさらアセンブラでプログラムを作成することは,時代錯誤と感じる人も 多いかもしれません.「アセンブラでプログラミングなんて職人芸でしょう」 と思うかもしれません. 20年前では趣味のプログラミングは BASIC か アセンブラしか選択肢がありません でしたが,今ではPerl, Ruby からアセンブラまでの間に非常に多くの言語があって, アセンブラは普通では不要な最下層の知識となっていると思います. 10BaseT のツイストペアケーブルのインピーダンスを気にする人はほとんどいない ようなものでしょうか? アセンブリ言語の学習で最も困難なのは,最近では書籍が見つからないこと かもしれません. …と書いていましたが、また増えてきているようで

  • 1