Resultados da pesquisa a pedido "x86"

3 a resposta

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

1 a resposta

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

4 a resposta

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

5 a resposta

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

3 a resposta

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

5 a resposta

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

2 a resposta

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

14 a resposta

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

2 a resposta

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

9 a resposta

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