push_and_pop.py (5426:0bdcc60ccc45) push_and_pop.py (5432:e1e42f18d376)
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 44 unchanged lines hidden (view full) ---

53#
54# Authors: Gabe Black
55
56microcode = '''
57def macroop PUSHF {
58 .adjust_env oszIn64Override
59
60 rflags t1
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 44 unchanged lines hidden (view full) ---

53#
54# Authors: Gabe Black
55
56microcode = '''
57def macroop PUSHF {
58 .adjust_env oszIn64Override
59
60 rflags t1
61 stupd t1, ss, [1, t0, rsp], "-env.dataSize"
61 stupd t1, ss, [1, t0, rsp], "-env.stackSize", dataSize=ssz
62};
63
64def macroop POPF {
65 .adjust_env oszIn64Override
66
62};
63
64def macroop POPF {
65 .adjust_env oszIn64Override
66
67 ld t1, ss, [1, t0, rsp]
68 addi rsp, rsp, dsz
67 ld t1, ss, [1, t0, rsp], dataSize=ssz
68 addi rsp, rsp, ssz
69 wrflags t1, t0
70};
71'''
69 wrflags t1, t0
70};
71'''