move.py (5927:5e3367b103da) move.py (5928:410d14f82f13)
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

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

210
211def macroop MOV_P_S {
212 rdip t7
213 rdsel t1, reg
214 st t1, seg, riprel, disp, dataSize=2
215};
216
217def macroop MOV_REAL_S_R {
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

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

210
211def macroop MOV_P_S {
212 rdip t7
213 rdsel t1, reg
214 st t1, seg, riprel, disp, dataSize=2
215};
216
217def macroop MOV_REAL_S_R {
218 zext t2, regm, 15, dataSize=8
218 zexti t2, regm, 15, dataSize=8
219 slli t3, t2, 2, dataSize=8
220 wrsel reg, regm
221 wrbase reg, t3
222};
223
224def macroop MOV_REAL_S_M {
225 ld t1, seg, sib, disp, dataSize=2
219 slli t3, t2, 2, dataSize=8
220 wrsel reg, regm
221 wrbase reg, t3
222};
223
224def macroop MOV_REAL_S_M {
225 ld t1, seg, sib, disp, dataSize=2
226 zext t2, t1, 15, dataSize=8
226 zexti t2, t1, 15, dataSize=8
227 slli t3, t2, 2, dataSize=8
228 wrsel reg, t1
229 wrbase reg, t3
230};
231
232def macroop MOV_REAL_S_P {
227 slli t3, t2, 2, dataSize=8
228 wrsel reg, t1
229 wrbase reg, t3
230};
231
232def macroop MOV_REAL_S_P {
233 rdip t7
234 ld t1, seg, riprel, disp, dataSize=2
235 zext t2, t1, 15, dataSize=8
236 slli t3, t2, 2, dataSize=8
237 wrsel reg, t1
238 wrbase reg, t3
233 panic "RIP relative addressing shouldn't happen in real mode"
239};
240
241def macroop MOV_S_R {
242 andi t0, regm, 0xFC, flags=(EZF,), dataSize=2
243 br label("processDescriptor"), flags=(CEZF,)
244 andi t2, regm, 0xF8, dataSize=8
245 andi t0, regm, 0x4, flags=(EZF,), dataSize=2
246 br label("globalDescriptor"), flags=(CEZF,)

--- 102 unchanged lines hidden ---
234};
235
236def macroop MOV_S_R {
237 andi t0, regm, 0xFC, flags=(EZF,), dataSize=2
238 br label("processDescriptor"), flags=(CEZF,)
239 andi t2, regm, 0xF8, dataSize=8
240 andi t0, regm, 0x4, flags=(EZF,), dataSize=2
241 br label("globalDescriptor"), flags=(CEZF,)

--- 102 unchanged lines hidden ---