Advertisement
Guest User

out2.txt

a guest
Mar 23rd, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 3.28 KB | None | 0 0
  1. ; ModuleID = 'mod_dump.txt'
  2. source_filename = "Intel Pentium III"
  3.  
  4. %struct.tc_t = type { i32, i32, i32, %struct.tc_t* (%struct.cpu_ctx_t*)*, [3 x %struct.tc_t* (%struct.cpu_ctx_t*)*], i32 }
  5. %struct.cpu_ctx_t = type { %struct.cpu_t*, %struct.regs_t, %struct.eflags_t, i32 }
  6. %struct.cpu_t = type opaque
  7. %struct.regs_t = type { i32, i32, i32, i32, i32, i32, i32, i32, %struct.seg_t, %struct.seg_t, %struct.seg_t, %struct.seg_t, %struct.seg_t, %struct.seg_t, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.seg_t, %struct.seg_t, %struct.seg_t, %struct.seg_t }
  8. %struct.seg_t = type { i16, %struct.hiddenseg_t }
  9. %struct.hiddenseg_t = type { i32, i32, i32 }
  10. %struct.eflags_t = type { i32, i32, [256 x i8] }
  11.  
  12. define %struct.tc_t* @main(%struct.cpu_ctx_t* %cpu_ctx) {
  13.   %1 = getelementptr inbounds %struct.cpu_ctx_t, %struct.cpu_ctx_t* %cpu_ctx, i64 0, i32 1, i32 9, i32 0
  14.   store i16 -4096, i16* %1, align 2
  15.   %2 = getelementptr inbounds %struct.cpu_ctx_t, %struct.cpu_ctx_t* %cpu_ctx, i64 0, i32 1, i32 28
  16.   store i32 69, i32* %2, align 4
  17.   %3 = getelementptr inbounds %struct.cpu_ctx_t, %struct.cpu_ctx_t* %cpu_ctx, i64 0, i32 1, i32 9, i32 1, i32 0
  18.   store i32 983040, i32* %3, align 4
  19.   %4 = load volatile i32, i32* inttoptr (i64 49332024 to i32*), align 8
  20.   %5 = load volatile i32, i32* inttoptr (i64 49332028 to i32*), align 4
  21.   %6 = load volatile i32, i32* inttoptr (i64 49332032 to i32*), align 64
  22.   %7 = load volatile %struct.tc_t* (%struct.cpu_ctx_t*)*, %struct.tc_t* (%struct.cpu_ctx_t*)** inttoptr (i64 49332040 to %struct.tc_t* (%struct.cpu_ctx_t*)**), align 8
  23.   %8 = load volatile %struct.tc_t* (%struct.cpu_ctx_t*)*, %struct.tc_t* (%struct.cpu_ctx_t*)** inttoptr (i64 49332048 to %struct.tc_t* (%struct.cpu_ctx_t*)**), align 16
  24.   %9 = load volatile %struct.tc_t* (%struct.cpu_ctx_t*)*, %struct.tc_t* (%struct.cpu_ctx_t*)** inttoptr (i64 49332056 to %struct.tc_t* (%struct.cpu_ctx_t*)**), align 8
  25.   %10 = load volatile %struct.tc_t* (%struct.cpu_ctx_t*)*, %struct.tc_t* (%struct.cpu_ctx_t*)** inttoptr (i64 49332064 to %struct.tc_t* (%struct.cpu_ctx_t*)**), align 32
  26.   %11 = load volatile i32, i32* inttoptr (i64 49332072 to i32*), align 8
  27.   ret %struct.tc_t* inttoptr (i32 49332024 to %struct.tc_t*)
  28. }
  29.  
  30. declare i8 @mem_read8(%struct.cpu_ctx_t*, i32, i32)
  31.  
  32. declare i16 @mem_read16(%struct.cpu_ctx_t*, i32, i32)
  33.  
  34. declare i32 @mem_read32(%struct.cpu_ctx_t*, i32, i32)
  35.  
  36. declare i64 @mem_read64(%struct.cpu_ctx_t*, i32, i32)
  37.  
  38. declare i8 @io_read8(%struct.cpu_ctx_t*, i16, i32)
  39.  
  40. declare i16 @io_read16(%struct.cpu_ctx_t*, i16, i32)
  41.  
  42. declare i32 @io_read32(%struct.cpu_ctx_t*, i16, i32)
  43.  
  44. declare void @mem_write8(%struct.cpu_ctx_t*, i32, i8, i32)
  45.  
  46. declare void @mem_write16(%struct.cpu_ctx_t*, i32, i16, i32)
  47.  
  48. declare void @mem_write32(%struct.cpu_ctx_t*, i32, i32, i32)
  49.  
  50. declare void @mem_write64(%struct.cpu_ctx_t*, i32, i64, i32)
  51.  
  52. declare void @io_write8(%struct.cpu_ctx_t*, i16, i8, i32)
  53.  
  54. declare void @io_write16(%struct.cpu_ctx_t*, i16, i16, i32)
  55.  
  56. declare void @io_write32(%struct.cpu_ctx_t*, i16, i32, i32)
  57.  
  58. declare void @cpu_throw_exception(%struct.cpu_ctx_t*, i64, i32)
  59.  
  60. declare void @cpu_update_crN(%struct.cpu_ctx_t*, i32, i8, i32, i32)
  61.  
  62. define %struct.tc_t* @exit(%struct.cpu_ctx_t*) {
  63.   ret %struct.tc_t* inttoptr (i32 49332024 to %struct.tc_t*)
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement