Accessing hardware registers and assembly code on nonAVR architecture

For a course I teach using the AVR-based UNOs, I like to show how you can access the hardware registers (digital IO pins for example) and insert bits of assembly code. Really just a nice way of showing students a little about the hardware under all the code they are writing. Does any of this capability exist for the non-AVR R4 or will it ever possibly be developed?

Not sure about assembly as I don't use it much for the boards I used (mainly arm) but there has been quite a bit of discussion on accessing I/O registers:

Compatibility: digitalPinToPort and digitalPinToBitMask - UNO R4 / UNO R4 WiFi - Arduino Forum

AVR Compatibility: PORT and PIN registers? - UNO R4 / UNO R4 WiFi - Arduino Forum

This is a good one:
digitalWriteFast with UNO R4 - UNO R4 / UNO R4 Minima - Arduino Forum

There was another one to a library someone had put together but I can not find the reference right now. If I come across it I will post it here.

Hint: be careful the hardware is different on each microprocessor / microcontroller there the registers will also be different with different values etc. A lot also depends on the microprocessor type, is it Arm, Harvard, etc..

If they have PCs you can show them 8086 assembler and run it on the PC. The assembler will also be different by brand and processor it was designed for.