プロが教えるわが家の防犯対策術!

CASLのビットマップで、元の図を右反転させたいのですがどのようなプログラムにしたらいいのでしょうか??また180度回転させるにはどうしたらいいのでしょう?

A 回答 (2件)

>16×16の図形を左に90度回転する、というものがあり


ということだったら、
2回適用すればいいような気がします。
直接やるという話だったら
L1:16ビット(1語)
L2:16ビット(1語)
L3:16ビット(1語)

L14:16ビット(1語)
L15:16ビット(1語)
L16:16ビット(1語)
L1~L16を反転(逆順に)し、それぞれの語をビット反転すればいいですよね。
ビット反転は、
元のビットを1ビット取り出しながら右論理シフトして
そのビットを反転先ビットとして設定しながら左シフトしていけばいいと思います。

この回答への補足

質問しといてすいません。もしかしたら、私の行為はこのサイトの違反行為かも知れないのでここで締め切ります。今までありがとうございました!!

補足日時:2006/01/26 23:47
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。 直接やる場合の、L1~L16を反転させるというのはどうしたらいいのでしょう??元のプログラムに足せばいいのでしょうか?

お礼日時:2006/01/26 23:36

CASLの仕様で、図を描けるような装置やそのメモリとなるようなビットマップ構造については説明されていませんので、


多分、何らかの問題としての設定としてそのようなことが言われているのではないかと思いますが、
その設定(前提)を補足して下さい。
勘違いコメントだったらすみません。

この回答への補足

お返事ありがとうございます。え~と、16×16の図形を左に90度回転する、というものがあり、私はそれをさらに回転させるにはどうしたらいいのか知りたいです。プログラムは、
SMP1031 START
LAD GR1,15
LOOP ST GR2,ZUKEI2,GR1
SUBA GR1,=1
JPL LOOP
JZE LOOP
LAD GR1,0
LD GR2,=#8000
LOOP1 LD GR3,=#8000
LD GR4,ZUKEI1,GR1
LAD GR5,15
LOOP2 LD GR6,GR4
AND GR6,GR3
JZE STEP
LD GR7,ZUKEI2,GR5
 ADDL GR7,GR2
 ST GR7,ZUKEI2,GR5
STEP SRL GR5,=1
 SUBA GR5,=1
 JPL LOOP2
 JZE LOOP2 
 SRL GR2,1
 LAD GR1,1,GR1
 CPA GR1,=16
 JNZ LOOP1
 RET
ZUKEI1 DC #FFF0 #FFF8 #7FFC #780E
:
:
ZUKEI2 DS 16
***リテラルのDC行自動生成***
=1 DC 1
=#8000 DC #8000
=16 DC 16
 END
です。ZUKEI2でビットマップを出すと、ZUKEI1の図が左回転しています。もう1度左回転させれば計180度回転になるのですが…  

補足日時:2006/01/25 21:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!