Resultados da pesquisa a pedido "x86"
Qual é o significado de cada linha da saída de montagem de um mundo olá
Corri gcc -S sobre isso: int main() { printf ("Hello world!"); }e eu recebi este código de montagem: .file "test.c" .section .rodata .LC0: .string "Hello world!" .text .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp ...
Efeitos de desempenho estranhos de lojas dependentes próximas em um loop de perseguição de ponteiros no IvyBridge. A adição de uma carga extra acelera?
Primeiro, tenho a configuração abaixo em um IvyBridge, inserirei o código de medição da carga útil no local comentado. Os primeiros 8 bytes debuf armazena o endereço debuf, eu uso isso para criar dependência de loop: section .bss align 64 buf: ...
Como determinar o número de instruções da máquina x86 executadas em um programa
No momento, estou trabalhando em um problema de lição de casa que me pede para descobrir o número de instruções de código de máquina que são executadas ao executar um programa curto que escrevi em C. A pergunta diz que eu posso usar as ...
Evitar sobrecarga de prólogo da função gcc?
Ultimamente encontrei muitas funções em que o gcc gera um código muito ruim no x86. Todos eles se encaixam em um padrão de: if (some_condition) { /* do something really simple and return */ } else { /* something complex that needs lots of ...
Como executar E / S de baixo nível com uma unidade flash USB no BIOS (em comparação com um disquete)?
Estive estudando recentemente algum código de bootstrap destinado a ser usado com uma unidade de disquete. Meu objetivo é modificar o programa para que ele use minha unidade flash USB. Agora vejo como a função INT 13H foi usada com o dispositivo ...
x86 O pushl / popl do conjunto não funciona com “Erro: sufixo ou operandos inválidos”
Sou novato em programação de montagem, trabalhando comProgramação Ground Up [http://savannah.nongnu.org/projects/pgubook/] em uma área de trabalho Ubuntu x86_64 com o GNU assembler v2.20. Consegui montar / vincular executar meu código, até ...
Problema ao mudar para o modo v8086 do modo protegido de 32 bits, definindo EFLAGS.VM para 1
Estou no modo protegido de 32 bits em execução no nível de privilégio atual (CPL = 0). Estou tentando entrar no modo v8086 definindo o sinalizador EFLAGS.VM (Bit 17) como 1 (e IOPL como 0) e executando um FMP JMP no meu código de modo real de 16 ...
PHP x86 Como obter um tamanho de arquivo de> 2 GB sem programa extern
Preciso obter o tamanho de um arquivo com mais de 2 GB. (testando em arquivo de 4,6 GB). Existe alguma maneira de fazer isso sem um programa externo? Status atual filesize(), stat() efseek() falhafread() efeof() trabalh Existe a ...
No Linux, na entrada de uma chamada sys, qual é o valor em% eax? (não orig_eax)
Quando um syscall retorna, recebo o valor de retorno syscall em% eax, no entanto, na entrada, estou recebendo -38, que é 0xFFFFFFDA em hexadecimal. Isso é para gravação / leitura. Qual é esse número? Pode ser usado para diferenciar com segurança ...
Posso forçar a coerência do cache em uma CPU x86 multicor
Na outra semana, escrevi uma pequena classe de threads e um canal de mensagens unidirecional para permitir a comunicação entre segmentos (dois canais por segmento, obviamente, para comunicação bidirecional). Tudo funcionou bem no meu Athlon 64 ...