move_string.py (5420:dc0041a51920) move_string.py (5661:443e6f925027)
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

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

65 st t1, es, [1, t0, rdi]
66
67 add rdi, rdi, t3, dataSize=asz
68 add rsi, rsi, t3, dataSize=asz
69};
70
71def macroop MOVS_E_M_M {
72 and t0, rcx, rcx, flags=(EZF,), dataSize=asz
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

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

65 st t1, es, [1, t0, rdi]
66
67 add rdi, rdi, t3, dataSize=asz
68 add rsi, rsi, t3, dataSize=asz
69};
70
71def macroop MOVS_E_M_M {
72 and t0, rcx, rcx, flags=(EZF,), dataSize=asz
73 bri t0, label("end"), flags=(CEZF,)
73 br label("end"), flags=(CEZF,)
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
80topOfLoop:
81 ld t1, seg, [1, t0, rsi]
82 st t1, es, [1, t0, rdi]
83
84 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz
85 add rdi, rdi, t3, dataSize=asz
86 add rsi, rsi, t3, dataSize=asz
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
80topOfLoop:
81 ld t1, seg, [1, t0, rsi]
82 st t1, es, [1, t0, rdi]
83
84 subi rcx, rcx, 1, flags=(EZF,), dataSize=asz
85 add rdi, rdi, t3, dataSize=asz
86 add rsi, rsi, t3, dataSize=asz
87 bri t0, label("topOfLoop"), flags=(nCEZF,)
87 br label("topOfLoop"), flags=(nCEZF,)
88end:
89 fault "NoFault"
90};
91'''
88end:
89 fault "NoFault"
90};
91'''