こんばんは。カマドウマがいる台所(土間)がある家で子供時代を過ごした者ですw
帰省してからムカデが二回でました。今日のはでかかったので、ついこれに書いてしまいますw 襖を這うとジリジリ音がするので気付くのです。大分慣れてはきましたが、もうヤダ。
今回は対策用に用意してあったトングを素早く手に取り、ターゲットを摘んで窓からポイです。前回は殺虫剤をシューしてハエ叩きでバシバシ。家に入って来なければこっちも何もしないのに。
カメムシとかならまだいいんですが、ムカデは噛まれたりするので実害がありますし。
さてー、前回はオープンソースとかプログラムの事を書いたので、最初のこれ(DJNZ )が強く印象に残っているのも書きたいw
Z80というプロセッサの命令で、そもそもプログラムはジャンプとか加算とかそういう命令を組み合わせて何らかの機能を実現させます。
DJNZはデクリメントジャンプノンゼロ。
インクリメント、デクリメントというものがあり、インクリメントは1増やす、デクリメントは1減らす命令です。
DJNZは、あるレジスタ(CPUが計算などに使う超高速に操作できるエリアで幾つかある)の値をデクリメントしてゼロでなければ指定のアドレスにジャンプするという命令。
複雑な命令ですよこれはw 通常ならどこにジャンプ、何を加算、みたいな単純な命令なのに、それを複数まとめたものなので。
DJNZ label1とか書くのだっけか。
書いてある命令を淡々と実行していく事でアプリなどは動いているんです。
本当に書いた通りに動くんですよorz。思い通りに動作しない時は、そんな筈は無いだろうと思っても大概自分が間違って書いてますw
このDJNZ はループする時などに使うんですよね。
細かい事は忘れましたがイメージとして、例えばDJNZが見るレジスタの初期値に100を入れといて、一回何かの処理をするたびにこの命令が実行されるわけです。
何かの処理を実行したら100から一ずつ減らされていき(デクリメント)、ゼロじゃなければ元の位置にジャンプして繰り返し、ゼロになったらこの命令を抜け次にある命令を実行するとか、そういう感じ。
プログラムの勉強中にちょっと習いました。私の周囲ではハードの人も組込みのCで書いてましたが、私より上の世代はこういうアセンブリ言語の方が馴染みかも。
こういう命令の一連のセットがCPUによって異なるので、例えばインテルとアップルでは互換性がどうこうという話になったのです。
なんでこれを覚えているかというと、多分、発音が楽しくて言いたくなる単語だったと思うのだけどw
デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロ、デクリメントジャンプノンゼロって(笑)
プログラム関係者以外には何だかなぁの内容ですが、さらっと流してください。ただ書きたいだけw
って誰も最後まで読んでないかもなあ。
広告とか
-- 記事一覧ページへ --