Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differences from ASL version 1.0 beta 7 #4

Open
4 of 11 tasks
alastairreid opened this issue Dec 19, 2024 · 0 comments
Open
4 of 11 tasks

Differences from ASL version 1.0 beta 7 #4

alastairreid opened this issue Dec 19, 2024 · 0 comments

Comments

@alastairreid
Copy link

alastairreid commented Dec 19, 2024

ASLi aims to be a faithful implementation of ASL version 1.0 beta 7.

Unfortunately, the document DDI0612-asl_spec-00bet7 is no longer available from Arm's website so we cannot refer you to it. However beta 7 roughly corresponds to the state of ASLRef documentation around September 2024.

We know of the following differences between ASLi and ASL version 1.0 beta 7.

Missing features

  • The standard library print function can only take one argument
  • Subtypes
  • '<=' and '>=' patterns
  • '.item0'/'.item1'/... syntax to extract fields from tuples
  • 'pass' statements
  • 'case' labels must be literal constants instead of constant expressions
  • 'x DIV y' should report an error if 'y' is not an exact divisor of 'x'.

Extensions

  • Optional exception markers: Functions that may throw an exception are marked with '?' and functions that always throw an exception are marked with '!'. Markers appear after the function name in both definitions and calls to the function.
  • Bitvector literals can be written like this 32'xffff_ffff' where 32` is the bitwidth. (Literals can be written in hexadecimal (x), decimal (d) or binary (b).)
  • It is not necessary to define a setter function when defining a getter function. This is useful for registers that should not be written directly.
  • Records can have bitwidth parameters. This is useful when a record field is a bitvector whose size is not fixed.
@alastairreid alastairreid changed the title Differences from ASL version 1.0 alpha 1 Differences from ASL version 1.0 beta 7 Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant