类似vc6的集成开发环境的源代码
源代码在线查看: liming.txtsi02.txt
macro:
rspstart=0x0000;
rhpstartaddr=0x0070;
const:
rhpstart=rhpstartaddr;
main:
rd0=rspstart;
rsp=rd0;
rd0=rhpstart;
push(rd0);
pop(rhp);
push(rd0);
pop(ra1);
push(rd0);
pop(ra0);
1:
push(ra0);
pop(rhp);
rhp-=1;
m(rhp+0)=ra0;
push(rhp);
pop(ra0);
2:
push(ra1);
pop(rhp);
rhp-=8;
m(rhp+0)=ra1;
push(rhp);
pop(ra1);
3:
rd0=0;
4:
m(ra1+1)=rd0;
5:
rd0=m(ra1+1);
6:
rd1=3;
7:
rd1-=rd0;
if(!rcarry) goto(laa);
if(rzero) goto(laa);
rd0=1;
goto(8);
laa:
rd0=0;
8:
rd0--;
if(!rzero) goto(27);
9:
goto(15);
10:
rd0=m(ra1+1);
11:
rd1=1;
12:
rd0+=rd1;
13:
m(ra1+1)=rd0;
14:
goto(5);
15:
rd0=0;
16:
rd1=m(ra1+1);
17:
rd2=1;
18:
rd1*=rd2;
19:
rd0+=rd1;
20:
rd1=2;
21:
rd0*=rd1;
22:
rd1=3;
23:
rd0+=rd1;
24:
rd1=m(ra1+1);
26:
goto(10);
27:
rd2=0;
28:
rd3=0;
29:
push(rd0);
rd0=1;
30:
rd3*=rd0;
pop(rd0);
31:
rd2+=rd3;
32:
rd3=2;
33:
rd2*=rd3;
34:
rd3=3;
35:
rd2+=rd3;
36:
rd3=m(ra1+1);
37:
push(rd0);
rd0=3;
38:
rd3*=rd0;
pop(rd0);
39:
push(rd0);
rd0=m(ra1+1);
40:
rd3+=rd0;
pop(rd0);
41:
push(rd0);
rd0=5;
42:
rd3+=rd0;
pop(rd0);
44:
goto(44);