debug seuprograma.com
- d100 140
1.1 V. deve converter as instruções do programa para ascii-hexadecimal usando um vetor para armazenar o programa convertido. Dimensionar corretamente o vetor é uma dificuldade facilmente resolvida com ajuda do assembler: defina um rótulo, digamos, start antes da primeira instrução e outro, digamos, fim, imediatamente após a última instrução. O vetor pode então ser dimensionado pela diretiva:
prog: resb 2*(fim-start) ; cada byte do programa ocupará dois caracteres ascii !
V. precisará escrever uma pequena rotina
para converter um inteiro de 4 bits em um caracter ascii-hexadecimal
('0'...'9', 'A'...'F').
Uma forma simples é usar esse inteiro como
índice do vetor:
binascii: db '0123456789ABCDEF'
Outra forma é observar que na sequencia de caracteres ASCII há 7 caracteres após o '9' (39h) e antes do 'A' (41h) e fazer as contas de acordo.
Para exibir o vetor convertido no vídeo use a função de saída de uma cadeia Ascii, do DOS, int 21h, ah=09.
Apresente uma impressão do programa montado (.lst) no formato landscape para caber na página, junto com uma demonstração no laboratório. (Para ativar a criação dos arquivos .lst ative no nasmide sob Options >> assembler, Create listing file )
1.2 Nesta versão, o seu programa não pode usar
nenhuma área de dados, enviando para a tela cada byte convertido,
usando a função int 21h, ah=02, do DOS, que
exibe na tela um caracter ascii armazenado em dl. V. deve
usar, portanto, o 2º método citado acima para converter
um inteiro de 4 bits para ASCII.
Apresente uma impressão do programa montado
(.lst) no formato landscape para caber na página,
junto com uma demonstração no laboratório.