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

Interpret assembly syntax #165

Merged
merged 23 commits into from
Dec 7, 2024
Merged

Interpret assembly syntax #165

merged 23 commits into from
Dec 7, 2024

Conversation

bbrk24
Copy link
Owner

@bbrk24 bbrk24 commented Sep 21, 2024

WIP

Closes #46

@bbrk24 bbrk24 added type:enhancement New feature or request semver-minor Adding a new feature, or formalizing UB labels Sep 21, 2024
Copy link
Owner Author

@bbrk24 bbrk24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still haven't double-checked interpreter or thread

src/assembly_scanner.cpp Show resolved Hide resolved
src/assembly_scanner.cpp Show resolved Hide resolved
src/assembly_scanner.cpp Show resolved Hide resolved
src/assembly_scanner.cpp Outdated Show resolved Hide resolved
src/assembly_scanner.cpp Show resolved Hide resolved
src/program_walker.hh Show resolved Hide resolved
src/program_walker.hh Show resolved Hide resolved
src/program_walker.hh Show resolved Hide resolved
tests/cli/qdeql/index.sh Outdated Show resolved Hide resolved
tests/cli/qdeql/index.sh Outdated Show resolved Hide resolved
assembly_scanner and program_walker should inherit from a common generic
abstract class, and obviously a *ton* of testing is needed for
assembly_scanner itelf. Once that's in place, thread can use a generic
form of IP and advancement, and threads can be held by a subclass of
either of the above.
fix some of the tests

fix more warnings

Refactors

fix some errors, I hope

fix more errors

WIP: more progress

actually put it in
There's still something subtly wrong, but I haven't diagnosed what. The
new tests that reference the qdeql interpreter are ccompletely broken as
a result, and therefore commented out. Further testing and bugfixing is
required.
more work

Get more things working

more documentation, mostly
Copy link
Owner Author

@bbrk24 bbrk24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add tests to make sure multithreading keeps its previous tick guarantees

wasm/in.civet Outdated Show resolved Hide resolved
@bbrk24
Copy link
Owner Author

bbrk24 commented Oct 1, 2024

Thread 0
Coords: (0, 0)
Instruction: 0.8:

Thread 0
Coords: (1, 0)
Instruction: TSP 2.0

Thread 0
Coords: (1, 2)
Instruction: PSI #2

Thread 0
Coords: (0, 1)
Instruction: 1.1:       NOP
1.2:    PSI #1
1.3:    PTI
1.4:    TKL
2.0:    PSI #2
2.2:    PSI #2
2.3:    PTI
2.5:    TKL

Something is wrong here!

Input to trilangle -Aawsdf
0.8:	TSP 2.0
1.1:	NOP
1.2:	PSI #1
1.3:	PTI
1.4:	TKL
2.0:	PSI #2
2.2:	PSI #2
2.3:	PTI
2.5:	TKL

@bbrk24
Copy link
Owner Author

bbrk24 commented Oct 4, 2024

Thread 0
Coords: (0, 0)
Instruction: 

Thread 0
Coords: (1, 0)
Instruction: 

Thread 0
Coords: (1, 2)
Instruction: 

Thread 0
Coords: (0, 1)
Instruction:

That's even more wrong

src/assembly_scanner.hh Outdated Show resolved Hide resolved
src/assembly_scanner.hh Outdated Show resolved Hide resolved
tests/cli/thread_timing/e.trg Outdated Show resolved Hide resolved
@bbrk24 bbrk24 marked this pull request as ready for review October 20, 2024 19:01
@bbrk24 bbrk24 merged commit c04ee21 into master Dec 7, 2024
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver-minor Adding a new feature, or formalizing UB type:enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Interpret assembly syntax
1 participant