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

The 386 assembler is terrible #271

Open
davidgiven opened this issue Aug 24, 2022 · 0 comments
Open

The 386 assembler is terrible #271

davidgiven opened this issue Aug 24, 2022 · 0 comments

Comments

@davidgiven
Copy link
Owner

It doesn't behave like 'normal' assemblers. For example:

  • ax, bx, cx etc are synonyms for eax, ebx, ecx etc based on the 16 or 32 bit mode
  • segment and size prefixes must be specified manually via cseg, dseg, o16, o32 etc rather than inferred from the size of the registers
  • likewise, instructions which change behaviour according to mode are generated incorrectly if you use the wrong name for the mode (like cwd and friends)
  • it's very easy to generate invalid instructions --- invalid configurations aren't checked for

I suspect the 32-bitness was a added as a quick hack on top of the 16-bit assembler. But it's painful to use and really needs to be rewritten.

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