タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

z80に関するTAKESAKOのブックマーク (3)

  • 高木浩光@自宅の日記 - 古い手書きメモが出てきた

    ■ 古い手書きメモが出てきた 実家の蔵の整理中、大量のゴミ書類の中に、懐かしい手書きのメモをいくつか見つけた。 これはおそらく初めて自作したプログラム。たしかにN-BASICで動かしていた記憶がある。内容は、乱数で決められた4つの数字(同じ数字を含まない)を秘密として、これを当てる目的で4桁の数字を入力させ、桁位置まで合っているものが何個(○ヒット)で、位置は合っていないが含まれているのが何個(○ボール)というヒントを表示し、4ヒットになるまで繰り返し、かかった回数と時間を表示するというもの。(そんな玩具があったよね。色を当てるものだったか。) この時、配列の概念を知らないで書いていたのがわかる。桁数を任意にしようとすると破綻するという、誰もが通るはずの経験。冒頭の、乱数で4つの重ならない数字を作り出すループの書き方も下手クソだ。おそらく1981年。

    TAKESAKO
    TAKESAKO 2008/01/06
    オッサンホイホイ
  • z80 golf(4) - やねうらおブログ(移転しました)

    文字列をfall throughさせる技法についていくつか補足しておく。 昨日の日記でも書いたが、このとき1バイトで出来る変換を施すのが良い。 +1 / -1のオフセットを加算するのが典型的だが、他には、Z80だと、2の補数(NEG)、1の補数(CPL)、ローテイト、算術シフトなども1バイトで出来る。あと、ループ変数的に変動するレジスタがあれば、そいつとのADDやSUBも出来る。 たとえば、このとき、 LD A,(HL) INC L ; Lは1ずつ増える ADD A,L のようにしてdecodeすることが出来る。INC Lの位置は、ADD A,Lの後ろにすることもでき、こうすることで、1だけずらしてdecodeすることも出来る。もちろん、ADD A,LをSUB Lに置き換えることもできる。 このようにして文字列に自分が望むコードになるようにencodeするのだが、なかなかうまくいかない。こ

    z80 golf(4) - やねうらおブログ(移転しました)
    TAKESAKO
    TAKESAKO 2007/12/31
    19byteすげー
  • 2007-12-30 続プログラムは ASCII で書くべき - 兼雑記

    Z80 ゴルフはなかなか大変だなぁと思ったので命令セットに慣れるためにアルファベットと数字だけで Hello, world! を書いてみました。記号も入ってないので前回よりも偉いかもしれません。 2Hello20world3999999555555F9p555555555F5559V99999px27055ENy2009t4Ny210u44Ny280r5Ny2A044444444Ny23044Ny260t5555Ny240555Ny290さらに進めてアルファベットだけ…は ld と halt しか無いのでどう見ても無理ぽくて、記号はまぁできるかなぁ…とか考えていたところ、数字だけというのが可能なことに気付きました。以下のコードは誰が何と言おうと機械語です(改行は除くこと)。 3555555555555555555955555555555555555555555555555555555555

    2007-12-30 続プログラムは ASCII で書くべき - 兼雑記
    TAKESAKO
    TAKESAKO 2007/12/30
    www
  • 1