retour vers le sommaire du cours

Architecture matérielle
Jean HENRI
Fonctionnement du processeur - programme debug03.pas

source - fichier MAP - debug
debug00 - debug01 - debug03 - debug04

 

programme source Retour en haut de page

01  program debug03;
02
03  var
04       ValeurOctet : byte;
05       ValeurMot   : word;
06       ValeurReel  : real;
07       ValeurCh10  : string [10];
08
09      
Resultat    : word;
10
11  begin
12    ValeurOctet := 5;
13    ValeurMot   := 7;
14    ValeurReel  := 9;
15    ValeurCh10  := 'Bonjour';
16
17    Resultat := ValeurOctet + 3;
18    Resultat := ValeurOctet + ValeurMot + 4;
19
20    Resultat := Resultat * 2;
21  end.

fichier MAP Retour en haut de page

Start  Stop   Length Name     Class

00000H 00070H 00071H debug03  CODE
00080H 00828H 007A9H System   CODE
00830H 00AE3H 002B4H DATA     DATA
00AF0H 04AEFH 04000H STACK    STACK
04AF0H 04AF0H 00000H HEAP     HEAP

Address   Publics by Value

0000:0008 @
0083:0002 OvrCodeList
0083:0004 OvrHeapSize
0083:0006 OvrDebugPtr
0083:000A OvrHeapOrg
0083:000C OvrHeapPtr
0083:000E OvrHeapEnd
0083:0010 OvrLoadList
0083:0012 OvrDosHandle
0083:0014 OvrEmsHandle
0083:0016 HeapOrg
0083:001A HeapPtr
0083:001E HeapEnd
0083:0022 FreeList
0083:0026 FreeZero
0083:002A HeapError
0083:002E ExitProc
0083:0032 ExitCode
0083:0034 ErrorAddr

Address   Publics by Value


0083:0038 PrefixSeg
0083:003A StackLimit
0083:003C InOutRes
0083:003E RandSeed
0083:0042 SelectorInc
0083:0044 Seg0040
0083:0046 SegA000
0083:0048 SegB000
0083:004A SegB800
0083:004C Test8086
0083:004D Test8087
0083:004E FileMode
0083:0050 ValeurOctet
0083:0052 ValeurMot
0083:0054 ValeurReel
0083:005A ValeurCh10
0083:0066 Resultat
0083:0068 Input
0083:0168 Output

Address   Publics by Value


0083:0268 SaveInt00
0083:026C SaveInt02
0083:0270 SaveInt1B
0083:0274 SaveInt21
0083:0278 SaveInt23
0083:027C SaveInt24
0083:0280 SaveInt34
0083:0284 SaveInt35
0083:0288 SaveInt36
0083:028C SaveInt37
0083:0290 SaveInt38
0083:0294 SaveInt39
0083:0298 SaveInt3A
0083:029C SaveInt3B
0083:02A0 SaveInt3C
0083:02A4 SaveInt3D
0083:02A8 SaveInt3E
0083:02AC SaveInt3F
0083:02B0 SaveInt75

Line numbers for debug03(DEBUG03.PAS) segment debug03

11 0000:0008 12 0000:0017 13 0000:001C 14 0000:0022
15 0000:0034 17 0000:0047 18 0000:0052 20 0000:0061
21 0000:0069

Program entry point at 0000:0008

Utilisation de debug Retour en haut de page

D:\fichiers\henrij\ig1\tp_debug>debug debug03.exe

-r
AX=0000 BX=0000 CX=06D0 DX=0000 SP=4000 BP=0000 SI=0000 DI=0000
DS=15F8 ES=15F8 SS=16B7 CS=1608 IP=0008 NV UP EI PL NZ NA PO NC
1608:0008 9A00001016 CALL 1610:0000

-u
1608:0008 9A00001016     CALL 1610:0000
1608:000D 55             PUSH BP
1608:000E 89E5           MOV BP,SP
1608:0010 31C0           XOR AX,AX
1608:0012 9ACD021016     CALL 1610:02CD
1608:0017 C606500005     MOV BYTE PTR [0050],05
1608:001C C70652000700   MOV WORD PTR [0052],0007
1608:0022 C70654008400   MOV WORD PTR [0054],0084
1608:0028 C70656000000   MOV WORD PTR [0056],0000
1608:002E C70658000010   MOV WORD PTR [0058],1000
1608:0034 BF0000         MOV DI,0000
1608:0037 0E             PUSH CS
1608:0038 57             PUSH DI
1608:0039 BF5A00         MOV DI,005A
1608:003C 1E             PUSH DS
1608:003D 57             PUSH DI
1608:003E B80A00         MOV AX,000A
1608:0041 50             PUSH AX
1608:0042 9AB3041016     CALL 1610:04B3
1608:0047 A05000         MOV AL,[0050]
1608:004A 30E4           XOR AH,AH
1608:004C 050300         ADD AX,0003
1608:004F A36600         MOV [0066],AX
1608:0052 A05000         MOV AL,[0050]
1608:0055 30E4           XOR AH,AH
1608:0057 03065200       ADD AX,[0052]
1608:005B 050400         ADD AX,0004
1608:005E A36600         MOV [0066],AX
1608:0061 A16600         MOV AX,[0066]
1608:0064 D1E0           SHL AX,1
1608:0066 A36600         MOV [0066],AX
1608:0069 5D             POP BP
1608:006A 31C0           XOR AX,AX
1608:006C 9A16011016     CALL 1610:0116


Page créée en octobre 2002
Auteur : Jean HENRI