• ベストアンサー

CASLのビットマップについて

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

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.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ビット取り出しながら右論理シフトして そのビットを反転先ビットとして設定しながら左シフトしていけばいいと思います。

pingudaisuki
質問者

お礼

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

pingudaisuki
質問者

補足

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

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

CASLの仕様で、図を描けるような装置やそのメモリとなるようなビットマップ構造については説明されていませんので、 多分、何らかの問題としての設定としてそのようなことが言われているのではないかと思いますが、 その設定(前提)を補足して下さい。 勘違いコメントだったらすみません。

pingudaisuki
質問者

補足

お返事ありがとうございます。え~と、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度回転になるのですが…  

関連するQ&A