Skip to content

labs/lab-07: Add x86_64 version #83

@teodutu

Description

@teodutu

Translate the tasks, reading material and guides of this lab to the x86_64 architecture:

  • Use the extended 64-bit ISA in the reading material and guides together with the newly added registers r8 - r15. Keep in mind that esp and ebp aren't accessible in 64-bit mode, only rsp and rbp. push-ing and pop-ing less than 8 bytes is unsupported, either. Do point this out.
  • For tasks, replace printf32.asm with print64.asm [3] and the compilation toolchain with those in this makefile [4]. Use the code in this repo as a guide. Convert each task to 64 bits including its README.md which most likely refers 32-bit addresses and esp and ebp.
  • Verify that the checker infrastructure still works and fix it if it doesn't.

Make your PR target the upstream x86_64 branch.

Read the contributor guidelines before making contributions [5].
Add Fixes #81 at the end of your commit message to automatically link your PR with this issue.

[1] https://github.com/cs-pub-ro/hardware-software-interface/tree/main/labs/lab-02/tasks/iterate
[2] https://github.com/cs-pub-ro/hardware-software-interface/blob/main/labs/lab-02/reading/memory-operations.md#pointer-operations-and-pointer-arithmetic
[3] https://github.com/iocla/hello64/blob/main/utils/printf64.asm
[4] https://github.com/iocla/hello64/blob/main/Makefile
[5] https://github.com/cs-pub-ro/hardware-software-interface/blob/main/CONTRIBUTING.md

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions