Resultados da pesquisa a pedido "x86"

2 a resposta

Vinculando um programa assembler: erro "referência indefinida a` printf '"

Estou tentando compilar issocódigo de montagem x86 [https://github.com/xorpd/asm_prog_ex_yasm/blob/master/3_basic_yasm/4_exercises/1_read_code/0_strange_calc.asm] no x64 Debian: BITS 32 %include 'training.s' global main extern exit ...

1 a resposta

Quais operações inteiras de complemento de 2 podem ser usadas sem zerar os bits altos nas entradas, se apenas a parte mais baixa do resultado for desejada?

Na programação de montagem, é bastante comum querer calcular algo dos bits baixos de um registro que não garantem que os outros bits sejam zerados. Em linguagens de nível superior, como C, você simplesmente converteria suas entradas no tamanho ...

1 a resposta

O TLB é compartilhado entre vários núcleos?

Ouvi dizer que o TLB é mantido pelo MMU e não pelo cache da CPU. Então, existe um TLB na CPU e é compartilhado entre todos os processadores ou cada processador possui seu próprio cache TLB? Alguém poderia explicar a relação entre MMU e L1, L2 Cache?

1 a resposta

Rotina de tratamento de interrupção no modo real não está funcionando conforme o esperado

Eu consegui carregar um pequeno kernel na memória através de um gerenciador de inicialização que executa um salto0x0090:0x0000. O kernel é carregado com sucesso à medida que imprimo um caractere para testá-lo e funciona corretamente. Eu queria ...

2 a resposta

Como converter com eficiência um bitmap de 8 bits em uma matriz de números inteiros 0/1 com x86 SIMD

Eu quero converter inteiro de 8 bits em uma matriz de tamanho 8 com cada valor contendo o valor de bit de um inteiro. Por exemplo: eu tenhoint8_t x = 8; Eu quero converter isso paraint8_t array_x = {0,0,0,0,1,0,0,0}; Isso deve ser feito com ...

2 a resposta

Montagem - Como modificar o tamanho da pilha?

Sou iniciante em programação de montagem e estou usando instruções push e pop que usam a pilha de memória. Então, qual é o tamanho padrão da pilha, como modificá-lo e qual é o limite se seu tamanho?

1 a resposta

As tabelas Near Call / Jump nem sempre funcionam em um gerenciador de inicialização

Problema GeralEstou desenvolvendo um gerenciador de inicialização simples e deparei com um problema em alguns ambientes em que instruções como estas não funcionam: mov si, call_tbl ; SI=Call table pointer call [call_tbl] ; Call print_char ...

1 a resposta

Configurando interrupções no modo protegido (x86)

Qual é o processo de configuração de interrupções no modo protegido? este [http://wiki.osdev.org/Interrupts]O link diz que se deve: Crie espaço para a tabela do descritor de interrupçãoInforme à CPU onde está esse espaço (consulte o Tutorial do ...

1 a resposta

Não é possível pular ou chamar o kernel carregado em 0x8000

Estou tentando desenvolver um sistema operacional. O design é o seguinte: tenho um carregador de inicialização carregado em 0x7c00 que carrega o segundo estágio e salta para ele em 0x7e00. O segundo estágio também está no modo real e faz muitas ...

2 a resposta

gerenciador de inicialização - alternando o processador para o modo protegido

Estou tendo dificuldades para entender como um simples carregador de inicialização funciona. O carregador de inicialização de que estou falando é o do curso "Engenharia de Sistemas Operacionais" do MITs. Primeiro, deixe-me mostrar um código de ...