#include "osecpu_ask.h" Int32s c:R00, x:R01, y:R02; api_openWin(256, 256); // c = 0; for (x = 0; x != 256; x++) { for (y = 0; y != 256; y++) { api_drawPoint(MODE_COL24, c, x, y); c += 0x100; } }
+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c 0000: 05 e2 59 0b b0 61 bb 62 bb 45 23 00 bb
prompt>osectols tool:dumpfr in:app0100_.ose 0000: 05e2 OSECPU-VMアプリの2バイトのシグネチャ 0004: 5_90_bb_0 api_openWin(256, 256); 000a: 6_1_bb for (R01 = 0; R01 != 256; R01++) { ... 000e: 6_2_bb for (R02 = 0; R02 != 256; R02++) { ... 0012: 4_5_2_3 api_drawPoint(MODE_COL24, R00, R01, R02); 0016: 0_0_bb R00 += 0x100;
#include "osecpu_ask.h" Int32s x:R01, y:R02, c:R00; api_openWin(256, 256); for (y = 0; y != 256; y++) { for (x = 0; x != 256; x++) { c = x ^ y; c *= 0x10101; api_drawPoint(MODE_COL24, c, x, y); } }
prompt>osectols tool:dumpfr in:app0115_.ose 0000: 05e2 0004: 5_90_bb_0 api_openWin(256, 256); 000a: 6_2_bb for (R01 = 0; R01 != 256; R01++) { ... 000e: 6_1_bb for (R02 = 0; R02 != 256; R02++) { ... 0012: 4_91_2_0_0 R00 = R01 ^ R02; 0018: 96_2_7510101 R00 *= 0x10101; 0022: 4_5_2_3 api_drawPoint(MODE_COL24, R00, R01, R02);
#include "osecpu_ask.h" #define L_func LOCAL(0) LOCALLABELS(1); #define func(x1, y1, x2, y2, c) R00=c; R01=x1; R02=y1; R03=x2; R04=y2; CALL(L_func); // main do { Int32s ax:R01, ay:R02, bx:R03, by:R04, count:R00; for (count = 0; count != 13; count++) { api_openWin(768, 768); func(256, 256, 512, 256, count); func(512, ay, bx, 512, count); func(ax, 512, 256, by, count); func(256, ay, bx, 256, count); api_sleep(0, 1024); } } api_end(); beginFunc(L_func); do { Int32s ax:R01, ay:R02, bx:R03, by:R04, count:R00; Int32s ux:R05, uy:R06, tx:R07, ty:R08; count--; if (count >= 0) { // ux = (by - ay + ax + bx) / 2; // uy = (ax - bx + ay + by) / 2; tx = ax + by; ty = bx - ay; ux = tx + ty; uy = tx - ty; ux /= 2; uy /= 2; tx = bx; ty = by; func(ax, ay, ux, uy, count); func(ux, uy, tx, ty, count); } else { // count = -1; api_drawLine(MODE_COL3, count, ax, ay, bx, by); } } endFunc();
prompt>osectols tool:dumpfr in:app0116_.ose 0000: 05e2 0004: 6_0_8d for (R00 = 0; R00 != 13; R00++) { 0008: 5_90_e300_0 api_openWin(768, 768); 0010: 2_bb_1 R01 = 256; 0014: 2_bb_2 R02 = 256; 0018: 2_d98_3 R03 = 512; 001d: 2_bb_4 R04 = 256; 0021: be_1 CALL(L_func); 0024: 2_d98_1 R01 = 512; 0029: 2_d98_4 R04 = 512; 002e: be_1 CALL(L_func); 0031: 2_d98_2 R02 = 512; 0036: 2_bb_3 R03 = 256; 003a: be_1 CALL(L_func); 003d: 2_bb_1 R01 = 256; 0041: 2_bb_4 R04 = 256; 0045: be_1 CALL(L_func); 0048: 5_89_0_d99 api_sleep(0, 1024); 004f: bc beginFunc(L_func); 0051: 0_6_bf R00--; 0055: a2_2_0 if (count >= 0) { ... 0059: 4_0_4_6_87 (以下省略) 005f: 4_95_6_b5_88 0067: 4_0_5_0_5 006c: 4_95_4_6_6 0072: 99_5_1 0076: 99_3_1 007a: 2_b5_9b 007f: 2_b6_9c 0084: 2_b5_3 0088: 2_b5_4 008c: be_0 008f: 2_b3_1 0093: 2_b3_2 0097: 2_b7_3 009b: 2_b7_4 009f: be_0 00a2: 3_2 00a4: 1 00a5: 4_5_3_0 00a9: 1
コメント | お名前 | NameLink | |