projects/06/assembler/Code.php
/**
     * Returns the binary code for the comp mnemonic.
     */
Returns the binary code for the comp mnemonic.
Returns the binary code for the comp mnemonic .
public static function comp($str)
    {
        $mnemonics = array(
            '0' => '0101010',
            '1' => '0111111',
            '-1' => '0111010',
            'D' => '0001100',
            'A' => '0110000',
            '!D' => '0001101',
            '!A' => '0110001',
            '-D' => '0001111',
            '-A' => '0110011',
            'D+1' => '0011111',
            'A+1' => '0110111',
            'D-1' => '0001110',
            'A-1' => '0110010',
            'D+A' => '0000010',
            'D-A' => '0010011',
            'A-D' => '0000111',
            'D&A' => '0000000',
            'D|A' => '0010101',
            'M' => '1110000',
            '!M' => '1110001',
            '-M' => '1110011',
            'M+1' => '1110111',
            'M-1' => '1110010',
            'D+M' => '1000010',
            'D-M' => '1010011',
            'M-D' => '1000111',
            'D&M' => '1000000',
            'D|M' => '1010101'
        );
        if (isset($mnemonics[$str])) {
            return $mnemonics[$str];
        }
        return '0000000';
    }
public static function comp ( $ str ) { $ mnemonics = array ( '0' => '0101010' , '1' => '0111111' , '-1' => '0111010' , 'D' => '0001100' , 'A' => '0110000' , '!D' => '0001101' , '!A' => '0110001' , '-D' => '0001111' , '-A' => '0110011' , 'D+1' => '0011111' , 'A+1' => '0110111' , 'D-1' => '0001110' , 'A-1' => '0110010' , 'D+A' => '0000010' , 'D-A' => '0010011' , 'A-D' => '0000111' , 'D&A' => '0000000' , 'D|A' => '0010101' , 'M' => '1110000' , '!M' => '1110001' , '-M' => '1110011' , 'M+1' => '1110111' , 'M-1' => '1110010' , 'D+M' => '1000010' , 'D-M' => '1010011' , 'M-D' => '1000111' , 'D&M' => '1000000' , 'D|M' => '1010101' ) ; if ( isset ( $ mnemonics [ $ str ] ) ) { return $ mnemonics [ $ str ] ; } return '0000000' ; }
Returns the binary code for the comp mnemonic.
Returns the binary code for the comp mnemonic .
// a = 0 // a = 1