Skip to content

Errors in the specification #5

@TecTrixer

Description

@TecTrixer
  • The way syscalls work and which codes they use are not specified
  • Where do the print syscalls get their value from?
  • The hash function is not specified
  • Which instruction is being executed first?
  • Is memory initialized with 0 by default?
  • Which byte corresponds to which register? (00 <-> A, ...)?
  • Do load and store work in a little endian or big endian way? If an int from address x is loaded is x+3 the highest or the lowest byte?
  • Technically push / pop is not fully specified (does it decrease the stack pointer)?
  • The calling convention is defined for a programming language, not for an instruction set, only the way call and ret work should be specified
  • How does the parameter mode register address and relative address work? Specifically how many bytes do they take?
  • Can the constant parameter modes be used for writable parameters? Is this undefined behaviour, should the cpu panic?
  • Push and pop, when do they increase/decrease S?
  • better describe how lw works
  • does loading into smaller registers overwrite the top bits?
  • revise ld register something regarding the size of the operation
  • specify how many bytes should be read from memory using absoluteaddressing, relativeaddressing, ...
  • when setting the lower bits of R with operations such as inc, will the upper bits get replaced by zero or do they stay untouched
  • what happens to R when using the mod instruction
  • do the print and println syscalls read the string upwards or downwards?
  • what happens with the R register with the floating point operations
  • are set, clear, toggle and test 0 or 1 indexed
  • what does test do? does it set the i'th bit in r on success or the 0'th bit?
  • more explicitly define the random number generator, it is not said anywhere that the top 16 bits are being taken and not the bottom 16 bits

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions