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 の処理系でも走らせたいことを考えると悩ましい。