It seems like a student would need to know a significant amount of coding in order to learn those abstractions in an interactive manner.
And by learn them I mean learn them (not just following a tutorial), organizing the code for a fully working x86 architecture is no joke.
But a student with that level of skill probably doesn't need to learn the x86 architecture so intensively, they are probably already employable.
I am asking this seriously, by the way, not trying to nitpick. I'm trying to put together a free course based on the video game Turing Complete[1] but from what you're saying it sounds like it might not be very effective. (to be clear the goal is to teach programming, not Computer Engineering)
[1]: https://store.steampowered.com/app/1444480/Turing_Complete/