#2013_11_12 星期二 add by greshem
H:\portage\dev-lang\pasm\pasm.chm
root/main.c
406 /* assemble */
407 exec_pass1(gv);
pass1(gv,add_source(gv,"",stdsects,
search_opcode(gv,pl,gv->strbuf,skipspaces(lp));
#==========================================================================
if (pl->opcode = (void *)search_macro(gv,opname)) {
execute_macro(gv,pl);
else if (pl->opcode = (void *)search_instr(gv,opname)) {
gv->csect->pc += 4; /* every PPC instruction has a size of 4 bytes */
else if (pl->opcode = (void *)search_directive(gv,opname)) {
execute_directive(gv,pl);
else if (pl->opcode = (void *)search_section(gv,opname)) {
activate_section(gv,(struct Section *)pl->opcode);
410
411 for (;;) {
412 gv->anotherpass = FALSE;
413 exec_pass2(gv);
pass2(gv,get_source(gv),NULL); /* */
activate_section(gv,(struct Section *)p->opcode);
pass2(gv,get_source(gv),NULL); /* */
pass2(gv,get_source(gv),NULL); /* */
pass2(gv,get_source(gv),NULL); /* */
pass2(gv,get_source(gv),NULL);
417 reset_sections(gv);
418 }
419
420 /* write output file */
421 write_object(gv);
#==========================================================================
#指令的注册
#数据库
115 struct CPUInstr instructions[] = {
#处理函数:
instr(gv,p);
阅读(568) | 评论(0) | 转发(0) |