string_io.py (5167:3668fc87f144) | string_io.py (5239:0920dfb94514) |
---|---|
1# Copyright (c) 2007 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 --- 48 unchanged lines hidden (view full) --- 57def macroop INS_M_R { 58 # Find the constant we need to either add or subtract from rdi 59 ruflag t0, 10 60 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 61 subi t4, t0, dsz, dataSize=asz 62 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 63 64 limm t1, "IntAddrPrefixIO" | 1# Copyright (c) 2007 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 --- 48 unchanged lines hidden (view full) --- 57def macroop INS_M_R { 58 # Find the constant we need to either add or subtract from rdi 59 ruflag t0, 10 60 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 61 subi t4, t0, dsz, dataSize=asz 62 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 63 64 limm t1, "IntAddrPrefixIO" |
65 zext t2, reg, 16, dataSize=2 | 65 zexti t2, reg, 15, dataSize=2 |
66 67 ld t6, intseg, [1, t1, t2], addressSize=8 68 st t6, es, [1, t0, rdi] 69 70 add rdi, rdi, t3, dataSize=asz 71}; 72 73def macroop INS_E_M_R { 74 # Find the constant we need to either add or subtract from rdi 75 ruflag t0, 10 76 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 77 subi t4, t0, dsz, dataSize=asz 78 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 79 80 limm t1, "IntAddrPrefixIO" | 66 67 ld t6, intseg, [1, t1, t2], addressSize=8 68 st t6, es, [1, t0, rdi] 69 70 add rdi, rdi, t3, dataSize=asz 71}; 72 73def macroop INS_E_M_R { 74 # Find the constant we need to either add or subtract from rdi 75 ruflag t0, 10 76 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 77 subi t4, t0, dsz, dataSize=asz 78 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 79 80 limm t1, "IntAddrPrefixIO" |
81 zext t2, reg, 16, dataSize=2 | 81 zexti t2, reg, 15, dataSize=2 |
82 83topOfLoop: 84 ld t6, intseg, [1, t1, t2], addressSize=8 85 st t6, es, [1, t0, rdi] 86 87 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz 88 add rdi, rdi, t3, dataSize=asz 89 bri t0, label("topOfLoop"), flags=(nCEZF,) 90 fault "NoFault" 91}; 92 93def macroop OUTS_R_M { 94 # Find the constant we need to either add or subtract from rdi 95 ruflag t0, 10 96 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 97 subi t4, t0, dsz, dataSize=asz 98 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 99 100 limm t1, "IntAddrPrefixIO" | 82 83topOfLoop: 84 ld t6, intseg, [1, t1, t2], addressSize=8 85 st t6, es, [1, t0, rdi] 86 87 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz 88 add rdi, rdi, t3, dataSize=asz 89 bri t0, label("topOfLoop"), flags=(nCEZF,) 90 fault "NoFault" 91}; 92 93def macroop OUTS_R_M { 94 # Find the constant we need to either add or subtract from rdi 95 ruflag t0, 10 96 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 97 subi t4, t0, dsz, dataSize=asz 98 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 99 100 limm t1, "IntAddrPrefixIO" |
101 zext t2, reg, 16, dataSize=2 | 101 zexti t2, reg, 15, dataSize=2 |
102 103 ld t6, ds, [1, t0, rsi] 104 st t6, intseg, [1, t1, t2], addressSize=8 105 106 add rsi, rsi, t3, dataSize=asz 107}; 108 109def macroop OUTS_E_R_M { 110 # Find the constant we need to either add or subtract from rdi 111 ruflag t0, 10 112 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 113 subi t4, t0, dsz, dataSize=asz 114 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 115 116 limm t1, "IntAddrPrefixIO" | 102 103 ld t6, ds, [1, t0, rsi] 104 st t6, intseg, [1, t1, t2], addressSize=8 105 106 add rsi, rsi, t3, dataSize=asz 107}; 108 109def macroop OUTS_E_R_M { 110 # Find the constant we need to either add or subtract from rdi 111 ruflag t0, 10 112 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 113 subi t4, t0, dsz, dataSize=asz 114 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 115 116 limm t1, "IntAddrPrefixIO" |
117 zext t2, reg, 16, dataSize=2 | 117 zexti t2, reg, 15, dataSize=2 |
118 119topOfLoop: 120 ld t6, ds, [1, t0, rsi] 121 st t6, intseg, [1, t1, t2], addressSize=8 122 123 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz 124 add rsi, rsi, t3, dataSize=asz 125 bri t0, label("topOfLoop"), flags=(nCEZF,) 126 fault "NoFault" 127}; 128''' | 118 119topOfLoop: 120 ld t6, ds, [1, t0, rsi] 121 st t6, intseg, [1, t1, t2], addressSize=8 122 123 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz 124 add rsi, rsi, t3, dataSize=asz 125 bri t0, label("topOfLoop"), flags=(nCEZF,) 126 fault "NoFault" 127}; 128''' |