Assembler e Debug
Neste tópico falarei de linguagem assembler e do arquivo Debug.exe.
Assembler: é uma linguagem de baixo nível, com interpretação difícil, se aproximando da linguagem de hardware. O básico dela é mover dados para lugares na memória como o exemplo proposto pelo professor:
0CF2:0100 mov cx, 100
0CF2:0103 mov ah, 2
0CF2:0105 mov dl, cl
0CF2:0107 int 21
0CF2:0109 loop 103
Na primeira parte (em destaque) de todos os comandos, está o endereçoda memória (parte em hexadecimal e parte em decimal) onde o trabalho será executado.
O comando "mov" vai levar um valor até o registrador "cx". No 1 Caso é o valor 100.
O comando "int" executa uma interrupção do tipo 21.
O comando "loop" pula para um endereço da memória.
Logo:
No contador cx (que se divide em cl e ch) ele coloca o valor 100
No contador ah, ele coloca o valor 2
Pega o valor de dl e coloca em cl
Faz uma interrupção.
Vai pro valor na memória 103
Obs: CX é um registrador do tipo contador, DX é um registrador de dados, AX é um registrador acumulador
Debug é um programa que pode acessado pelo MS-DOS, por linha de comando. Ele tanto serve para lê a memória e procurar erros e os corrige, como também serve para programar em linguagem assembler.