intel

Why is it not possible to push a byte onto a stack on Pentium IA-32?

a 夏天 提交于 2019-12-17 12:16:10
问题 I've come to learn that you cannot push a byte directly onto the Intel Pentium's stack, can anyone explain this to me please? The reason that I've been given is because the esp register is word-addressable (or, that is the assumption in our model) and it must be an "even address". I would have assumed decrementing the value of some 32-bit binary number wouldn't mess with the alignment of the register, but apparently I don't understand enough. I have tried some NASM tests and come up that if I

How to generate assembly code with clang in Intel syntax?

你。 提交于 2019-12-17 10:19:19
问题 As this question shows, with g++, I can do g++ -S -masm=intel test.cpp . Also, with clang, I can do clang++ -S test.cpp , but -masm=intel is not supported by clang ( warning argument unused during compilation: -masm=intel ). How do I get intel syntax with clang? 回答1: As noted below by @thakis, newer versions of Clang (3.5+) accept the -masm=intel argument. For older versions, this should get clang to emit assembly code with Intel syntax: clang++ -S -mllvm --x86-asm-syntax=intel test.cpp You

How to generate assembly code with clang in Intel syntax?

微笑、不失礼 提交于 2019-12-17 10:18:24
问题 As this question shows, with g++, I can do g++ -S -masm=intel test.cpp . Also, with clang, I can do clang++ -S test.cpp , but -masm=intel is not supported by clang ( warning argument unused during compilation: -masm=intel ). How do I get intel syntax with clang? 回答1: As noted below by @thakis, newer versions of Clang (3.5+) accept the -masm=intel argument. For older versions, this should get clang to emit assembly code with Intel syntax: clang++ -S -mllvm --x86-asm-syntax=intel test.cpp You

What is the stack engine in the Sandybridge microarchitecture?

Deadly 提交于 2019-12-17 04:34:34
问题 I am reading http://www.realworldtech.com/sandy-bridge/ and I'm facing some problems in understanding some issues: The dedicated stack pointer tracker is also present in Sandy Bridge and renames the stack pointer, eliminating serial dependencies and removing a number of uops. What is a dedicated stack pointer tracker actually? For Sandy Bridge (and the P4), Intel still uses the term ROB. But it is critical to understand that, in this context, it only refers the status array for in-flight uops

Deoptimizing a program for the pipeline in Intel Sandybridge-family CPUs

删除回忆录丶 提交于 2019-12-17 02:51:55
问题 I've been racking my brain for a week trying to complete this assignment and I'm hoping someone here can lead me toward the right path. Let me start with the instructor's instructions: Your assignment is the opposite of our first lab assignment, which was to optimize a prime number program. Your purpose in this assignment is to pessimize the program, i.e. make it run slower. Both of these are CPU-intensive programs. They take a few seconds to run on our lab PCs. You may not change the

Emulator: ERROR: x86 emulation currently requires hardware acceleration

杀马特。学长 韩版系。学妹 提交于 2019-12-16 20:02:27
问题 I tried to run my Hello World application in Android Studio. I got the following error: Emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed! Can you tell me what I can do with the error? 回答1: As per this response, the complete steps are: 1) Open SDK Manager (In Android Studio, go to Tools > Android > SDK Manager) and Download Intel x86 Emulator

How does the VIPT to PIPT conversion work on L1->L2 eviction

给你一囗甜甜゛ 提交于 2019-12-14 03:55:02
问题 This scenario came into my head and it seems a bit basic but I'll ask. So there is a virtual index and physical tag in L1 but the set becomes full so it is evicted. How does the L1 controller get the full physical address from the virtual index and the physical tag in L1 so the line can be inserted into L2? I suppose it could search the TLB for the combination but that seems slow and also it may not be in the TLB at all. Perhaps the full physical address from the original TLB translation is

HLA Assembly Recursive Fibonacci Program

本小妞迷上赌 提交于 2019-12-14 03:29:37
问题 I have written some code to solve this prompt: Create an HLA Assembly language program that prompts for a number from the user. Create and call a function that calculates a value in the Fibonacci sequence. In mathematics, the Fibonacci sequence is named after the Italian mathematician Leonardo of Pisa who was known during his lifetime as Fibonacci. The Fibonacci sequence starts with 1 and 1. Each later term in the sequence is the sum of the two previous values. So the series will be: 1,1,2,3

Error in Launching AVD on Windows 7 in Android SDK 23

倖福魔咒の 提交于 2019-12-14 02:54:43
问题 I have Windows 7(Ultimate edition) installed in my Dell Inspiron laptop with an Intel i5 processor. I have recently installed the latest Android SDK(SDK 23, Android 6.0) and it got successfully installed as well. Now when I launch AVD, I get the following error message: emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed! Now the problem is, I have

Virtualization Technology Not Supported while Installing HAXM

南楼画角 提交于 2019-12-14 01:56:01
问题 I want to install HAXM on windows 8.1 (HP pavilion 3515) (I've downloaded the hotfix from here). but the below error occurs during installation (HyperV is not installed on my laptop). so I installed the "Intel processor utility to check if my laptop supports VT or not, and as you see in the second picture it says "NO". then I checked my bios and I saw "Virtualization technology" item in "configuration manager" tab! and I enabled it, and tried to install HAXM again, but I got the error again