Deleted Added
sdiff udiff text old ( 5413:809f33a926c4 ) new ( 5433:1b0b8e9ba6a9 )
full compact
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

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

232 ld t1, seg, riprel, disp, dataSize=2
233 zext t2, t1, 15
234 slli t3, t2, 2, dataSize=8
235 wrsel reg, t1
236 wrbase reg, t3
237};
238
239def macroop MOV_S_R {
240 chks t1, regm, flags=(EZF,), dataSize=8
241 bri t0, label("end"), flags=(CEZF,)
242 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
243 wrdl reg, t2, regm
244end:
245 wrsel reg, regm
246};
247
248def macroop MOV_S_M {
249 ld t1, seg, sib, disp, dataSize=2
250 chks t2, t1, flags=(EZF,), dataSize=8
251 bri t0, label("end"), flags=(CEZF,)
252 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
253 wrdl reg, t2, t1
254end:
255 wrsel reg, t1
256};
257
258def macroop MOV_S_P {
259 rdip t7
260 ld t1, seg, riprel, disp, dataSize=2
261 chks t2, t1, flags=(EZF,), dataSize=8
262 bri t0, label("end"), flags=(CEZF,)
263 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
264 wrdl reg, t2, t1
265end:
266 wrsel reg, t1
267};
268
269def macroop MOVSS_S_R {
270 chks t1, regm, flags=(EZF,), dataSize=8
271 # This actually needs to use the selector as the error code, but it would
272 # be hard to get that information into the instruction at the moment.
273 fault "new GeneralProtection(0)", flags=(CEZF,)
274 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
275 wrdl reg, t2, regm
276 wrsel reg, regm
277};
278
279def macroop MOVSS_S_M {
280 ld t1, seg, sib, disp, dataSize=2
281 chks t2, t1, flags=(EZF,), dataSize=8
282 # This actually needs to use the selector as the error code, but it would
283 # be hard to get that information into the instruction at the moment.
284 fault "new GeneralProtection(0)", flags=(CEZF,)
285 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
286 wrdl reg, t2, t1
287 wrsel reg, t1
288};
289
290def macroop MOVSS_S_P {
291 rdip t7
292 ld t1, seg, riprel, disp, dataSize=2
293 chks t2, t1, flags=(EZF,), dataSize=8
294 # This actually needs to use the selector as the error code, but it would
295 # be hard to get that information into the instruction at the moment.
296 fault "new GeneralProtection(0)", flags=(CEZF,)
297 ld t2, flatseg, [1, t0, t1], addressSize=8, dataSize=8
298 wrdl reg, t2, t1
299 wrsel reg, t1
300};
301'''
302#let {{
303# class MOVD(Inst):
304# "GenFault ${new UnimpInstFault}"
305# class MOVNTI(Inst):
306# "GenFault ${new UnimpInstFault}"
307#}};