/***********************************************************************
 * Y86-64 Assembler, Instruction Simulator, and HCL translator
 *
 * Copyright (c) 2002, R. Bryant and D. O'Hallaron, All rights reserved.
 * May not be used, modified, or copied without permission.
 ***********************************************************************/ 

This directory contains all of the source files for the following:

YAS	Y86-64 assembler
YIS	Y86-64 instruction level simulator
HCL2C	HCL to C translator
HCL2V	HCL to Verilog translator

*********************
1. Building the tools
*********************

unix> make clean
unix> make

********
2. Files
********

Makefile		Builds yas, yis, hcl2c, hcl2v
README			This file

* Versions of Makefile in the student's distribution
* (Instructor distribution only)
Makefile-sim	

* Example programs for Part A of the CS:APP Architecture Lab
examples.c		C versions of three Y86-64 functions 
ans-copy.ys		Solution copy function (instructor distribution only)
ans-sum.ys		Solution sum function (instructor distribution only)
ans-rsum.ys		Solution rsum function (instructor distribution only)


* Instruction simulator code shared by yas, yis, ssim, ssim+, and psim
isa.c		
isa.h

* Files used to build the yas assembler
yas			The YAS binary
yas.c			yas source file and header file
yas.h
yas-grammar.lex		Y86-64 lexical scanner spec
yas-grammar.c		Lexical scanner generated from yas-grammar.lex

* Files used to build the yis instruction simulator
yis			The YIS binary
yis.c			yis source file

* Files used to build the hcl2c translator
hcl2c			The HCL2C binary
node.c			auxiliary routines and header file
node.h
hcl.lex			HCL lexical scanner spec
lex.yy.c		HCL lexical scanner generated from hcl.lex
hcl.y			HCL grammar
hcl.tab.c		HCL parser generated from hcl.y
hcl.tab.h		Token definitions

* Example HCL programs used during the writing of the CS:APP book
* (Instructor distribution only)
frag.{hcl,c}
mux4.{hcl,c}
reg-file.{hcl,c}


