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 --- |