-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathyess.1
109 lines (109 loc) · 2.53 KB
/
yess.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
.\"
.\" Copyright (c) 2020 Scott Bennett <scottb@fastmail.com>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd September 8, 2021
.Dt YESS 1
.Os
.Sh NAME
.Nm yess
.Nd y86 simulator
.Sh SYNOPSIS
.Nm yess
.Op Fl dsuv
.Fl f Ar prog.yo
.Sh DESCRIPTION
The
.Nm
program simulates execution of the y86 instruction set.
y86 is a theoretical teaching assembly language, which embodies elements
of RISC and CISC archetectures.
.Pp
.Nm
executes y86 object
.Pq Dq machine
code.
Object code must be placed in a file ending with a
.Em .yo
extension.
This program file is a regular ASCII file, not a binary.
The y86 assembler can produce ASCII object code required by
.Nm .
.Pp
The options are as follows:
.Bl -tag -width "program.yo"
.It Fl d
Produce debug messages.
.Nm
will write debug information to
.Em stderr .
.It Fl f Ar prog.yo
The program file to execute.
.It Fl s
Output the state of the registers and memory after program execution completes.
.It Fl u
Print usage information and exit.
.It Fl v
Verbose mode.
.Nm
will write more information to
.Em stderr
(but not as much as
.Fl d
would).
.El
.Sh BUILD AND INSTALL
To build
.Nm :
.Pp
.Dl $ make yess
.Pp
The
.Nm
executable is now at
.Pa src/obj/yess .
.Pp
To install locally to
.Pa ~/bin :
.Pp
.Dl $ make install
.Pp
To run the regression test suite:
.Pp
.Dl $ make regression-tests
.Sh SEE ALSO
.Xr y86_obj_code 5
.Rs
.%A Randal E. Bryant
.%A David R. O'Hallaron
.%T CS:APP2e Guide to Y86 Processor Simulators
.%U https://web.archive.org/web/20150330120944/http://csapp.cs.cmu.edu/public/simguide.pdf
.%D July 29, 2013
.Re
.Sh AUTHORS
This program was written by
.An Scott Bennett
and
.An Alex Svarda .
.Sh CAVEATS
.Nm
only builds and works on
.Ox 6.6
or newer because it relies on
.Xr pledge 2
and the built-in
.Xr make 1
infrastructure.
Portability could be achieved with a little effort, but that is outside the
scope of my current goals.