コード例 #1
0
ファイル: index.php プロジェクト: myallen/page-transcoder
<?php

function autoloader($class)
{
    include './' . strtolower($class) . '.php';
}
spl_autoload_register('autoloader');
$source = $argv[1];
$parser = new Parser($source);
$tags = $parser->doMagic();
//var_dump($tags);exit;
$assembler = new Assembler($tags);
echo $assembler->doMagic();
コード例 #2
0
ファイル: assembler.php プロジェクト: AdmiralCurtiss/talestra
            //printf("%s\n", $toks[0]);
        }
        foreach ($this->relocs as $CPC => $reloc) {
            if (!isset($this->symbols[$reloc[1]])) {
                printf("Unknown symbol '%s'\n", $reloc[1]);
                $this->symbols[$reloc[1]] = 0x7777;
            }
            //printf("%08X : %s\n", $CPC, $reloc[1]);
            switch ($reloc[0]) {
                case 1:
                    $info = pack('c', $this->symbols[$reloc[1]]);
                    $this->data[$CPC++] = $info[0];
                    break;
                case 2:
                    $info = pack('v', $this->symbols[$reloc[1]]);
                    $this->data[$CPC++] = $info[0];
                    $this->data[$CPC++] = $info[1];
                    break;
            }
        }
        file_put_contents("temp", $this->data);
        //print_r($labels);
    }
    function assemble_file($file)
    {
        printf("Processing '%s'...\n", $file);
        $this->assemble(file($file));
    }
}
$asm = new Assembler();
$asm->assemble_file('data/data/cs104.asm');