タグ

Assemblerに関するmoritataのブックマーク (4)

  • 『6809-Assembly言語』を使い始めたら、『Z80-Assembler』が馬鹿馬鹿しくなった - Analogue-Synthesizerのブログ

    8Bitレジスタ扱いは、Z80や8085Aは、8Bitデータなどは扱いやすいのですが 16Bit扱いと成ると、やはり6809の方が断然作りやすく 16Bitで扱う為に、8Bitレジスタ間をZ80ではたらい回ししなければならず また、16Bitペアレジスタとして使うにはBC、HL、DEレジスタの3個で Aレジスタ中心の演算が、返ってまどろこしい結果となり 16Bit-Address計算などは、断然6809の方が優れており Z80-Assembler言語で、僕のしている事が、なんと回りくどい事をしているのかと思う様に成りました。ある意味では『6809-Assembler言語』の方がSequenceには向いているのでは・・・と思うこの頃です。 『6809』がミニコンに相当しているというのは確かな事です アーキテクチャーを見た限りでは、Z80の方が優れているのでは・・・と思うかもしれませんが、簡単

    『6809-Assembly言語』を使い始めたら、『Z80-Assembler』が馬鹿馬鹿しくなった - Analogue-Synthesizerのブログ
  • 第4回 "case" の事情 | gihyo.jp

    前回は条件分岐を行うためのEFLAGSレジスタと条件分岐命令について説明しました。 しかし、プログラミングにおける重要な制御構造でありながら、単純な条件分岐では実現できないものとして、C/C++言語で言うところのswitch構文があります。 今回は、このswitch構文について、アセンブラの視点から見てみましょう。 if分岐の限界 たとえば: 変数 "x" に格納された値が0, 1, 2, 3, およびそれ以外の場合に、それぞれ異なる処理を行いたい。 という状況で、あまり手馴れていない人の実装は往々にして以下のようになります。 リスト1 if 分岐による実装 if(x == 0){ .... } else if(x == 1){ .... } else if(x == 2){ .... } else if(x == 3){ .... } else{ .... } 上記の例は、「⁠それ以外」

    第4回 "case" の事情 | gihyo.jp
  • 第2回 メモリに始まりメモリに終わる|gihyo.jp … 技術評論社

    上記はEAXレジスタに対する表記例ですが、16ビット長に関する表記は他の全ての汎用レジスタに対して、8ビット長に関する表記はEBX、ECX、EDXに対して適用することができます。 直接アドレッシング/間接アドレッシング 取り扱い対象を直接指定するのが「直接アドレッシング⁠」⁠、指定したものをアドレス値とみなしてメモリ領域(あるいはそこに格納された値)を取り扱うのが「間接アドレッシング」です。 以下に、レジスタ指定/値指定との組み合わせの例を示します。 リスト4 直接/間接アドレッシング .data .align 4 .global value value: .long 1 .text .align 4 .global entry_point entry_point: int3 # プログラム実行の一時停止 # 転送元: value 領域の格納値(間接) # 転送先: レジスタ eax(直接

    第2回 メモリに始まりメモリに終わる|gihyo.jp … 技術評論社
  • 「68000が本当に大好き」――フリースケール・プログラム・コンテスト - @IT

    2007/04/24 フリースケール・セミコンダクタ・ジャパンは4月24日、「68K/ColdFireアプリケーション・プログラム・コンテスト」の最終選考会を開催し、最優秀賞以下4作品を選出した。最終選考に残ったのは6作品。 コンテストは、68K/ColdFireマイクロプロセッサ開発キットを使用したアプリケーションプログラムが審査対象。応募者には、通常価格10万円の開発キットが特別に3万円で提供された。 最優秀賞に選ばれたのは、飯塚連也氏の「ねずみくんとポーカーしようよ」。標準搭載のVGAチップを使用したビデオゲームで、外部音源を接続すればサウンド演奏もできる作品だ。飯塚氏は受賞について、「16歳の頃、初めて68000(MC68000)に出会ってから、ずっと大好きなんです。このような賞を受賞できて当にうれしく思います」と話した。飯塚氏には、10万円相当の商品券と記念盾が贈られた。

  • 1