Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[tutorial] seksen: emulador 8086/186

Ir em baixo  Mensagem [Página 1 de 1]

Bom galera nesse pequeno tutorial vamos dar uma rapida olhada no emulador chamado seksen. O seksen é um emulador da arquitetura x86, sendo mais especifico ele emula os processadores 8086 e 80186. Podemos baixar o seksen no sourceforge no seguinte link

sourceforge

o seksen é um emulador feito em java então é necessário o java instalado na maquina para conseguir rodar ele, esse emulador não compila os codigos apenas executa os binários então vamos precisar também de um compilador para gerar os programas da arquitetura x86 (no meu caso vou esta utilizando o nasm que é um compilador assembly muito conhecido). Depois de baixar e executar nos deparamos com uma aba onde podemos selecionar o processador, criar ou abrir uma maquina pronta.



depois de escolher o processador e apertar em "create" vai aparecer uma nova janela, onde a aba central mostra os codigos carregados na memoria (lembrando que o 8086 funciona apenas em modo real já que o modo protegido surgiu a partir dos processadores 286/386), na aba superior da esquerda temos os registradores, na aba inferior temos algumas opções como log, output, memory e etc.



para a gente carragar o nosso binario apertamos no menu "File", selecionamos o tipo do nosso binario (podendo ser elks, binario puro, e intel), procuramos o binario na maquina, e por fim escolhemos o endereço de memoria onde sera carregado aquele binario



para esse exemplo vou criar um simples programa onde nele é setado valores em dois registradores (AX e BX), depois é feito a adição entre esses registradores e por fim armazenando em um endereço de memoria especifico (não vou ensinar asm nesse tutorial XD, caso tenha interesse tem um ebook meu ensinando o básico de asm para arquitetura x86 ou quem sabe um futuro tutorial especifico para isso \o)

Código:
org 0x0
 mov ax,0x10
 mov bx,0x5
 add ax,bx
 mov [0x20],ax
 hlt

no nasm especificamos o argumento -f bin para compilar um binario puro

Código:
nasm -f bin kodo.asm -o kodo.bin

depois de carregar o nosso binario no emulador vai esta naquele endereço de memoria especificado (no meu caso joguei no endereço 0000:0000)



para rodar o programa apertamos no menu "run", depois basta apertar na opção "step" para rodar passo a passo ou em "run" para rodar o programa sem pausa (nesse caso para parar usamos a opção "stop" ou colocamos uma instrução hlt no nosso código ~ outra forma ainda é colocar um breakpoint). Podemos notar que os registradores assim como a memoria vai sendo modificada conforme a logica do nosso código



bom galera esse tutorial é bem pequeno apenas para mostrar um pouco desse emulador ^^

by kodo no kami

Ver perfil do usuário https://eofclub.in/forum

Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum