Autor Tópico: [tutorial] instalar tpasm no linux  (Lida 38 vezes)

kodo no kami

  • Macaquinho
  • *
  • Mensagens: 19
    • Ver perfil
    • forum eof
  • Itens:
[tutorial] instalar tpasm no linux
« Online: Julho 14, 2017, 16:11:02 pm »
e ae galera blz? nesse tutorial vou ensinar como instalar o tpasm no linux que é um compilador assembly opensource de diversas arquiteturas, entre essas arquiteturas ele compila para rockwell, motorola, zilog, sunplus, infineon, core technologies, avr, pic e intel

Código: [Selecionar]
rockwell: 6502 65c02

motorola: 6805 68hc05 68705 68hc08 68hc11 6809

zilog: z80 z180

sunplus: spc08a spc21a spc21a1 spc41a spc41b spc41b1 spc41c spc81a spc121a spc251a spc512a spc500a1 spc1000a spc2000a

infineon: c166

core technologies: ctxp1

atmel avr: avr attiny10 attiny11 attiny12 attiny15 attiny22 attiny28 at90s1200 at90s2313 at90s2323 at90s2333 at90s2343 at90s4414 at90s4433 at90s4434 at90s8515 at90c8534 at90s8535 atmega8 atmega103 atmega161

microchip pic: 12c508 12c508a 12c509 12c509a 12ce518 12ce519 12c671 12c672 16c505 16c52 16c54 16c55 16c56 16c57 16c58 14000 16c554 16c556 16c558 16c61 16c62 16c62a 16c62b 16c620 16c620a 16c621 16c621a 16c622 16c622a 16c63 16c63a 16c64 16c64a 16c642 16c65 16c65a 16c65b 16c66 16c662 16c67 16c71 16c71a 16c710 16c711 16c715 16c72 16c72a 16c73 16c73a 16c73b 16c74 16c74a 16c74b 16c76 16c77 16f627 16f627a 16f628 16f628a 16f648 16f648a 16f818 16f819 16f83 16c84 16f84 16f84a 16f873 16f874 16f876 16f877 16c923 16c924 12f629 12f675 12f683 17c42 17c43 17c44 17c52 17c56

intel: 8031 8032 8051 8052 80c390

para começar a gente baixa o compilador no site oficial

sqrt (site official)

depois que a gente baixar o codigo fonte compactado (tpasm.tgz), temos que extrair para isso usamos o comando tar no arquivo

Código: [Selecionar]
tar -xzvf tpasm.tgz
http://i67.tinypic.com/2rzao0y.jpg

agora basta a gente entrar na pasta gerada com o comando cd

Código: [Selecionar]
cd tpasm1.8
e usar o comando make para compilar o codigo fonte dele gerando o executavel tpasm

Código: [Selecionar]
make
http://i63.tinypic.com/15nrgif.jpg

podemos mover esse executavel para o /usr/local/bin ou usar o comando make install para fazer isso automaticamente (essa ação é necessario esta como root)

Código: [Selecionar]
sudo make install
http://i68.tinypic.com/9r4v8h.jpg

pronto com isso ja temos ele instalado bastando criar um codigo para alguma arquitetura citada e compilar por ele, para testar vou esta gerando um codigo para o z80 bem simples que soma dois registradores

Código: [Selecionar]
org 0x0
 ld a,0x50
 ld b,0x10
 add a,b

fim:
 jp fim

para compilar usamos o argumento -P seguido do processador nesse caso z80 (pode usar o argumento -show_procs para exibir todos), -o seguido do tipo de saida meu caso foi intel (os famosos .hex usado em pic) seguido do nome do arquivo de saida (pode usar o argumento -show_types para exibir todos os tipos), por fim o nome do nosso arquivo fonte (não é necessario seguir essa ordem voce pode colocar o codigo fonte primeiro depois os outros ou vice versa respeitando apenas os valores dos argumento por exemplo o tipo de processador depois do -P)

Código: [Selecionar]
tpasm -P z80 -o intel kodo.hex kodo.asm
http://i65.tinypic.com/vzh1de.jpg

dependendo a onde voce for jogar esse binario é necessario que esteja em binario puro e não em formato intel, nesse caso voce pode usar o objcopy para recortar apenas os bytes do binario

Código: [Selecionar]
objcopy -I ihex kodo.hex -O binary kodo.bin
para testa usei o simulador da oshonsoft, como resultado o registrador A deve ficar com o valor 0x60 naquele meu programa

http://i64.tinypic.com/hululy.jpg

bom galera é isso tem muitas arquiteturas para qual podemos compilar com o tpasm ^^

by kodo no kami