PaperFanz / laser

An LC3 assembler created over winter break to practice C.
GNU General Public License v3.0
17 stars 10 forks source link

.lst file does not word w/ Simulate 3.0.1.0 #9

Open MarkKozel opened 2 years ago

MarkKozel commented 2 years ago

I am using the LC-3 Edit and LC-3 Simulate (runtime) from McGraw-Hill. I can assemble using laser, then run in Simulate. The .obj file excutes as expected, but Simlate appears to not understand the .lst file format

The effect is that the Simulate tool does not display the labels

Assembled with Edit: Edit

Assembled with Laser: Laser

vyduckien commented 2 years ago

Apparently the .lst format generated by LC3Edit is different from the one by Laser (see the picture below). There are two options, either to modify the .lst file format to fit LC3Simulate or to create another version of LC3Simulate that can interpret Laser's .lst file. issue_with_lst

PaperFanz commented 2 years ago

Hi all! Thank you for using my little tool. Unfortunately, UT Austin (my undergrad institution) is no longer using LC3Simulate for running and debugging LC3 assembly. Therefore, I did not target a particular simulation environment for the assembly listing, instead choosing to support a more human readable format that preserves comments and spacing characters in the assembly source. However, if you are interested in forking the code to provide compatibility with LC3Simulate, I'd be happy to provide assistance. As you can see from the screenshot from @vyduckien , the data in both files is the same; it is simply a formatting change.

P.S. If you are interested in Laser, feel free to check out my VSCode extension for LC3 Assembly, which I wrote to get away from LC3Edit.

MarkKozel commented 2 years ago

What do you use in place of LC3Simulate?

I use these tools to teach basic assembly, but would be fine with a whole new tool set

On Fri, Nov 19, 2021, 10:42 PM Pete Fan @.***> wrote:

Hi all! Thank you for using my little tool. Unfortunately, UT Austin (my undergrad institution) is no longer using LC3Simulate for running and debugging LC3 assembly. Therefore, I did not target a particular simulation environment for the assembly listing, instead choosing to support a more human readable format that preserves comments and spacing characters in the assembly source. However, if you are interested in forking the code to provide compatibility with LC3Simulate, I'd be happy to provide assistance. As you can see from the screenshot from @vyduckien https://github.com/vyduckien , the data in both files is the same; it is simply a formatting change.

P.S. If you are interested in Laser, feel free to check out my VSCode extension for LC3 Assembly https://github.com/PaperFanz/lc3-assembly-vscode-ext, which I wrote to get away from LC3Edit.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/PaperFanz/laser/issues/9#issuecomment-974604651, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABOM7C6GOJNCCS4TMGWWIYTUM47NDANCNFSM5ILFZ2UQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

PaperFanz commented 2 years ago

We now use LC3Tools for editing, assembling, and simulating. I will note that LC3Tools is completely incompatible with the Laser object output as I am unrelated to that project. It also lacks some assembly features compared to Laser, most notably project assembly mode, which allows exporting labels across files (.EXPORT and .IMPORT) and register renaming (.ALIAS).