<!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.14' />
<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/2847.html#L83'>cmdl</a> 83 src/assemble.c void assemble_start(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L92'>cmdl</a> 92 src/assemble.c void assemble_ds(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L101'>cmdl</a> 101 src/assemble.c void assemble_end(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L110'>cmdl</a> 110 src/assemble.c void assemble_dc(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L130'>cmdl</a> 130 src/assemble.c void assemble_in(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L152'>cmdl</a> 152 src/assemble.c void assemble_out(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L171'>cmdl</a> 171 src/assemble.c void assemble_rpush(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L191'>cmdl</a> 191 src/assemble.c void assemble_rpop(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L211'>cmdl</a> 211 src/assemble.c bool casl2cmd(CMD *cmdtbl, const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L221'>cmdl</a> 221 src/assemble.c bool assemble_comet2cmd(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L231'>cmdl</a> 231 src/assemble.c bool assembletok(const CMDLINE *cmdl, PASS pass);</span>
<span class='curline'><a href='../S/2847.html#L407'>cmdl</a> 407 src/assemble.c void assemble_start(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L409'>cmdl</a> 409 src/assemble.c if(cmdl->opd->opdc > 1) {</span>
<span class='curline'><a href='../S/2847.html#L413'>cmdl</a> 413 src/assemble.c if(!cmdl->label[0]) {</span>
<span class='curline'><a href='../S/2847.html#L418'>cmdl</a> 418 src/assemble.c strcpy(asptr->prog, cmdl->label);</span>
<span class='curline'><a href='../S/2847.html#L420'>cmdl</a> 420 src/assemble.c if(cmdl->opd->opdv[0] != NULL) {</span>
<span class='curline'><a href='../S/2847.html#L421'>cmdl</a> 421 src/assemble.c asptr->ptr = execptr->start = getadr(asptr->prog, cmdl->opd->opdv[0], pass);</span>
<span class='curline'><a href='../S/2847.html#L425'>cmdl</a> 425 src/assemble.c void assemble_end(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L427'>cmdl</a> 427 src/assemble.c if(cmdl->opd->opdc > 0) {</span>
<span class='curline'><a href='../S/2847.html#L442'>cmdl</a> 442 src/assemble.c void assemble_ds(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L444'>cmdl</a> 444 src/assemble.c if(cmdl->opd->opdc != 1) {</span>
<span class='curline'><a href='../S/2847.html#L448'>cmdl</a> 448 src/assemble.c for(int i = 0; i < atoi(cmdl->opd->opdv[0]); i++) {</span>
<span class='curline'><a href='../S/2847.html#L456'>cmdl</a> 456 src/assemble.c void assemble_dc(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L458'>cmdl</a> 458 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc >= OPDSIZE) {</span>
<span class='curline'><a href='../S/2847.html#L462'>cmdl</a> 462 src/assemble.c for(int i = 0; i < cmdl->opd->opdc; i++) {</span>
<span class='curline'><a href='../S/2847.html#L463'>cmdl</a> 463 src/assemble.c writedc(cmdl->opd->opdv[i], pass);</span>
<span class='curline'><a href='../S/2847.html#L470'>cmdl</a> 470 src/assemble.c void assemble_in(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L474'>cmdl</a> 474 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc > 2) {</span>
<span class='curline'><a href='../S/2847.html#L480'>cmdl</a> 480 src/assemble.c sprintf(line, " LAD GR1,%s", cmdl->opd->opdv[0]);</span>
<span class='curline'><a href='../S/2847.html#L482'>cmdl</a> 482 src/assemble.c sprintf(line, " LAD GR2,%s", cmdl->opd->opdv[1]);</span>
<span class='curline'><a href='../S/2847.html#L490'>cmdl</a> 490 src/assemble.c void assemble_out(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L494'>cmdl</a> 494 src/assemble.c if(cmdl->opd->opdc == 0 || cmdl->opd->opdc > 2) {</span>
<span class='curline'><a href='../S/2847.html#L500'>cmdl</a> 500 src/assemble.c sprintf(line, " LAD GR1,%s", cmdl->opd->opdv[0]);</span>
<span class='curline'><a href='../S/2847.html#L502'>cmdl</a> 502 src/assemble.c sprintf(line, " LAD GR2,%s", cmdl->opd->opdv[1]);</span>
<span class='curline'><a href='../S/2847.html#L513'>cmdl</a> 513 src/assemble.c void assemble_rpush(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L517'>cmdl</a> 517 src/assemble.c if(cmdl->opd->opdc > 0) {</span>
<span class='curline'><a href='../S/2847.html#L528'>cmdl</a> 528 src/assemble.c void assemble_rpop(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L532'>cmdl</a> 532 src/assemble.c if(cmdl->opd->opdc > 0) {</span>
<span class='curline'><a href='../S/2847.html#L543'>cmdl</a> 543 src/assemble.c bool casl2cmd(CMD *cmdtbl, const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L548'>cmdl</a> 548 src/assemble.c if(strcmp(cmdl->cmd, cmdtbl[i].name) == 0) {</span>
<span class='curline'><a href='../S/2847.html#L550'>cmdl</a> 550 src/assemble.c (*cmdptr)(cmdl, pass);</span>
<span class='curline'><a href='../S/2847.html#L557'>cmdl</a> 557 src/assemble.c bool assemble_comet2cmd(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L565'>cmdl</a> 565 src/assemble.c if(cmdl->opd->opdc == 0) {</span>
<span class='curline'><a href='../S/2847.html#L566'>cmdl</a> 566 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, NONE)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L567'>cmdl</a> 567 src/assemble.c setcerr(112, cmdl->cmd); /* not command of no operand */</span>
<span class='curline'><a href='../S/2847.html#L573'>cmdl</a> 573 src/assemble.c else if((r_r1 = grword(cmdl->opd->opdv[0], false)) != 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L575'>cmdl</a> 575 src/assemble.c if(cmdl->opd->opdc == 1) {</span>
<span class='curline'><a href='../S/2847.html#L576'>cmdl</a> 576 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R_)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L577'>cmdl</a> 577 src/assemble.c setcerr(108, cmdl->cmd); /* not command of operand "r" */</span>
<span class='curline'><a href='../S/2847.html#L584'>cmdl</a> 584 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/2847.html#L585'>cmdl</a> 585 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R1_R2)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L586'>cmdl</a> 586 src/assemble.c setcerr(109, cmdl->cmd); /* not command of operand "r1,r2" */</span>
<span class='curline'><a href='../S/2847.html#L594'>cmdl</a> 594 src/assemble.c else if(cmdl->opd->opdc == 2 || cmdl->opd->opdc == 3) {</span>
<span class='curline'><a href='../S/2847.html#L595'>cmdl</a> 595 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, R_ADR_X)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L596'>cmdl</a> 596 src/assemble.c setcerr(110, cmdl->cmd); /* not command of operand "r,adr[,x]" */</span>
<span class='curline'><a href='../S/2847.html#L601'>cmdl</a> 601 src/assemble.c if(cmdl->opd->opdc == 3) { /* 第3オペランドは指標レジスタとして用いる汎用レジスタ */</span>
<span class='curline'><a href='../S/2847.html#L602'>cmdl</a> 602 src/assemble.c if((x_r2 = grword(cmdl->opd->opdv[2], true)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L603'>cmdl</a> 603 src/assemble.c setcerr(125, cmdl->cmd); /* not GR in operand x */</span>
<span class='curline'><a href='../S/2847.html#L608'>cmdl</a> 608 src/assemble.c adr = getadr(asptr->prog, cmdl->opd->opdv[1], pass); /* 第2オペランドはアドレス */</span>
<span class='curline'><a href='../S/2847.html#L613'>cmdl</a> 613 src/assemble.c setcerr(113, cmdl->cmd); /* operand too many in COMET II command */</span>
<span class='curline'><a href='../S/2847.html#L618'>cmdl</a> 618 src/assemble.c else if(cmdl->opd->opdc == 1 || cmdl->opd->opdc == 2) {</span>
<span class='curline'><a href='../S/2847.html#L619'>cmdl</a> 619 src/assemble.c if((cmd = getcmdcode(cmdl->cmd, ADR_X)) == 0xFFFF) {</span>
<span class='curline'><a href='../S/2847.html#L620'>cmdl</a> 620 src/assemble.c setcerr(111, cmdl->cmd); /* not command of operand "adr[,x]" */</span>
<span class='curline'><a href='../S/2847.html#L624'>cmdl</a> 624 src/assemble.c if(cmdl->opd->opdc == 2) { /* 第2オペランドは指標レジスタとして用いる汎用レジスタ */</span>
<span class='curline'><a href='../S/2847.html#L625'>cmdl</a> 625 src/assemble.c x_r2 = grword(cmdl->opd->opdv[1], true);</span>
<span class='curline'><a href='../S/2847.html#L635'>cmdl</a> 635 src/assemble.c adr = getlabel("", cmdl->opd->opdv[0]);</span>
<span class='curline'><a href='../S/2847.html#L638'>cmdl</a> 638 src/assemble.c adr = getadr(asptr->prog, cmdl->opd->opdv[0], pass);</span>
<span class='curline'><a href='../S/2847.html#L647'>cmdl</a> 647 src/assemble.c bool assembletok(const CMDLINE *cmdl, PASS pass)</span>
<span class='curline'><a href='../S/2847.html#L650'>cmdl</a> 650 src/assemble.c if(!cmdl->cmd[0]) {</span>
<span class='curline'><a href='../S/2847.html#L654'>cmdl</a> 654 src/assemble.c if(casl2cmd(ascmd, cmdl, pass) == false && casl2cmd(macrocmd, cmdl, pass) == false) {</span>
<span class='curline'><a href='../S/2847.html#L656'>cmdl</a> 656 src/assemble.c if(assemble_comet2cmd(cmdl, pass) == false) {</span>
<span class='curline'><a href='../S/2847.html#L658'>cmdl</a> 658 src/assemble.c setcerr(113, cmdl->cmd); /* operand too many in COMET II command */</span>
<span class='curline'><a href='../S/2847.html#L667'>cmdl</a> 667 src/assemble.c CMDLINE *cmdl = NULL;</span>
<span class='curline'><a href='../S/2847.html#L670'>cmdl</a> 670 src/assemble.c cmdl = linetok(line);</span>
<span class='curline'><a href='../S/2847.html#L672'>cmdl</a> 672 src/assemble.c if(cmdl != NULL) {</span>
<span class='curline'><a href='../S/2847.html#L674'>cmdl</a> 674 src/assemble.c if(pass == FIRST && cmdl->label[0]) {</span>
<span class='curline'><a href='../S/2847.html#L675'>cmdl</a> 675 src/assemble.c stat = addlabel(asptr->prog, cmdl->label, asptr->ptr);</span>
<span class='curline'><a href='../S/2847.html#L679'>cmdl</a> 679 src/assemble.c stat = assembletok(cmdl, pass);</span>
<span class='curline'><a href='../S/2847.html#L681'>cmdl</a> 681 src/assemble.c FREE(cmdl->label);</span>
<span class='curline'><a href='../S/2847.html#L682'>cmdl</a> 682 src/assemble.c if(cmdl->opd != NULL) {</span>
<span class='curline'><a href='../S/2847.html#L683'>cmdl</a> 683 src/assemble.c for(int i = 0; i < cmdl->opd->opdc; i++) {</span>
<span class='curline'><a href='../S/2847.html#L684'>cmdl</a> 684 src/assemble.c FREE(cmdl->opd->opdv[i]);</span>
<span class='curline'><a href='../S/2847.html#L687'>cmdl</a> 687 src/assemble.c FREE(cmdl->opd);</span>
<span class='curline'><a href='../S/2847.html#L688'>cmdl</a> 688 src/assemble.c FREE(cmdl->cmd);</span>
<span class='curline'><a href='../S/2847.html#L690'>cmdl</a> 690 src/assemble.c FREE(cmdl);</span>
<span class='curline'><a href='../S/2840.html#L101'>cmdl</a> 101 src/token.c CMDLINE *cmdl = NULL;</span>
<span class='curline'><a href='../S/2840.html#L116'>cmdl</a> 116 src/token.c cmdl = malloc_chk(sizeof(CMDLINE), "cmdl");</span>
<span class='curline'><a href='../S/2840.html#L121'>cmdl</a> 121 src/token.c cmdl->label = strdup_chk("", "cmdl->label");</span>
<span class='curline'><a href='../S/2840.html#L123'>cmdl</a> 123 src/token.c cmdl->label = strndup_chk(p, i, "cmdl->label");</span>
<span class='curline'><a href='../S/2840.html#L126'>cmdl</a> 126 src/token.c setcerr(104, cmdl->label); /* label length is too long */</span>
<span class='curline'><a href='../S/2840.html#L127'>cmdl</a> 127 src/token.c FREE(cmdl->label);</span>
<span class='curline'><a href='../S/2840.html#L139'>cmdl</a> 139 src/token.c if(cmdl->label) { /* ラベルが定義されていて命令がない場合はエラー */</span>
<span class='curline'><a href='../S/2840.html#L142'>cmdl</a> 142 src/token.c FREE(cmdl->label);</span>
<span class='curline'><a href='../S/2840.html#L143'>cmdl</a> 143 src/token.c FREE(cmdl);</span>
<span class='curline'><a href='../S/2840.html#L148'>cmdl</a> 148 src/token.c cmdl->cmd = strndup_chk(p, i, "cmdl.cmd");</span>
<span class='curline'><a href='../S/2840.html#L156'>cmdl</a> 156 src/token.c cmdl->opd = opdtok(p);</span>
<span class='curline'><a href='../S/2840.html#L159'>cmdl</a> 159 src/token.c return cmdl;</span>
</pre>
</body>
</html>