<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <title>cmdl</title> <meta name='robots' content='noindex,nofollow' /> <meta name='generator' content='GLOBAL-6.6.5' /> <meta http-equiv='Content-Style-Type' content='text/css' /> <link rel='stylesheet' type='text/css' href='../style.css' /> </head> <body> <pre> <span class='curline'><a href='../S/2837.html#L93'>cmdl</a> 93 src/assemble.c void assemble_start(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L104'>cmdl</a> 104 src/assemble.c void assemble_ds(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L115'>cmdl</a> 115 src/assemble.c void assemble_end(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L126'>cmdl</a> 126 src/assemble.c void assemble_dc(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L148'>cmdl</a> 148 src/assemble.c void assemble_in(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L172'>cmdl</a> 172 src/assemble.c void assemble_out(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L193'>cmdl</a> 193 src/assemble.c void assemble_rpush(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L215'>cmdl</a> 215 src/assemble.c void assemble_rpop(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L235'>cmdl</a> 235 src/assemble.c bool casl2cmd(CMD *cmdtbl, const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L245'>cmdl</a> 245 src/assemble.c bool assemble_comet2cmd(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L255'>cmdl</a> 255 src/assemble.c bool assembletok(const CMDLINE *cmdl, PASS pass);</span> <span class='curline'><a href='../S/2837.html#L431'>cmdl</a> 431 src/assemble.c void assemble_start(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L433'>cmdl</a> 433 src/assemble.c if(cmdl->opd->opdc > 1) {</span> <span class='curline'><a href='../S/2837.html#L437'>cmdl</a> 437 src/assemble.c if(!cmdl->label[0]) {</span> <span class='curline'><a href='../S/2837.html#L442'>cmdl</a> 442 src/assemble.c strcpy(asptr->prog, cmdl->label);</span> <span class='curline'><a href='../S/2837.html#L444'>cmdl</a> 444 src/assemble.c if(cmdl->opd->opdv[0] != NULL) {</span> <span class='curline'><a href='../S/2837.html#L445'>cmdl</a> 445 src/assemble.c asptr->ptr = execptr->start = getadr(asptr->prog, cmdl->opd->opdv[0], pass);</span> <span class='curline'><a href='../S/2837.html#L449'>cmdl</a> 449 src/assemble.c void assemble_end(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L451'>cmdl</a> 451 src/assemble.c if(cmdl->opd->opdc > 0) {</span> <span class='curline'><a href='../S/2837.html#L466'>cmdl</a> 466 src/assemble.c void assemble_ds(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L468'>cmdl</a> 468 src/assemble.c if(cmdl->opd->opdc != 1) {</span> <span class='curline'><a href='../S/2837.html#L472'>cmdl</a> 472 src/assemble.c for(int i = 0; i < atoi(cmdl->opd->opdv[0]); i++) {</span> <span class='curline'><a href='../S/2837.html#L480'>cmdl</a> 480 src/assemble.c void assemble_dc(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L482'>cmdl</a> 482 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc >= OPDSIZE) {</span> <span class='curline'><a href='../S/2837.html#L486'>cmdl</a> 486 src/assemble.c for(int i = 0; i < cmdl->opd->opdc; i++) {</span> <span class='curline'><a href='../S/2837.html#L487'>cmdl</a> 487 src/assemble.c writedc(cmdl->opd->opdv[i], pass);</span> <span class='curline'><a href='../S/2837.html#L494'>cmdl</a> 494 src/assemble.c void assemble_in(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L498'>cmdl</a> 498 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc > 2) {</span> <span class='curline'><a href='../S/2837.html#L504'>cmdl</a> 504 src/assemble.c sprintf(line, " LAD GR1,%s", cmdl->opd->opdv[0]);</span> <span class='curline'><a href='../S/2837.html#L506'>cmdl</a> 506 src/assemble.c sprintf(line, " LAD GR2,%s", cmdl->opd->opdv[1]);</span> <span class='curline'><a href='../S/2837.html#L514'>cmdl</a> 514 src/assemble.c void assemble_out(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L518'>cmdl</a> 518 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc > 2) {</span> <span class='curline'><a href='../S/2837.html#L524'>cmdl</a> 524 src/assemble.c sprintf(line, " LAD GR1,%s", cmdl->opd->opdv[0]);</span> <span class='curline'><a href='../S/2837.html#L526'>cmdl</a> 526 src/assemble.c sprintf(line, " LAD GR2,%s", cmdl->opd->opdv[1]);</span> <span class='curline'><a href='../S/2837.html#L537'>cmdl</a> 537 src/assemble.c void assemble_rpush(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L541'>cmdl</a> 541 src/assemble.c if(cmdl->opd->opdc > 0) {</span> <span class='curline'><a href='../S/2837.html#L552'>cmdl</a> 552 src/assemble.c void assemble_rpop(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L556'>cmdl</a> 556 src/assemble.c if(cmdl->opd->opdc > 0) {</span> <span class='curline'><a href='../S/2837.html#L567'>cmdl</a> 567 src/assemble.c bool casl2cmd(CMD *cmdtbl, const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L572'>cmdl</a> 572 src/assemble.c if(strcmp(cmdl->cmd, cmdtbl[i].name) == 0) {</span> <span class='curline'><a href='../S/2837.html#L574'>cmdl</a> 574 src/assemble.c (*cmdptr)(cmdl, pass);</span> <span class='curline'><a href='../S/2837.html#L581'>cmdl</a> 581 src/assemble.c bool assemble_comet2cmd(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L589'>cmdl</a> 589 src/assemble.c if(cmdl->opd->opdc == 0) {</span> <span class='curline'><a href='../S/2837.html#L590'>cmdl</a> 590 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, NONE)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L591'>cmdl</a> 591 src/assemble.c setcerr(112, cmdl->cmd); /* not command of no operand */</span> <span class='curline'><a href='../S/2837.html#L597'>cmdl</a> 597 src/assemble.c else if((r_r1 = grword(cmdl->opd->opdv[0], false)) != 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L599'>cmdl</a> 599 src/assemble.c if(cmdl->opd->opdc == 1) {</span> <span class='curline'><a href='../S/2837.html#L600'>cmdl</a> 600 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R_)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L601'>cmdl</a> 601 src/assemble.c setcerr(108, cmdl->cmd); /* not command of operand "r" */</span> <span class='curline'><a href='../S/2837.html#L608'>cmdl</a> 608 src/assemble.c else if(cmdl->opd->opdc == 2 && (x_r2 = grword(cmdl->opd->opdv[1], false)) != 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L609'>cmdl</a> 609 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R1_R2)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L610'>cmdl</a> 610 src/assemble.c setcerr(109, cmdl->cmd); /* not command of operand "r1,r2" */</span> <span class='curline'><a href='../S/2837.html#L618'>cmdl</a> 618 src/assemble.c else if(cmdl->opd->opdc == 2 || cmdl->opd->opdc == 3) {</span> <span class='curline'><a href='../S/2837.html#L619'>cmdl</a> 619 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R_ADR_X)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L620'>cmdl</a> 620 src/assemble.c setcerr(110, cmdl->cmd); /* not command of operand "r,adr[,x]" */</span> <span class='curline'><a href='../S/2837.html#L625'>cmdl</a> 625 src/assemble.c if(cmdl->opd->opdc == 3) { /* 第3オペランドは指標レジスタとして用いる汎用レジスタ */</span> <span class='curline'><a href='../S/2837.html#L626'>cmdl</a> 626 src/assemble.c if((x_r2 = grword(cmdl->opd->opdv[2], true)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L627'>cmdl</a> 627 src/assemble.c setcerr(125, cmdl->cmd); /* not GR in operand x */</span> <span class='curline'><a href='../S/2837.html#L632'>cmdl</a> 632 src/assemble.c adr = getadr(asptr->prog, cmdl->opd->opdv[1], pass); /* 第2オペランドはアドレス */</span> <span class='curline'><a href='../S/2837.html#L637'>cmdl</a> 637 src/assemble.c setcerr(113, cmdl->cmd); /* operand too many in COMET II command */</span> <span class='curline'><a href='../S/2837.html#L642'>cmdl</a> 642 src/assemble.c else if(cmdl->opd->opdc == 1 || cmdl->opd->opdc == 2) {</span> <span class='curline'><a href='../S/2837.html#L643'>cmdl</a> 643 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, ADR_X)) == 0xFFFF) {</span> <span class='curline'><a href='../S/2837.html#L644'>cmdl</a> 644 src/assemble.c setcerr(111, cmdl->cmd); /* not command of operand "adr[,x]" */</span> <span class='curline'><a href='../S/2837.html#L648'>cmdl</a> 648 src/assemble.c if(cmdl->opd->opdc == 2) { /* 第2オペランドは指標レジスタとして用いる汎用レジスタ */</span> <span class='curline'><a href='../S/2837.html#L649'>cmdl</a> 649 src/assemble.c x_r2 = grword(cmdl->opd->opdv[1], true);</span> <span class='curline'><a href='../S/2837.html#L659'>cmdl</a> 659 src/assemble.c adr = getlabel("", cmdl->opd->opdv[0]);</span> <span class='curline'><a href='../S/2837.html#L662'>cmdl</a> 662 src/assemble.c adr = getadr(asptr->prog, cmdl->opd->opdv[0], pass);</span> <span class='curline'><a href='../S/2837.html#L671'>cmdl</a> 671 src/assemble.c bool assembletok(const CMDLINE *cmdl, PASS pass)</span> <span class='curline'><a href='../S/2837.html#L674'>cmdl</a> 674 src/assemble.c if(!cmdl->cmd[0]) {</span> <span class='curline'><a href='../S/2837.html#L678'>cmdl</a> 678 src/assemble.c if(casl2cmd(ascmd, cmdl, pass) == false && casl2cmd(macrocmd, cmdl, pass) == false) {</span> <span class='curline'><a href='../S/2837.html#L680'>cmdl</a> 680 src/assemble.c if(assemble_comet2cmd(cmdl, pass) == false) {</span> <span class='curline'><a href='../S/2837.html#L682'>cmdl</a> 682 src/assemble.c setcerr(113, cmdl->cmd); /* operand too many in COMET II command */</span> <span class='curline'><a href='../S/2837.html#L691'>cmdl</a> 691 src/assemble.c CMDLINE *cmdl = NULL;</span> <span class='curline'><a href='../S/2837.html#L694'>cmdl</a> 694 src/assemble.c cmdl = linetok(line);</span> <span class='curline'><a href='../S/2837.html#L696'>cmdl</a> 696 src/assemble.c if(cmdl != NULL) {</span> <span class='curline'><a href='../S/2837.html#L698'>cmdl</a> 698 src/assemble.c if(pass == FIRST && cmdl->label[0]) {</span> <span class='curline'><a href='../S/2837.html#L699'>cmdl</a> 699 src/assemble.c stat = addlabel(asptr->prog, cmdl->label, asptr->ptr);</span> <span class='curline'><a href='../S/2837.html#L703'>cmdl</a> 703 src/assemble.c stat = assembletok(cmdl, pass);</span> <span class='curline'><a href='../S/2837.html#L705'>cmdl</a> 705 src/assemble.c FREE(cmdl->label);</span> <span class='curline'><a href='../S/2837.html#L706'>cmdl</a> 706 src/assemble.c if(cmdl->opd != NULL) {</span> <span class='curline'><a href='../S/2837.html#L707'>cmdl</a> 707 src/assemble.c for(int i = 0; i < cmdl->opd->opdc; i++) {</span> <span class='curline'><a href='../S/2837.html#L708'>cmdl</a> 708 src/assemble.c FREE(cmdl->opd->opdv[i]);</span> <span class='curline'><a href='../S/2837.html#L711'>cmdl</a> 711 src/assemble.c FREE(cmdl->opd);</span> <span class='curline'><a href='../S/2837.html#L712'>cmdl</a> 712 src/assemble.c FREE(cmdl->cmd);</span> <span class='curline'><a href='../S/2837.html#L714'>cmdl</a> 714 src/assemble.c FREE(cmdl);</span> <span class='curline'><a href='../S/2820.html#L101'>cmdl</a> 101 src/token.c CMDLINE *cmdl = NULL;</span> <span class='curline'><a href='../S/2820.html#L116'>cmdl</a> 116 src/token.c cmdl = malloc_chk(sizeof(CMDLINE), "cmdl");</span> <span class='curline'><a href='../S/2820.html#L121'>cmdl</a> 121 src/token.c cmdl->label = strdup_chk("", "cmdl->label");</span> <span class='curline'><a href='../S/2820.html#L123'>cmdl</a> 123 src/token.c cmdl->label = strndup_chk(p, i, "cmdl->label");</span> <span class='curline'><a href='../S/2820.html#L126'>cmdl</a> 126 src/token.c setcerr(104, cmdl->label); /* label length is too long */</span> <span class='curline'><a href='../S/2820.html#L127'>cmdl</a> 127 src/token.c FREE(cmdl->label);</span> <span class='curline'><a href='../S/2820.html#L139'>cmdl</a> 139 src/token.c if(cmdl->label) { /* ラベルが定義されていて命令がない場合はエラー */</span> <span class='curline'><a href='../S/2820.html#L142'>cmdl</a> 142 src/token.c FREE(cmdl->label);</span> <span class='curline'><a href='../S/2820.html#L143'>cmdl</a> 143 src/token.c FREE(cmdl);</span> <span class='curline'><a href='../S/2820.html#L148'>cmdl</a> 148 src/token.c cmdl->cmd = strndup_chk(p, i, "cmdl.cmd");</span> <span class='curline'><a href='../S/2820.html#L156'>cmdl</a> 156 src/token.c cmdl->opd = opdtok(p);</span> <span class='curline'><a href='../S/2820.html#L159'>cmdl</a> 159 src/token.c return cmdl;</span> </pre> </body> </html>