Buscar

Assemblers masm e tasm

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Trabalho de LP3
Caio Silva			R.A: 101629150
Felipe Simões 		R.A: 101628633
Fernando Souza		R.A: 101629419 
João Oliveira		R.A: 101810881
Larry Junior			R.A: 101629397 
Tulio Olivieri 		R.A: 101629230
Pesquisa a respeito de outras alternativas de ambiente para programação em Assembly plataforma Intel x86.
histórico do ambiente;
Desenvolvimento;
Diferenças e;
Vantagens e desvantagens em relação ao Debug.
Assemblers escolhidos:
Tasm e Masm
Tasm
O Turbo Assembler, é um Assembler criado pela Borland que gera códigos para MS-DOS e Windows de 16 e 32 bits da arquitetura x86, ele tem compatibilidade com outros compiladores da Borland, como Turbo C, Turbo Pascal, Turbo Basic, entre outros.
O TASM foi criado em 1988 para competir diretamente com o Assembler da Microsoft (MASM), sua versão 1.0 foi lançada junto com o Turbo C, um dos motivos para ficar bastante famoso.
O TASM, e os outros produtos da Borland, eram mais populares que o da sua concorrente por serem mais baratos, rápidos e mais eficientes, mas o ponto principal é o fato de que eram distribuídos juntos a uma IDE, que permite codificar, compilar e debugar com mais facilidade.
Embora o TASM nunca teve uma IDE própria, sua codificação é mais simples que a do MASM, que era conhecido como “fera complicada”, além de que o TASM tem compatibilidade com códigos em MASM. Um de seus recursos exclusivos é a capacidade de Orientação a objeto introduzida na versão 3.0.
O TASM foi sendo abandonado em meados dos anos 90 devido a mudança dos programadores, saindo da programação em Assembly para linguagens mais “bonitas” e simples
Sua última versão lançada isoladamente foi a 5.0, depois sendo lançada a versão 5.0r com compatibilidade para o C++Builder, Atualmente seu desenvolvimento e manutenção foram parados.
A principal diferença para o Debug é a utilização da IDE da borland para codificação além de sua sintaxe ser diferente em comandos não relacionados a linguagem especificamente e não é possível ver os registradores ao executar o programa, é necessário um debugger externo.
Vantagens
Codificação feita em uma IDE da Borland;
Maior variedade de comandos;
Compatibilidade com o Debug;
O Turbo Debugger
Desvantagens
Não recebe mais atualizações, perde sua compatibilidade com linguagens mais recentes;
É necessário emular o DOS para executar o Turbo Debugger e observar as mudanças em registradores ou executar as instruções passo-a-passo (Trace);
Masm
O Masm, é um Assembler criado pela Microsoft suporta a arquitetura IA-32 e x86-64 para MS-DOS e Windows. O Masm não é um produto vendido a parte ele está implícito em vários programas da Microsoft e em compiladores C.
Em 2000, a Microsoft descontinuou o suporte para MASM como um produto separado, em vez disso, submergindo-o no conjunto de ferramentas do Visual Studio
Vantagens:
Macros:
Tanto na linguagem assembly e em outras de alto nível é necessário repetir sequências de instruções várias vezes dentro de um código e se for uma sequência muito longa de comandos torna a tarefa extremamente tediosa, visto isso, uma abordagem alternativa é o uso de macros que é tornar uma sequência de instruções em um procedimento e chamá-la quando necessário. Entretanto, esta estratégia possui a desvantagem de exigir que uma instrução de chamada de procedimento e instrução de retorno sejam executadas toda vez que uma sequência é necessária. Semelhante à uma função em C/C++, onde é possível definir um conjunto de instruções para ser chamado quando necessário evitando redundância de código.
Exemplo:
	Código para intercambiar P e Q.
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
Vejamos, na próxima página, um exemplo de uso com e sem macro para intercambiar P e Q duas vezes
	...
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
…
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
...
	…
SWAP
…
SWAP
...
	SWAP MACRO
MOV EAX,P
MOV EBX,Q
MOV Q,EAX
MOV P,EBX
ENDM
	(Sem macro) 
	 (Com macro)
	Definição da macro
Desvantagens:
Não pode ser adquirido separadamente de outras ferramentas da Microsoft.
Referências:
https://en.wikipedia.org/wiki/Turbo_Assembler 
http://bytepointer.com/tasm/index.htm 
https://archive.org/details/bitsavers_borlandturemblerVersion4.0UsersGuideNov93_13508562
https://en.wikipedia.org/wiki/Microsoft_Macro_Assembler 
Structured Computer Organization, A.S. Tanenbaum

Outros materiais