load_string.py (5661:443e6f925027) | load_string.py (5846:66021eb985f5) |
---|---|
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 --- 47 unchanged lines hidden (view full) --- 56microcode = ''' 57def macroop LODS_M { 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 | 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 --- 47 unchanged lines hidden (view full) --- 56microcode = ''' 57def macroop LODS_M { 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 ld rax, seg, [1, t0, rdi] | 64 ld rax, seg, [1, t0, rsi] |
65 | 65 |
66 add rdi, rdi, t3, dataSize=asz | 66 add rsi, rsi, t3, dataSize=asz |
67}; 68 69def macroop LODS_E_M { 70 and t0, rcx, rcx, flags=(EZF,), dataSize=asz 71 br label("end"), flags=(CEZF,) 72 # Find the constant we need to either add or subtract from rdi 73 ruflag t0, 10 74 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 75 subi t4, t0, dsz, dataSize=asz 76 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 77 78topOfLoop: | 67}; 68 69def macroop LODS_E_M { 70 and t0, rcx, rcx, flags=(EZF,), dataSize=asz 71 br label("end"), flags=(CEZF,) 72 # Find the constant we need to either add or subtract from rdi 73 ruflag t0, 10 74 movi t3, t3, dsz, flags=(CEZF,), dataSize=asz 75 subi t4, t0, dsz, dataSize=asz 76 mov t3, t3, t4, flags=(nCEZF,), dataSize=asz 77 78topOfLoop: |
79 ld rax, seg, [1, t0, rdi] | 79 ld rax, seg, [1, t0, rsi] |
80 81 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz | 80 81 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz |
82 add rdi, rdi, t3, dataSize=asz | 82 add rsi, rsi, t3, dataSize=asz |
83 br label("topOfLoop"), flags=(nCEZF,) 84end: 85 fault "NoFault" 86}; 87''' | 83 br label("topOfLoop"), flags=(nCEZF,) 84end: 85 fault "NoFault" 86}; 87''' |