Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2005-03-02

[プログラミング]RC メモ

AAA = 1

buf = [5,4,2,1]
a = AAA
b = a
a = 2
if a == b
end

i = 0
while i < buf.size
  c = buf[i]
  if buf[i] > 3
    buf[i] *= 2
  end
  i += 1
end

ASM::R_NUM = a
ASM_DW::R_COUNT = ASM_DEF::MAX

=begin asm
XOR  A
LD   C,A
=end

1 バイトと 2 バイト変数とどうやって区別するか。

--

もう少し考えてみた。正負の区別も難しい。

Aaa = 1

wordValue = 32767
uwordValue = unsigned 65535
byte_value = 127
ubyte_value = unsigned
ubyte_value = byte_value
ubyte_value2 = unsigned byte_value

buf = [5,4,2,1]
a = Aaa
b = a
a = 2
if a == b
end

i = 0
while i < buf.size
  c = buf[i]
  if buf[i] > 3
    buf[i] *= 2
  end
  i += 1
end

ASM_DB::R_NUM = a
ASM_DW::R_COUNT = ASM_DEF::MAX
ASM_REG::B = 0x0f
ASM::AND B

=begin asm
XOR  A
LD   C,A
=end

C だと

char c = 0;
int i;
i = c;

となるところが、 Ruby だと i のもともとの型が代入でなくなってしまう。 Ruby の処理系でも走らせたいことを考えると悩ましい。