A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Execução de Programas Partes de um programa: ‣ Dados

Apresentações semelhantes


Apresentação em tema: "Execução de Programas Partes de um programa: ‣ Dados"— Transcrição da apresentação:

1 Execução de Programas Partes de um programa: ‣ Dados
‣ Código (instruções) Um programa necessita estar carregado em memória RAM para ser executado, sendo assim, cada variável e cada instrução do programa está localizado em algum endereço na memória. O conteúdo da memória onde estão localizados os dados, está mudando constantemente e o local onde estão armazenados os código, permanece sempre com o mesmo conteúdo. A execução do programa é feita instrução por instrução até que a instrução de finalização de programa seja executada.

2 Utilizando o DEBUG r , mostra o conteúdo dos registradores ou altera o conteúdo de um registrador. -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= NV UP EI PL NZ NA PO NC 0B52: JNB -r ax AX 0000 :8 -r bx BX 0000 :2 AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

3 Utilizando o DEBUG e - editar um endereço de memória -e 100
0B52: d8 -r AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= NV UP EI PL NZ NA PO NC 0B52: D ADD AX,BX

4 Utilizando o DEBUG t – Execução passo a passo da instrução apontada por IP. -r AX=0008 BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= NV UP EI PL NZ NA PO NC 0B52: D ADD AX,BX -t AX=000A BX=0002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= NV UP EI PL NZ NA PE NC 0B52:0102 2E CS: 0B52:0103 A1AC MOV AX,[95AC] CS:95AC=0000

5 Utilizando o Debug Operação de Soma e Subtração com assembly.
ADD AX, BX SUB AX, BX O resultado da Soma do conteúdo de dois registradores é armazenado no primeiro registrador, no exemplo acima ficaria AX = AX + BX O resultado da subtração do conteúdo de dois registradores é armazenado no primeiro registrador, no exemplo acima ficaria AX = AX - BX

6 Utilizando o DEBUG A operação de Multiplicação utiliza sempre o registrador AX. Mul BX A instrução acima considera que o registrador bx será multiplicado por AX A multiplicação de dois números de 16 bits, poderá gerar um número de 32 bits, desta forma, o resultado da multiplicação é guardado em dois registradores no formato DX:AX, onde parte mais significativa do resultado é armazenado em DX e parte menos significativa é armazenado em AX Exemplo: AX = 7c4b BX = 0100 AX * BX = 7C4B00 RESULTADO FINAL – DX=007C e AX=4B00

7 Utilizando o DEBUG -r ax AX 0000 :7c4b -r bx BX 0000 :0100 -r
AX=7C4B BX=0100 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= NV UP EI PL NZ NA PO NC 0B52:0100 BB MOV BX,0002 -e 100 0B52:0100 BB.f7 -e 101 0B52: e3 0B52:0100 F7E MUL BX -t AX=4B00 BX=0100 CX=0000 DX=007C SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B52 ES=0B52 SS=0B52 CS=0B52 IP= OV UP EI PL NZ NA PE CY 0B52: B ADD [BX+SI+0003],BH DS:0103=B8

8 Utilizando o DEBUG A operação de divisão utiliza um número de 32 bits, desta forma, considera que este número está armazenado no par de registrador DX:AX, onde o DX armazena a parte mais significativa e AX a parte menos significativa Div bx A instrução acima assume que o número contido no par DX:AX será dividido pelo conteúdo do registrado BX. A parte inteira da divisão será armazenado no registrador AX e o resto da divisão será armazenada no registrador DX.


Carregar ppt "Execução de Programas Partes de um programa: ‣ Dados"

Apresentações semelhantes


Anúncios Google