Resultados da pesquisa a pedido "assembly"
Condição de corrida ao acessar membros adjacentes em uma estrutura compartilhada, de acordo com a regra de codificação CERT POS49-C?
De acordo comRegra de codificação CERT POS49-C [https://www.securecoding.cert.org/confluence/display/c/POS49-C.+When+data+must+be+accessed+by+multiple+threads%2C+provide+a+mutex+and+guarantee+no+adjacent+data+is+also+accessed] é possível que ...
Quantos bytes a instrução push envia para a pilha quando eu não especifico o tamanho do operando?
Eu posso enviar 4 bytes para a pilha fazendo o seguinte: push DWORD 123Mas eu descobri que posso usarpush sem especificar o tamanho do operando: push 123Nesse caso, quantos bytes opush instrução empurrar para a pilha? O número de bytes enviados ...
Explique como o sinalizador AF funciona nas instruções x86?
Eu tenho um pequeno emulador 8086 e eu tive um bug de longa data há 2 anos, agora que o AF não se comporta corretamente dentro do sub e adiciona instruções. Minha maneira atual de calcular seu valor é esta para números de 8 bits ...
Quais métodos podem ser usados para estender eficientemente o comprimento das instruções no x86 moderno?
Imagine que você deseja alinhar uma série de instruções de montagem x86 para determinados limites. Por exemplo, convém alinhar os loops a um limite de 16 ou 32 bytes ou empacotar instruções para que sejam eficientemente colocados no cache uop ou ...
Trabalhando assembly embutido em C para paridade de bits?
Estou tentando calcular oparidade de bitsde um grande número de uint64's. Por paridade de bits, quero dizer uma função que aceita um uint64 e gera 0 se o número de bits definidos for par e 1 caso contrário. Atualmente, estou usando a seguinte ...
Escrevendo firmware: montagem ou alto nível?
Relacionado a: Teste de firmware [https://stackoverflow.com/questions/451984/testing-firmware] iniciando um simulador / emulador de ...
O que é um retpoline e como ele funciona?
Para mitigar a divulgação de kernel ou memória de processo cruzado (oEspectro [https://spectreattack.com/spectre.pdf]ataque),$3Espectro4$ [https://lkml.org/lkml/2018/1/3/780], -mindirect-branch=thunk-extern introduzido agcc para realizar chamadas ...
Por que tenho duas implementações destruidoras na minha saída de montagem? [duplicado]
Esta pergunta já tem uma resposta aqui: GNU GCC (g ++): Por que gera vários dtors? [/questions/6613870/gnu-gcc-g-why-does-it-generate-multiple-dtors] 2 respostas Eobjdump do meu arquivo .o revela que tenho dois destruidores diferentes para ...
Como a CPU sabe qual rotina de serviço de interrupção executar contra uma interrupção de hardware?
Por exemplo, uma tecla do teclado é pressionada, causando uma interrupção de hardware gerada na CPU, a CPU envia uma confirmação ao controlador de interrupção. No estágio do processo de interrupção, como a CPU sabe qual rotina de serviço de ...
Como escrever código auto-modificado no assembly x86
Estou pensando em escrever um compilador JIT para uma máquina virtual de hobby em que tenho trabalhado recentemente. Conheço um pouco de montagem (sou principalmente um programador em C. Eu posso ler a maioria das montagens com referência para ...