-
Notifications
You must be signed in to change notification settings - Fork 7
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
PassA-Loader: Relocating Loader #38
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… the intent of Relocation rather than being a duplicate loading option. Moved the logic to the construction of the dialogue box so that the relocating loader can be used elsewhere with less repeated code each time. Added in extra dialogue box prompting the user for either Absolute loading or Relocating loading. Currently Relocation Loading defaults back to absolute loading and provides a dialogue box indicating success. This is a basis for calling the Relocating Loader once it is implemented. Modified an existing dialogue box for Relocating. The values are now determined internally from the object lines rather than being calculated and passed in as arguments. Updated a note informing the user of the range available to them and repaired an input field to accept 6 characters of input instead of 4 to match standards. Added in a Warning Dialogue box to relocation. If you attempt to relocate a program that is already in memory, you are copying that program. Within the dialogue instructions are provided for loading directly to a position as desired.
SICVM can now display mode records in the object file window. Uncomment line 494 in Assembler.cs to enable this functionality. Warning: SICVM does not support relocation as of right now, as result uncommenting line 494 might break the program upon loading some sic programs.
…. Adjusted dialogue results to rely on two seperate string arrays instead of one.
… This allows standard functionality for absolute loading, while maintaining Mod records for relocated loading.
…into PassA-Loader
New code for the RelocateLoadObjectFile method.
added functionality for relocation, there is currently a bug where the program is loaded in both original and relocated locations in memory. This was a collaborative effort by: Ben, Ahmad, Daniel
…into PassA-Loader
…og still present for testing before final commit. Adjusted how strings were replaced. Collaborative Commit: Ahmad and Ben
…into PassA-Loader
…being represented with less than 4 characters messing up alignment. This has been repaired)
…into PassA-Loader
Before fix, entering an invalid Hex value in the box asking for a Relocated Start Address would crash the program. It now gives an error message explaining that the value is an incorrect hex value
ecb8052
to
d34831f
Compare
so they don't go out of the window bounds for some reason
…into PassA-Loader
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request implements a Relocating Loader.
Upon inputting assembly file, it will prompt the user if they wish to use the absolute or relocating loader to load their program into memory.
After the program is loaded into memory, it can be relocated again by going to:
file -> Relocate current program
We have also implemented a general template for unit tests, so that other groups in the future may be able to test their functions in unit tests easier.
The Unit test project can be found in the Solution Explorer by scrolling down to the bottom under "SICVM_UnitTests"
All new functions created by PassA-Loader have been documented in the code
This pull request was done by all group members: