Baixe o app para aproveitar ainda mais
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
Compartilhar