Skip to content
This repository was archived by the owner on Aug 23, 2024. It is now read-only.
This repository was archived by the owner on Aug 23, 2024. It is now read-only.

Push/pop.b lifted incorrectly #1

@jrozner

Description

@jrozner

Push/Pop operations always decrement/increment the stack pointer by 2, presumably to keep the stack aligned, whether using word or byte operand width. It doesn't look like there is a way to using BNIL to correctly represent the behavior explained below while using push/pop instructions.

push

push.b should push the low byte of the operand onto the stack while leaving the high byte unchanged and decrement the stack pointer by 2.

pop

pop.b should move the stack pointer down by 2 and pop the top value, with the high byte zeroed out, into the register specified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions