Informatika | Operációs rendszerek » Iványi Péter - A DOS Debug használata, segédlet

A doksi online olvasásához kérlek jelentkezz be!

Iványi Péter - A DOS Debug használata, segédlet

A doksi online olvasásához kérlek jelentkezz be!


 2008 · 4 oldal  (70 KB)    magyar    78    2010. február 14.  
       
Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

Debug használata Segédlet Iványi Péter September 20, 2008 1 Jelölések cı́m - cı́mleı́rás • segmens:offset - pl. 0044:0f57 • segmens reg:offset - pl. ES:0f30 • offset - pl. 400 tartomány - egy memóriatartomány kijelölése • cı́m cı́m • cı́m, cı́m • cı́m L hossz lista - egymás után leı́rt hexadecimális számok szöveg - dupla aposztrofok között karaktersorozat 2 A DEBUG indı́tása • D:DEBUG <ENTER> : A program elindul és egy minusz jel jelzi, hogy a program várja a felhasználó parancsait • D:DEBUG file<ENTER> : Betölti a file programot és belép a DEBUG programba 3 A DEBUG parancsai q - (Quit) kilépés a programból h val1 val2 - (Hex) kiı́rja a két érték összegét és különbségét -h 9 1 000A 0008 -h 1 9 000A FFF8 d tartomány - (Dump) memória tartalmának kiı́rása a képernyőre -d c000:0010 C000:0010 24 12 FF FF 00 00 00 00-60 00 00 00 00 20 49

42 C000:0020 4D 20 43 4F 4D 50 41 54-49 42 4C 45 20 4D 41 54 C000:0030 52 4F 58 2F 4D 47 41 2D-47 31 30 30 20 56 47 41 C000:0040 2F 56 42 45 20 42 49 4F-53 20 28 56 31 2E 32 20 C000:0050 29 00 87 DB 87 DB 87 DB-87 DB 87 DB 87 DB 87 DB C000:0060 50 43 49 52 2B 10 01 10-00 00 18 00 00 00 00 03 C000:0070 40 00 12 10 00 80 00 00-38 37 34 2D 32 00 FF FF C000:0080 E8 26 56 8B D8 E8 C6 56-74 22 8C C8 3D 00 C0 74 - $.‘ IB M COMPATIBLE MAT ROX/MGA-G100 VGA /VBE BIOS (V1.2 ). PCIR+. @.874-2 .&VVt"=t -d 100 130 xxxx:0100 EB 24 0D 0A 54 68 69 73-20 69 73 20 6D 79 20 66 xxxx:0110 69 72 73 74 20 44 45 42-55 47 20 70 72 6F 67 72 xxxx:0120 61 6D 21 0D 0A 24 B4 09-BA 02 01 CD 21 B4 00 CD xxxx:0130 21 - .$This is my f irst DEBUG progr am!.$! ! s tartomány szöveg - (Search) memória tartományban megkeresi a szöveg valamennyi előfordulását -s fe00:0 ffff "BIOS" FE00:0021 FE00:006F -d fe00:0 FE00:0000 41 77 61 72 64 20 53 6F-66 74 77 61 72 65 49 42 FE00:0010 4D 20 43

4F 4D 50 41 54-49 42 4C 45 20 34 38 36 FE00:0020 20 42 49 4F 53 20 43 4F-50 59 52 49 47 48 54 20 FE00:0030 41 77 61 72 64 20 53 6F-66 74 77 61 72 65 20 49 FE00:0040 6E 63 2E 6F 66 74 77 61-72 65 20 49 6E 63 2E 20 FE00:0050 41 77 03 0C 04 01 01 6F-66 74 77 E9 12 14 20 43 FE00:0060 1B 41 77 61 72 64 20 4D-6F 64 75 6C 61 72 20 42 FE00:0070 49 4F 53 20 76 34 2E 35-31 50 47 00 DB 32 EC 33 Award SoftwareIB M COMPATIBLE 486 BIOS COPYRIGHT Award Software I nc.oftware Inc Aw.oftw C .Award Modular B IOS v4.51PG23 c tartomány cı́m - (Compare) összehasonlı́t két memória tartományt f tartomány szöveg - (Fill) memória tartomány feltöltése a szöveggel -f 100 12f ’BUFFER’ -d 100 12f xxxx:0100 42 55 46 46 45 52 42 55-46 46 45 52 42 55 46 46 BUFFERBUFFERBUFF xxxx:0110 45 52 42 55 46 46 45 52-42 55 46 46 45 52 42 55 ERBUFFERBUFFERBU xxxx:0120 46 46 45 52 42 55 46 46-45 52 42 55 46 46 45 52 FFERBUFFERBUFFER e cı́m lista - (Enter) értékek bevitele a memóriába 2

-e 100 B4 09 BA 0B 01 CD 21 B4 00 CD 21 g [cı́m] - (Go) programvégrehajtás folytatása, ha a cı́m is adva van akkor a cı́mre egy töréspontot tesz a [cı́m] - (Assemble) az opcionálisan megadott cı́mtől kezdve assembly parancsokat gépelhetünk be -a 100 xxxx:0100 jmp 126 ; adat átugársa xxxx:0102 db 0d,0a,"This is my first DEBUG program!" xxxx:0123 db 0d,0a,"$" xxxx:0126 mov ah,9 ; 09-es funkcionalitás xxxx:0128 mov dx,102 ; DS:DX -en a $-al lezárt string xxxx:012B int 21 ; string kiı́rása xxxx:012D int 20 ; kilépés xxxx:012F u [tartomány] vagy u [cı́m] - (Unassemble) az aktuális vagy a megadott cı́mtől az opcionálisan megadott tartományban assembly mnemonikra fordı́tja a gépi kódot -u 126 12F xxxx:0126 B409 xxxx:0128 BA0201 xxxx:012B CD21 xxxx:012D B400 xxxx:012F CD21 - MOV MOV INT MOV INT AH,09 DX,0102 21 AH,00 21 i port - (Input) a port-ról beolvas egy byte-ot o port byte - (Output) a port-ra

ı́r egy byte-ot -o 70 04 -i 71 18 -o 70 02 -i 71 55 <--- Kérdezzük le az órát <--- 18 óra <--- Kérdezzük le a percet <--- 55 perc n filenév - (Name) a file megnevezése r [reg] - (Register) a regiszterek kiı́ratása, vagy ha a regiszter meg van adva, akkor a regiszter értékének beállı́tása -r cx CX 0100 :273 3 Státusz bit Carry Parity Aux. carry Zero Sign Trap Direction Interrupt Overflow 1 CY PO AU ZR PL 0 NC NE NA NZ NG UP EI OV DW DI NV t - (Trace) egy utası́tás végrehajtása w - (Write) a BX és CX regiszterekben együttesen megadott byte-nyi adatot kiı́r a DEBUG a megnevezett file 4 Példa Írjunk egy programot mely egy csillag karaktert nyomtat ki. C:> DEBUG -a 100 xxxx:100 mov ah,02 xxxx:102 mov dl,09 xxxx:104 int 21 xxxx:106 int 20 xxxx:108 -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE DS=xxxx ES=xxxx SS=xxxx CS=xxxx IP=0100 xxxx:0100 MOV AH,02 -g * Program terminated normally -r cx :8 -n csillag.com -w

-q C:>csillag.com * C:> 4 BP=0000 SI=0000 DI=0000 NV UP EI PL NZ NA PO NC