general_io.py (7087:fb8d5786ff30) | general_io.py (8103:53c2d9b1c15d) |
---|---|
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 28 unchanged lines hidden (view full) --- 37# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38# 39# Authors: Gabe Black 40 41microcode = ''' 42 def macroop IN_R_I { 43 .adjust_imm trimImm(8) 44 limm t1, imm, dataSize=asz | 1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 28 unchanged lines hidden (view full) --- 37# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38# 39# Authors: Gabe Black 40 41microcode = ''' 42 def macroop IN_R_I { 43 .adjust_imm trimImm(8) 44 limm t1, imm, dataSize=asz |
45 ld reg, intseg, [1, t1, t0], "IntAddrPrefixIO << 3", addressSize=8 | 45 ld reg, intseg, [1, t1, t0], "IntAddrPrefixIO << 3", addressSize=8, \ 46 nonSpec=True |
46 }; 47 48 def macroop IN_R_R { 49 zexti t2, regm, 15, dataSize=8 | 47 }; 48 49 def macroop IN_R_R { 50 zexti t2, regm, 15, dataSize=8 |
50 ld reg, intseg, [1, t2, t0], "IntAddrPrefixIO << 3", addressSize=8 | 51 ld reg, intseg, [1, t2, t0], "IntAddrPrefixIO << 3", addressSize=8, \ 52 nonSpec=True |
51 }; 52 53 def macroop OUT_I_R { 54 .adjust_imm trimImm(8) 55 limm t1, imm, dataSize=8 | 53 }; 54 55 def macroop OUT_I_R { 56 .adjust_imm trimImm(8) 57 limm t1, imm, dataSize=8 |
56 st reg, intseg, [1, t1, t0], "IntAddrPrefixIO << 3", addressSize=8 | 58 st reg, intseg, [1, t1, t0], "IntAddrPrefixIO << 3", addressSize=8, \ 59 nonSpec=True |
57 }; 58 59 def macroop OUT_R_R { 60 zexti t2, reg, 15, dataSize=8 | 60 }; 61 62 def macroop OUT_R_R { 63 zexti t2, reg, 15, dataSize=8 |
61 st regm, intseg, [1, t2, t0], "IntAddrPrefixIO << 3", addressSize=8 | 64 st regm, intseg, [1, t2, t0], "IntAddrPrefixIO << 3", addressSize=8, \ 65 nonSpec=True |
62 }; 63''' | 66 }; 67''' |