Software Básico Programação assembly do 8088 Apêndice C O processador 8088 Ferramentas de desenvolvimento DOGN O rastreador/interpretador/simulador Ferramentas de desenvolvimento DOGN Um pequeno programa em execução Ferramentas de desenvolvimento DOGN Endereçamento (1) Ferramentas de desenvolvimento DOGN Endereçamento (2) Ferramentas de desenvolvimento DOGN O conjunto de instruções do 8088 (1) Ferramentas de desenvolvimento DOGN O conjunto de instruções do 8088 (2) Ferramentas de desenvolvimento DOGN O conjunto de instruções do 8088 (3) Ferramentas de desenvolvimento DOGN Desvios condicionais Ferramentas de desenvolvimento DOGN Chamadas de sub-rotinas Ferramentas de desenvolvimento DOGN Chamadas de sistema e sub-rotinas de sistema Empilhe argumentos da direita pra esquerda, empilhe # da chamada, execute instrução SYS, sem operandos Ferramentas de desenvolvimento DOGN O assembler as88 Não tem suporte à definição de macros Ferramentas de desenvolvimento DOGN O assembler as88 Ferramentas de desenvolvimento DOGN Ferramentas de desenvolvimento DOGN Exemplo Hello World Ferramentas de desenvolvimento DOGN Programa vecprod.s (1) Calcula produto interno de dois vetores, vec1 e vec2 Ferramentas de desenvolvimento DOGN Programa vecprod.s (2) Ferramentas de desenvolvimento DOGN Programa vecprod.s (3) Ferramentas de desenvolvimento DOGN Programa vecprod.s (4) Ferramentas de desenvolvimento DOGN Programa arrayprt Imprime vetor de inteiros vec1 Ferramentas de desenvolvimento DOGN Programa strngcpy.s Copia uma cadeia de caracteres (mesg2) para um destino (mesg1) Salva regs que vao ser usados localmente MOVSB = move byte apontado por SI para DI REP : repete instrução enquanto CX ≠ 0 SCASB = compara caracter apontado por DI com AL (ajusta flag 0 quando achar 0) Ferramentas de desenvolvimento REPNZ: repete enquanto CX ≠ 0 e bit Zero não for setado DOGN Programa reverspr.s Imprime cadeia na ordem inversa LODSB : copia um byte apontado por SI para AX (AL) Este programa tem um erro semântico Ferramentas de desenvolvimento DOGN Tabelas de despacho (1) CALL tbl(BX) : chamada de função cujo endereço é dado pela soma do valor de BX com o endereço tbl Ferramentas de desenvolvimento DOGN Tabelas de despacho (2) Ferramentas de desenvolvimento DOGN Acesso a arquivo com buffer e aleatório (1) Ferramentas de desenvolvimento DOGN Acesso a arquivo com buffer e aleatório (2) Ferramentas de desenvolvimento DOGN Acesso a arquivo com buffer e aleatório (3) Ferramentas de desenvolvimento DOGN