Problemas reportados na utilização do ambiente nasmide/nasm/turbo debugger

Atualizado em 01-09-06

Instalação:
O arquivo .zip nasmide.zip contém todos os arquivos necessários à instalação do ambiente nasmide/nasm/turbo debugger numa máquina Windows. Basta descompactá-lo no diretório de instalação do nasm, digamos, V:\seu_home_dir\nasm no ambiente do IC, ou C:\nasm em casa. Edite o arquivo masmide.tmp (que deve ser uma cópia do nasmide.ini), colocando na linha: NASM_LOCATION=V:\seu_home_dir\nasm\nasmw.exe, onde V:\seu_home_dir\nasm é o diretório onde V. descompactou o nasmide.zip. V. irá invocar o nasmide numa janela DOS e deverá configurar o path da janela DOS conforme explicado abaixo.
Sugestão:
Não coloque seus programas de teste no diretório de instalação do nasm. Crie um ou mais subdiretórios para colocar seus programas .asm, digamos, em: v:\seu_home_dir\nasm\ativ1\, v:\seu_home_dir\nasm\ativ2, etc;

Problemas e soluções:

  1. V. executa o comamdo nasmide sob uma janela DOS e nada ocorre (o prompt do DOS é devolvido).
    Causa: o arquivo nasmide.ini foi destruído numa invocação anterior do nasmide.exe (isto é um bug não solucionado do nasmide!).
    Solução: Crie um arquivo nasm.bat contendo as linhas:
    if not exists nasmide.ini copy v:\seu_home_dir\nasm\nasmide.tmp v:\seu_home_dir\nasm\nasmide.ini
    nasmide.exe
    Em vez de invocar nasmide.exe simplesmente execute o comando: nasm

  2. Ao tentar montar um programa aparece uma mensagem de erro do tipo: "file not found".
    Solução: V. deve introduzir no path para o ambiente DOS da sua máquina Windows o diretório onde se encontram os arquivos do nasm, digamos, C:\nasm. V. pode fazer isto de várias formas:

  3. Ao tentar montar um programa aparece a mensagem de erro : Unknown SPAWNO error code 2
    Causa: o path completo onde se encontra o nasm16.exe (ou nasmw.exe) não foi corretamente especificado na janela Options => Assembler => Nasm Location.
    Solução: deveria ter algo como: c:\nasm\nasm16.exe ou c:\nasm\nasmw.exe
    Selecione também nesta janela, sob o item Target: Com executable binary file
    e marque com X a caixa sob o item:Listing File, a fim de habiitar a criação dos arquivos .lst quando seus programas são montados

  4. Sob Windows o nasmw.exe não é disparado, e surge uma mensagem de erro do tipo: "not a 16 bit program".
    Solução: use a versão nasm16.exe no lugar de nasmw.exe ao configurar o nasmide via janela: Options => Assembler => Nasm Location.
    Obs: Não consegui reproduzir o problema numa máquina do IC, porém vários alunos tiveram esse problema nas suas máquinas pessoais.

  5. Ao tentar disparar o nasmide aparece a mensagem: "Unable to open log file"
    Solução: crie no diretório de instalação do nasm (digamos, C:\nasm) o arquivo vazio: nasm.log

  6. Agosto 2004: ao tentar montar um programa aparece a mensagem de erro : Unknown SPAWNO error code 3
    Este é bem sutil: o caminho onde se encontra o nasm não pode ter diretorios com mais de 8 caracteres (Esta é uma limitação antiga do DOS)

  7. Ao tentar montar um programa que é visualizado sem problemas numa janela do nasmide aparecem mensagens de erro estranhas e indevidas!
    Prováveis causas: (i) V. visualizou o programa no navegador (browser), "selecionou, copiou e colou" diretamente no editor de texto, introduzindo caracteres estranhos no programa. Solução: use o "mouse direito" com a opção "salvar como" para baixar diretamente o programa na sua área.
    (ii) V. baixou o programa via Web de um ambiente Unix/Linux onde as linhas não estão delimitadas por CR,LF (mas apenas por LF). Esta é a causa se ao abrir o programa com Notepad as linhas ficarem concatenadas e separadas por uma barra vertical parecida com o caracter de cursor do DOS.
    Solução: Abra o programa com o Wordpad e salve-o como "Text Document - MS-DOS Format".

  8. Agosto 2006: V. montou o seu programa fonte .asm sem erros porém o executável .com não foi gerado: V. mudou a configuração padrão do assembler de gerar .com para um dos outros formatos aceitos pelo nasm.