Resultados da pesquisa a pedido "x86"
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 ...
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 ...
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?
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 ...
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 ...
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?
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 ...
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 ...
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 ...
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 ...