Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Përshkrimi i korrigjimit të komandave të korrigjuesit.



Programi DEBUG (debugger) ofron një mjet për zbulimin e gabimeve kur
duke punuar me një program të përkthyer në gjuhën e makinës. Programi
DEBUG ofron mundësinë për të kaluar përmes programit dhe
shikoni se çfarë ndodh duke bërë këtë. Programi DEBUG është gjithashtu
nje gje mjet softuerik furnizuar si pjesë e DOS. Ju
shkarkojeni atë në të njëjtën mënyrë si çdo program tjetër dhe punoni
dialog duke përdorur tastierën dhe ekranin. Kur programi DEBUG
pret ndonjë veprim nga përdoruesi, pastaj kërkesën tuaj
shënohet me simbolin "-".

Në vend që të listoni të gjitha komandat që hyjnë në program
DEBUG, ne përdorim këtë korrigjues për të kontrolluar punën pikërisht tani
programi i kompiluar i paraqitur në Fig. 5.13 dhe A5.14. Në
FIK. 5.17 tregon listën përkatëse.
V ky shembull programi DEBUG thirret i pari dhe
programi që supozohet të korrigjohet tregohet - in
në rastin tonë programi FIG5 = 13.EXE. Pas programit DEBUG
ngarkuar, ngarkon programin që po korrigjohet.
Kontrolli tani i përket korrigjuesit dhe ai përdor "-"
tregon se çfarë pret për të dhëna. Derisa të hyni për
udhëzimet, asgjë nuk do të ndodhë me programin.

Komanda R shfaq përmbajtjen e të gjithë regjistrave për momentin
që korrespondon me ngarkimin e programit FIG5 = 13 dhe transferimin e kontrollit tek ai.
Përmbajtja e regjistrave është e vetëshpjegueshme, përveç që të jetë
ndoshta vlerat e flamurit. Flamuri NV tregon nr
vërshimi, flamuri UP - flamuri i drejtimit etj. Kur tërhiqeni
përmbajtja e regjistrave në rreshtin e fundit është si më poshtë
komanda që po ekzekutohet. Vendndodhja 04C5: 0000 përmban komandën PUSH DS.
B> A: DEBUG FIG5_13.EXE
-R

AX = 0000 BX = 0000 CX = 0120 DX = 0000 SP = FFF0 BP = 0000 SI = 0000 DI = 0000
DS = 2C26 ES = 2C26 SS = 2C26 CS = 2C26 IP = 0000 NV UP DI PL NZ NA PO NC
2C26: 0000 1E PUSH DS

2C26: 0000 1E SHTYTJE DS
2C26: 0001 B80000 MOV sëpata, 0000
2C26: 0004 50 SHTYTJE sëpata
2C26: 0005 FC CLD
2C26: 0006 8CC8 MOV AX, CS
2C26: 0008 8ED8 MOV DS, AX
2C26: 000A 8D361D00 LEA SI,
2C26: 000E AC LODSB
2C26: 000F A24000 MOV , AL
2C26: 0012 E82C00 THIRRJE 0041
2C26: 0015 803E40000A CMP , 0A
2C26: 001A 75F2 JNZ 000E
2C26: 001C CB RET Larg
2C26: 001D 9D POPF
2C26: 001E E2A0 LAKU FFC0
2C26: 0020 20AFE0AE DHE , CH
2C26: 0024 A3E0A0 MOV , AX

D2C26: 0

2C0E: 0000 CD 20 00 A0 00 9A EE FE 1D F0 ED 04 04 1C 3C 01. .............<.
2C0E: 0010 22 1B EB 04 22 1B 04 1C 01 01 01 00 02 06 FF FF "..." ...........
2C0E: 0020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 08 2C D0 FF ............., ..
2C0E: 0030 04 1C 14 00 18 00 0E 2C FF FF FF FF 00 00 00 00 ......., ........
2C0E: 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
2C0E: 0050 CD 21 CB 00 00 00 00 00 00 00 00 00 00 20 20 20.! ...........
2C0E: 0060 20 20 20 20 20 20 20 20 00 00 00 00 00 20 20 20 .....
2C0E: 0070 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 ........

RAX
AX 0000
:1234

E 2C0E: 21
2C0E: 0021 69. 73. 20. 61.20 20.


DS = 2C26 ES = 2C26 SS = 2C26 CS = 2C26 IP = 003C NV UP DI PL NZ NA PO NC
2C26: 003C CD10 INT 10
-T

AX = 0E54 BX = 0000 CX = 003F DX = 0000 SP = FFEA BP = 0000 SI = 001D DI = 0000
DS = 2C26 ES = 2C26 SS = 2C26 CS = F000 IP = 0165 NV UP DI PL NZ NA PO NC
F000: F065 FB STI
-T

FIK. 5.17 Listimi i korrigjuesit për Fig 5.13 dhe 4.14 (fillimi)
AX = 0E54 BX = 0000 CX = 003F DX = 0000 SP = FFEA BP = 0000 SI = 001D DI = 0000
DS = 2C26 ES = 2C26 SS = 2C26 CS = F000 IP = 0166 NV UP DI PL NZ NA PE NC
F000: F066 FC CLD
-G 2C26: 3E

T
AX = 0E54 BX = 0000 CX = 003F DX = 0000 SP = FFEA BP = 0000 SI = 001D DI = 0000
DS = 2C26 ES = 2C26 SS = 2C26 CS = 2C26 IP = 013E NV UP DI PL NZ NA PO NC
2C26: 003E RET
-G

Ky program është një test

Programi përfundoi normalisht
-R

AX = 0754 BX = 0000 CX = 003F DX = 0000 SP = FFEA BP = 0000 SI = 001D DI = 0000
DS = 2C26 ES = 2C26 SS = 2C26 CS = 2C26 IP = 003E NV UP DI PL NZ NA PO NC
2C26: 003E C3 RET
-P

FIK. 5.17 Listimi i korrigjuesit për Fig 5.13 dhe 4.14 (vazhdim)

Këtu duhet të zgjateni pak dhe të analizoni
informacioni që shkruhet në regjistra. Regjistro përmbajtjen
korrespondon me momentin kur programi FIG5 = 13 merr kontrollin
nga procesori i komandës. Vini re se një palë regjistrash
CS: IP tregon komandën e parë të specifikuar nga deklarata END
programet. Regjistrat DS dhe ES tregojnë prefiksin e softuerit
segment. Së fundi, një palë regjistrash SS: SP tregon segmentin
RAFTE. Gjendja e përshkruar e regjistrave do të krahasohet më vonë me
e njëjta gjendje e regjistrave për një skedar të tipit .COM.

Për të parë më shumë komanda, duhet të futni karakterin "U"
(çmontoni), dhe ekrani tregon rreth njëzet
komandat e mëposhtme. Kjo është e përshtatshme kur keni një program për të cilin nuk ka
listim. Çmontimi i programit ju lejon ta shikoni atë
ekipet. Kjo mund t'ju kursejë letër dhe kohë kur
programi është modifikuar pak. Meqenëse listimi juaj është më i madh
nuk korrespondon me programin që është në memorie, atëherë ai
çmontimi ju lejon të gjeni adresat e sakta për
çdo ekip.

Megjithatë, çmontimi me programin DEBUG ka
një sërë disavantazhesh në krahasim me përdorimin e listimit. Në mungesë
komentet (të cilat mund të jenë shumë të rëndësishme për të kuptuar programin), dhe
qelizat e memories identifikohen vetëm me adresë, jo me emër
e ndryshueshme. Për shembull, komanda e ruajtur në vendndodhjen 04C5: 000E ka,
siç tregohet në Fig. 5.13, pamja e mëposhtme:

MOV OUTPUT_CHARACTER, AL

Dhe në formë të çmontuar

MOV , AL

Ata janë një dhe e njëjta komandë. Për një programues që performon
korrigjimi, emri i ndryshores OUTPUT_CHARACTER thotë më shumë se adresa
qelizat. Megjithatë, programi DEBUG nuk i njeh emrat e variablave,
dhe ajo detyrohet të operojë me adresat aktuale.

Përveç kësaj, programi DEBUG nuk ofron të njëjtën gjë
assembler mnemonics që e kupton asambleri. Kjo do të thotë,
se disa komanda do të duken ndryshe. Ekipi nga qelia
04C5: 0014 do të duket si

CMP B ,, 0A

Por e njëjta komandë në Fig. 5.13 është paraqitur në formën:

CMP OUTPUT_CHARACTER, 10

Programi i çmontimit si për hyrjen ashtu edhe për daljen
punon vetëm me vlera heksadecimal. Kjo shpjegon
pamja e vlerës 0A. Ne kemi kuptuar tashmë pse është marrë vlera
në vend të emrit OUTPUT_CHARACTER. Cili është personazhi "B"?

Asambleri operon në variabla të një lloji të mirëpërcaktuar. Kjo
do të thotë se gjatë montimit, lloji i variablave mund të ketë
kuptimi: bajt, fjalë ose ndonjë tjetër. Kështu që kur
programuesi fut një komandë që përmban një referencë për zonën e memories, atëherë
montuesi e di madhësinë e kësaj zone. Programi DEBUG nuk e bën
ka një ide për gjatësinë e ndryshores së shkruar në adresë
... Sidoqoftë, programi i çmontimit e di me siguri këtë
kjo komandë dërgon saktësisht një bajt të dhënash të specifikuara nga
direkt në ekip, në. Kështu, simboli
"B" tregon se operacioni i menjëhershëm përbëhet nga
duke transferuar një bajt. Për të marrë të njëjtin rezultat me
duke përdorur assembler, komanda përkatëse duhet të jetë e formës:

CMP BYTE PTR, 10

Ju mund të mendoni për "B", si një shkurtim për BYTE PTR.
Në mënyrë të ngjashme, W përdoret për WORD PTR, L për një kohë të gjatë
(larg) kthimi etj.

Së bashku me komandën në formë të çmontuar, futet edhe ajo
kodi i objektit. Siç mund ta shihni, në 04C5: 001C janë shkruar
disa komanda që nuk janë në FIG. 5.13. Kjo zonë e të dhënave,
që përmban vargun "Ky është një test". Megjithatë, ekipi kryen
çmontimi, nuk dihet se ku përfundojnë komandat në program
dhe të dhënat fillojnë. Kështu, ajo interpreton gjithçka si
ekipet. (Meqë ra fjala, ishte kjo sekuencë komandash që u ekzekutua
do, nëse në programin tuaj do të bëhej një kalim në konsideruar
zona e të dhënave.)

Komanda e ekranit D ju lejon të shikoni ekranin
zona e të dhënave. Ekrani përbëhet nga dy pjesë.
Së bashku me renditjen e përmbajtjes së qelizave të kujtesës në heksadecimal
përfaqësimi përmban karaktere në kodin ASCII që
korrespondojnë me këto vlera. Nëse shfaqja e komandave është si
nuk ka kuptim, atëherë zona e të dhënave duket të jetë shumë
qartë. Kur nuk keni shumë për të bërë, mundeni
përpiquni të shkruani një program komandat e të cilit janë në kodin ASCII
përputhen me inicialet e emrit tuaj. Me korrigjuesin, mundeni
ndryshoni përmbajtjen e regjistrave dhe qelizave të memories. Nëse futni karakterin R
(regjistrohu) dhe më pas do të shfaqet lloji i regjistrit
përmbajtjen e këtij regjistri me mundësinë e korrigjimit të tij. Nëse shtypni
çelësi "kthim", përmbajtja e regjistrit do të mbetet e njëjtë. Ajo
do të ndryshohet nëse futet një vlerë e re.

Ju gjithashtu mund të modifikoni përmbajtjen e qelizave të kujtesës. Input
karakteri E (redakto) ju lejon ta bëni këtë. ku
programi DEBUG shfaq vlerat e qelizave individuale të memories,
e ndjekur nga një personazh. Ju mund të ndryshoni përmbajtjen
qelizat, duke futur një vlerë të re, ose shtypni shiritin e hapësirës për të
shkoni në qelizën tjetër, ose - butoni "kthimi" në
kthehu në modalitetin e kërkesës për komandën tjetër të korrigjuesit. V
shembulli i konsideruar, vlerat në tre qelizat e para mbeten
e njëjta. Qeliza 04C5: 0024 ndryshoi nga 61H në
më shumë se 20h. Meqenëse kjo qelizë përfshihet në zonën e të dhënave, atëherë
mesazhi i shfaqur do të ndryshojë nga ai që ishte në
programin e transmetuar.

Çdo komandë që akseson vendndodhjet e memories supozon
që adresa është pjesë e komandës. Ekipi E ashtu si ekipi
ekrani, shfaq përmbajtjen e qelizës së specifikuar në
adresën e saj. Në mënyrë të ngjashme, ishte e mundur të përdorej adresa në komandë
çmontimi. Ju mund të vendosni një adresë në formën e një segmenti dhe një kompensimi,
ose thjesht kompensime. Nëse keni specifikuar vetëm kompensimin, atëherë
regjistri përkatës i segmentit do të zgjidhet nga programi DEBUG. V
në rastin e komandës U, përdoret regjistri CS, dhe për komandat D dhe E,
si parazgjedhje, segmenti do të përcaktohet nga regjistri DS.

Tani le të përpiqemi të ekzekutojmë këtë program. Thjesht mundesh
vraponi dhe shikoni se çfarë ndodh. Për këtë jo
ju duhet programi DEBUG. DEBUG ju lejon të përcaktoni pikat
pikat e ndërprerjes të quajtura "pikat e ndërprerjes" të programit. falë
futja e pikave të tilla në program mund të kthejë kontrollin
programi DEBUG. Kjo ofron një mundësi tjetër për të kontrolluar statusin
memorie dhe regjistra për të kontrolluar progresin
programet.

Komanda G, (ekzekuton) transferon kontrollin nga programi DEBUG
programi i përdoruesit. Ekzekutimi i komandave fillon nga qeliza,
vendosur nga një palë regjistrash CS: IP (e njëjtë si në real
mikroprocesor). Programi në provë vazhdon të funksionojë deri
derisa të kalojë pikën e ndërprerjes. Në shembullin tonë, ne
vendosni një pikë ndërprerjeje në adresën 3CH. Meqenëse ne kemi treguar vetëm
kompensuar, përdor DEBUG
përmbajtjen e regjistrit CS. Nga lista e paraqitur në FIG. 5.14,
ju mund të shihni se kompensimi 3CH korrespondon me INT 10H. V
në shembullin e konsideruar të programit, u zgjodh ky vend i veçantë,
sepse kjo është pika ku kontrolli kalon në nënprogram
BIOS thirret nga ROM. Kontrollimi i programit në këtë pikë
siguron që regjistrat të vendosen në gjendjen e duhur më parë
duke ekzekutuar një rutinë BIOS.

Sapo të haset një pikë ndërprerjeje, kontrollo
u kthye në programin DEBUG. Në këtë rast, si në rastin
komanda R, ekrani tregon përmbajtjen e regjistrave dhe tjetrën
komanda që po ekzekutohet. Meqenëse kontrolli transferohet përsëri në program
DEBUG, ju mund të përdorni ndonjë nga komandat e korrigjimit.

Ka kufizime në përdorimin e pikave të ndërprerjes.
Pika aktuale e ndërprerjes zbatohet nga kodi optik 0CCH.
Komanda që korrespondon me këtë kod ngre ndërprerjen INT 3.
Ky ndërprerje matematikore kthen kontrollin në program.
DEBUGON. Nëse disa komanda e kthen kontrollin te korrigjuesi, atëherë
pika e ndërprerjes duhet të jetë në fillim të kësaj komande. Nëse
pika e ndërprerjes zgjidhet diku tjetër, kontrolli jo
do të kthehet në debuger dhe komanda e gabuar do të ekzekutohet
programi që duhej të ishte. Për shembull, nëse do të jepej
"= G 3D", atëherë komanda INT 0CCH do të ishte në adresën 3CH dhe më tej
ekzekutimi i programit është i vështirë të parashikohet.

Nëse një pikë ndërprerje zgjidhet me kujdes, atëherë jo
nuk do të ketë komplikime. Komanda "G" ju lejon të vendosni deri në dhjetë pika
ndërprerjet. Pasi ka kaluar ndonjë prej tyre,
rivendosja e vlerave origjinale të pikave të ndërprerjes. Performanca
Komandat e korrigjimit "G" pa pika ndërprerje nuk do të dalin kurrë
në ndonjë nga pikat e ndërprerjes të vendosura më parë, sepse ato janë të gjitha
janë hequr. Nëse e nisni programin dhe ai ndalon dhe
ajo ka ngecur, atëherë ka mundësi që të kthehet kontrolli, i cili
transferuar në program, do të jetë e mundur vetëm me çelësin e sistemit
rivendosni Ctrl = Alt = Del, d.m.th. ju duhet të filloni nga e para.
Kini kujdes kur nisni një program të panjohur.

Nëse dëshironi të futni një pikë ndërprerjeje të përhershme,
përdorni komandën E për të ndryshuar vlerën e bajtit të parë
komandat në vlerën 0CCH. Kjo pikë ndërprerjeje do të jetë aty gjatë gjithë kohës
ose të paktën derisa ta ndryshoni atë. Ndoshta
ju do të dëshironi të përdorni këtë ndërprerje në pikën e hyrjes në
një rutinë për trajtimin e gabimeve dhe analizoni gabimet që ndodhin
më me kujdes se kur i dorëzoni në program.

Ka edhe një rrethanë që lidhet me pikët
ndërpret për të mbajtur parasysh. Nëse përpiqeni të pyesni
pika e ndërprerjes në zonën ROM, atëherë asgjë
do të funksionojë. Meqenëse nuk mund të ndryshoni përmbajtjen e ROM-it, komanda
0CCH nuk do të shkruhet kurrë atje.

Merrni parasysh komandën e mëposhtme të korrigjuesit - komandën gjurmuese T.
Kjo komandë fillon ekzekutimin e një komande të debuguar
programet. Në shembullin tonë, komanda T ekzekutohet disa herë. Si
ju mund të shihni nëse komandat e para të BIOS janë duke u ekzekutuar,
thirret me ndërprerje INT 10H. Nënprogrami i BIOS, natyrisht,
është në ROM. Komanda gjurmimi ju lejon të "pauzoni"
programi kur ai ekzekutohet në ROM.

Para transferimit të kontrollit në programin e përdoruesit, komanda
gjurma vendos bitin përkatës në regjistrin e flamujve
gjurmimi. Ky bit fillon ndërprerjen INT 1 pas ekzekutimit
çdo ekip. Vektori i ndërprerjes INT 1 kthen kontrollin
programi DEBUG. Ekzekutoni automatikisht ndërprerjen INT 1
rivendos bitin e gjurmës në gjendjen e tij origjinale. Do të thotë se
DEBUG nuk ndërpritet pas ekzekutimit të çdo komande.
Komanda e gjurmimit është një mënyrë e shkëlqyer për të "depërtuar".
seksion i vështirë i programit. Në këtë rast, programi DEBUG del në
ekran çdo komandë së bashku me përmbajtjen e regjistrave vetëm në
moment para ekzekutimit të kësaj komande. Që në këtë
modaliteti, nuk përdoren pikat e ndërprerjes, por pikat aktuale të ndërprerjes,
edhe programet ROM mund të gjurmohen.

Le të kthehemi te shembulli ynë. Komanda = G 4C5: 3E ofron
ekzekutimi i plotë i rutinës BIOS. vini re se
programi ka shfaqur simbolin "E". Thirrja në ndërprerje 10H
rutina BIOS shkruan karaktere në ekran. Në këtë rast është
karakteri i parë i mesazhit të shfaqur. Pra, si mund të jetë dikush tani
të sigurt se programi ynë po ekzekutohet saktë, pastaj duke hyrë
simbolin "G", do të sigurojmë ekzekutimin e programit deri në fund pa pika
ndërprerjet.

Në këtë shembull, një skedar i tipit .EXE u konsiderua, dhe për këtë arsye për
kontrollin e kthimit në sistemin DOS nuk mund ta përdorim ndërprerjen
INT 20H. Në vend të kësaj, programi e shtyu gjendjen e regjistrit në pirg.
DS dhe një vlerë prej 0. Kontrolli transferohet përsëri në sistemin DOS në fund
programi kryesor duke përdorur komandën kthyese të tipit FAR. Programi
DEBUG e njeh këtë dhe regjistron gjendjen e makinës në fund
të programit në provë. Nëse do të ishte një skedar .EXE, atëherë
ndërprerja INT 20H do të kthente në mënyrë të ngjashme kontrollin
programi DEBUG. Tani, pasi keni shpenzuar mjaft kohë në këtë shembull,
mund të dalim nga programi DEBUG dhe të kthehemi në sistemin DOS me
duke përdorur komandën e plotësimit Q.

Duke përdorur shkurtoren e vendosur në desktop, kliko me të djathtën mbi të dhe zgjidhni "Properties" nga menyja e kontekstit që shfaqet. Në skedën "Shortcut" në dritaren që do të hapet si rezultat i këtij veprimi, klikoni në fushën "Object". Më pas shtypni tastin Fund për të lëvizur kursorin në fund të rreshtit, futni një hapësirë ​​dhe shkruani tastin e dëshiruar (-debug). Pas kësaj, klikoni butonin "OK" për të ruajtur shkurtoren me ndryshimet e bëra dhe ekzekutoni Loja në mënyrën e zakonshme - duke klikuar dy herë në këtë ikonë.

Hapni menunë kryesore në butonin "Start" dhe zgjidhni artikullin "Run" - në këtë mënyrë do të hapni dritaren standarde të nisjes së programit. Ky veprim korrespondon me shtypjen e shkurtores së tastierës Win + R - mund ta përdorni gjithashtu. Më pas futni shtegun e plotë drejt skedarit të ekzekutueshëm të programit në dritaren që hapet. Nuk është e nevojshme ta shtypni manualisht, mund të klikoni butonin "Shfleto" dhe të gjeni skedarin e ekzekutueshëm të lojës në diskun e kompjuterit tuaj. Pas kësaj shtoni çelësin -debug të ndarë nga një hapësirë ​​dhe klikoni butonin "OK". Herën tjetër që të filloni të përdorni këtë dialog, nuk do t'ju duhet të rishkruani shtegun dhe çelësi nuk kërkohet - vargu i futur do të ruhet në listën rënëse, nga ku mund ta zgjidhni.

Krijoni një skedar teksti kudo në kompjuterin tuaj. Ju mund ta bëni këtë në desktop - kliko me të djathtën në imazhin e sfondit, hapni seksionin New në menunë e kontekstit që shfaqet dhe zgjidhni Dokumenti Tekst. Vendosni në rreshtin e parë të dokumentit shtegun e plotë të skedarit të ekzekutueshëm të lojës - mund ta kopjoni në shkurtoren e programit ose në shiritin e adresave të Explorer. Shto çelësin -debug të ndarë nga një hapësirë ​​dhe ruaje dokumentin me shtrirjen bat. Vraponi Loja ju duhet të klikoni dy herë në këtë skedar.

Jo të gjitha lojërat dhe programet e vjetra mund të ekzekutohen në sisteme operative më të reja dhe me rezolucion të lartë të ekranit. Në Windows, mund të rregulloni cilësimet e përputhshmërisë dhe aplikacioni do të funksionojë. Lexoni se si ta bëni këtë më poshtë.

udhëzime

Klikoni me të djathtën në shkurtoren e lojës. Në menunë rënëse, zgjidhni "Properties".

Në dritaren që hapet, shkoni te skedari "Përputhshmëria".

Klikoni "Ok".

Video të ngjashme

Programet e mashtrimit janë shpikur për të thjeshtuar lojën kompjuterike. Me ndihmën e kodeve të mashtrimit, mund të merrni bonuse dhe aftësi shtesë për heroin e kompjuterit tuaj.

Do t'ju duhet

  • - programi "CheMax";

udhëzime

Mashtrime për lojërat Kozakët
Në strategjinë "Kozakët", menyja për futjen e kodeve të mashtrimit hapet kur shtypni butonin "Enter".
supervizor - mjegulla e betejës ndezur / fikur
para - rimbushje
multitvar - akses për të gjithë ushtarët
Zotat - ndihmë nga perënditë
AI - aftësia për të kontrolluar armiqtë
burimet - plotësoni të gjitha burimet
mburojë - super armë

Mashtrime për lojërat Sims 3
Për të futur kode në lojën Sims 3, shtypni shkurtoren e tastierës CTRL + SHIFT + C. Nëse nuk hapet, atëherë minimizoni lojën dhe kontrolloni nëse një program tjetër është i hapur kur shtypni këta butona. Mbylleni dhe zgjeroni lojën. Shtypni përsëri tastet.
Për përdoruesit e Vista: Përdorni tastet Ctrl + Windows + Shift + C.
Disa kode për Sims 3:
Kaching - Shton §1.000 në derrkucin e familjes
Motherlode - Shton §50,000 Simoleon në buxhetin e familjes
Fondet familjare - Ju lejon të vendosni një buxhet.

Mashtrime për lojërat Kundër-goditja 1.6
Kjo është një nga lojërat më të njohura. Për këtë lojë kompjuterike, hakerat kanë dalë me shumë programe mashtrimi. Shkarkoni BadBoy v 5.2. Ky është një mashtrim universal që përfshin të gjitha versionet e mëparshme të tij. Instaloni programin në dosjen rrënjë cstrike. Filloni lojën dhe shtypni butonin "Fut". Menyja e këtij programi do të hapet. Përdorni butonat "Page Up" dhe "Page down" për të zgjedhur cilësimet që dëshironi dhe luani. Ky mashtrim ju lejon të shihni nëpër mure, të vraponi shpejt, të gjuani me saktësi. Por ky program është i bllokuar në serverët online.

Mashtrime për lojërat Kamionistët 2
gjatë lojërat shtypni butonin "Ndalo / Pushim" në tastierë dhe futni kodin e mashtrimit që ju nevojitet.
SLFILLUP - do të merrni një rezervuar të plotë të karburantit.
SLRECOVER - në shërbimin e shpëtimit pa shpenzuar para.
SLREPAIR - riparim falas i makinave.

Video të ngjashme

shënim

Për këto kode mashtrimi, mund të ndaloheni në serverët në internet

Lojërat me tekst janë një nga mënyrat e preferuara të kalimit të kohës së lirë tek të rinjtë që janë të dhënë pas lojërave me role. Në fund të fundit, për të luajtur si personazhi juaj i preferuar, nuk keni nevojë të përgatitni një kostum dhe të shkoni në pyll. Luaj forum Loja mund të jetë në shtëpi, në punë ose gjatë pushimeve mes çifteve, në përgjithësi, kur është e përshtatshme për ju.

udhëzime

Kështu që ju keni vendosur të krijoni tekstin tuaj Loja dhe së shpejti do të bëheni administratori i botës tuaj të roleve. Si fillim, do të ishte mirë që të gjeni një ose dy asistentë, pasi ka mjaft punë për të bërë.

Nëse dëshironi të bëni Loja në botën tuaj origjinale, ju duhet të mendoni me kujdes dhe të pikturoni strukturën e botës, rregullat, kulturën dhe vlerat e saj. Nëse jeni duke bërë një rol testimi, ose - studioni me kujdes atë që keni zgjedhur. Si administrator, duhet të dini gjithçka - aftësitë e personazheve që do të luajnë, magjitë e përdorura.

Shkruani komplotin e lojës. Për shembull, mund të zgjidhni një nga librat, ose një ngjarje tjetër të ndritshme që ju pëlqen. Në komplot, përveç informacionit të përgjithshëm që përmban burimi parësor, duhet të tregoni se çfarë po bëjnë ata në këtë kohë, cilat synime janë palët kundërshtare, çfarë planifikojnë të marrin heronjtë për të zgjidhur konfliktin.

Hartoni rregullat e forumit dhe një model pyetësori. Rregullat e lojërave të ndryshme me tekst janë shumë të ngjashme, ju mund t'i shikoni ato në çdo forum lojërash dhe, duke i marrë ato si bazë, të shkruani tuajat. Në të njëjtën kohë, është e nevojshme të krijohet një listë pyetjesh që duhet të marrin përgjigje nga lojtarët që aplikojnë për rolin e një personazhi. Zakonisht, në formularin e aplikimit, ata shkruajnë emrin, racën dhe moshën e personazhit, përshkruajnë pamjen, karakterin dhe aftësitë. Është më mirë nëse postoni plotësimin së bashku me pyetësorin.

Kur pjesa e tekstit të jetë gati, mund të krijoni, në të cilën do të zhvillohet loja. Ka disa serverë falas në internet (për shembull, një bord). Nëse dini të shkruani faqe interneti, mund të krijoni një dizajn unik me skemën tuaj të ngjyrave, logon dhe butonat. Nëse jo, mos u dekurajoni, mund të zgjidhni një shabllon standard. Në fund të fundit, dizajni i forumit nuk është gjëja kryesore.

Ndani forumin në seksione dhe postoni informacione. Mos i hidhni gjithçka së bashku, lini një seksion për informacionin teknik të lojës - komplotin, rregullat, një listë të karaktereve të kërkuara. Lërini pyetësorët të shqyrtohen në një seksion tjetër. Ndani botën tuaj në disa vende dhe krijoni një temë të veçantë për secilën prej tyre. Sigurohuni që të krijoni një temë bisede në mënyrë që lojtarët të mos bisedojnë për jetën ndërsa luajnë. Në këtë pikë, loja juaj me tekst është gati për të pritur vizitorë.

Video të ngjashme

Plot të dosjeështë e nevojshme, si rregull, për ta kaluar atë si parametër në ndonjë program mbajtës. Më shpesh, kjo detyrë lind kur programoni disa procese, por ndonjëherë thjesht duhet të kontrolloni vendndodhjen e objektit me shtegun e specifikuar në udhëzime. Ky parametër përmban një numërim të të gjitha drejtorive, duke filluar me direktoriumin rrënjë, që duhet t'i hapni në mënyrë sekuenciale për të arritur te skedari i dëshiruar.

Do t'ju duhet

  • Windows OS.

udhëzime

Përdorni "Explorer" nëse keni nevojë të gjeni një të plotë rrugë për të dosje në sistemin operativ Windows. Hapni programin duke përdorur "çelësat e nxehtë" Win + E ose duke zgjedhur artikullin "Computer" në menunë kryesore, të thirrur duke klikuar në butonin "Start". Nëse dini ndonjë gjë për vendndodhjen e objektit të dëshiruar, lundroni pemën e drejtorisë sa më afër që të jetë e mundur - kjo do të ngushtojë gamën e kërkimit dhe rrjedhimisht kohën për këtë procedurë.

Në fushën në të djathtë të shiritit të adresave të menaxherit të skedarëve, futni emrin e skedarit dhe prisni derisa programi të shikojë të gjitha nëndrejtoritë dhe të gjejë objekte, emrat e të cilëve përmbajnë diçka të ngjashme. Plot rrugë do të vendoset në kolonën "Rruga drejt dosjes" të tabelës me rezultatet e kërkimit. Nuk ka nevojë ta rishkruani manualisht - klikoni me të djathtën në këtë rresht, në menunë e kontekstit që shfaqet, zgjidhni rreshtin "Properties" dhe kopjoni përmbajtjen e fushës "Vendndodhja" e dritares që hapet.

Nëse për ndonjë arsye jeni të detyruar të përdorni ndërfaqen e linjës së komandës, përdorni komandën DOS ku. Duhet të vendoset në parametrin R për ta bërë kërkimin e skedarit rekurziv, domethënë për të parë të gjitha nëndosjet. Përveç tij, sigurohuni që të specifikoni emrin e skedarit të dëshiruar, dhe një parametër opsional mund të jetë pjesa e shtegut të njohur për ju. Kjo komandë kryen gjithashtu një kërkim, kështu që duke specifikuar të paktën një pjesë të shtegut, do të reduktoni kohën e shpenzuar në të. Për shembull, nëse ju duhet të merrni të plotë rrugë për të dosje me emrin RM.csv, për të cilin dimë vetëm se është në diskun F, komanda duhet të shkruhet kështu: ku / R f: RM.csv

Pasi të keni shtypur komandën dhe parametrat e saj, shtypni Enter dhe në fund të kërkimit do të gjeni të plotë rrugë në rreshtin tjetër të ndërfaqes. Fatkeqësisht, nuk mund të zgjidhni dhe kopjoni vetëm këtë rresht këtu, kështu që klikoni me të djathtën kudo në dritare, zgjidhni komandën "Zgjidh të gjitha" nga menyja dhe më pas shtypni Enter. Në këtë mënyrë, ju do të vendosni në clipboard të gjithë përmbajtjen e ndërfaqes së linjës së komandës, e cila mund të pastrohet nga linjat e panevojshme në çdo redaktues teksti.

Debugging është një pjesë e rëndësishme e procesit të zhvillimit të softuerit. Për programet e aplikimit, ai bëhet në mjetet e modalitetit të përdoruesit dhe shpesh është i integruar në IDE. Por për të qenë në gjendje të korrigjoni, për shembull, drejtuesit, duhet të ekzekutoni korrigjues bërthamat.

Do t'ju duhet

  • - të drejtat e administratorit në makinën e synuar.

udhëzime

Nisja e procesorit të komandës cmd. Klikoni në butonin "Start" në shiritin e detyrave. Klikoni në artikullin "Run ..." në menunë që shfaqet. Në kutinë e dialogut Run Program, futni cmd dhe klikoni OK.

Bëni një kopje rezervë të skedarit boot.ini. Gjeni shtegun e instalimit të kopjes aktuale të Windows duke përdorur komandën: echo% SystemRoot% Shkoni te disku ku është instaluar sistemi operativ duke futur shkronjën e pajisjes të ndjekur nga dy pika. Ndrysho në direktorinë e tij rrënjë duke përdorur komandën cd. Hiqni sistemin, vetëm për lexim dhe atributet e fshehura nga skedari boot.ini duke përdorur komandën attrib, rezervoni atë me komandën e kopjimit dhe vendosni sërish atributet: attrib -h -s -r boot.inicopy boot.ini boot ini.oldattrib + h + s + r boot.ini

Shfaq listën aktuale të opsioneve të shkarkimit. Përdorni komandën: bootcfg / query Lëvizni nëpër artikujt në listë dhe përcaktoni se cili do të përdoret për të krijuar një konfigurim të ri me aftësinë për të korrigjuar gabimet bërthamat... Mbani mend ID-në e regjistrimit të nisjes.

Krijoni një rekord të ri nisjeje duke ekzekutuar komandën bootcfg me opsionin / kopje. Përdorni parametrin / id për të specifikuar ID-në e hyrjes që do të kopjohet. Përdorni parametrin / d për të specifikuar një emër të shfaqur për hyrjen. Për shembull: bootcfg / copy / id 1 / d "Win XP (Debug)" Listoni përsëri opsionet e nisjes duke përdorur komandën bootcfg me parametrin / query dhe gjeni ID-në e hyrjes së shtuar.

Aktivizo opsionet për të ekzekutuar korrigjues a bërthamat te rekordi i nisjes i krijuar në hapin e mëparshëm. Nëse korrigjimi do të bëhet në makinën e synuar, thjesht shtoni opsionin / debug. Për shembull: bootcfg / debug on / id 2 Nëse po planifikoni korrigjimin në distancë me lidhjen e kompjuterit të synuar me makinën pritës nëpërmjet portit com, përdorni gjithashtu opsionet / port / baud për të specifikuar numrin e portës dhe shpejtësinë e baudit, përkatësisht: bootcfg / debug on / port COM2 / baud 9600 / id 2 Nëse korrigjimi në distancë do të kryhet duke përdorur një ndërfaqe IEEE 1394 (kabllo FireWire), përdorni opsionin / dbg1394 për të aktivizuar modalitetin e duhur dhe opsionin / ch për të specifikuar numrin e kanalit, për shembull: bootcfg / dbg1394 on / ch 42 / id 2 Shikoni të dhënat e nisjes duke përdorur komandën bootcfg me parametrin / query dhe verifikoni që ndryshimet janë bërë. Mbyllni dritaren e guaskës duke ekzekutuar komandën e daljes.

DEBUGON . EXE - një program i veçantë sistemi për futjen dhe ekzekutimin hap pas hapi të programeve të shkruara në gjuhën e makinës ose duke përdorur udhëzime asembler.

Shtypni butonin për të ekzekutuar këtë program. Filloni, pastaj Ekzekutoni, hyni Korrigjimi dhe shtypni hyrje, si rezultat, programi duhet të ngarkohet nga disku në memorie.

Pas përfundimit të shkarkimit, në ekran shfaqet një prompt në formë vizë, që tregon se Debug është gati të pranojë komanda.

Më së shpeshti përdoret udhëzimet Korrigjimi :

1. P- dalje nga programi.

2. ? - duke marrë ndihmë.

3. H(Hexarithmetic) - Aritmetikë Hexadecimal. Nëse, pas karakterit H, shkruani 2 numra (jo më shumë se 4 shifra secila) të ndarë me një hapësirë, atëherë marrim shumën dhe ndryshimin e numrave të thirrur:

4. R [<имя регистра>] - punë me regjistra (nga fjala Regjistrohu). Udhëzimi "R" pa një parametër ju lejon të shikoni përmbajtjen e të gjithë regjistrave, si dhe vlerën e flamujve dhe komandën e vendosur në kompensimin 0100 në segmentin e kodit. Zakonisht, komanda e parë e programit ndodhet në offset 0100.

Me këtë udhëzim, mund të futni një vlerë të re në një regjistër. Për ta bërë këtë, pas komandës, shkruani emrin e regjistrit:

Siç mund ta shihni, në shikimin e parë të regjistrave me komandën r, regjistri AX ishte 0, pastaj u ndryshua përmbajtja e regjistrit.

5. U[<сегментный регистр>:]<начальный адрес>, <конечный адрес>- shikimi i qelizave të memories, duke filluar nga kompensimi i specifikuar në segmentin e specifikuar nga regjistri i segmentit. Komanda U (Unassemble) çmonton komandat që janë në memorie në një adresë të caktuar.

Për shembull, në shembullin e mëposhtëm, ne shikojmë komandat që janë në regjistrin CS, duke filluar nga adresa 100 deri në adresën 102.

6.E [<сегментный регистр>:]<смещение>- regjistrimi i informacionit në qelizat e memories operative.

Siç u përmend, me Debug mund të futni komanda si në gjuhën e makinës ashtu edhe në gjuhën e asamblesë. Instruksioni Debug E (Enter) përdoret për të hyrja e komandës në gjuhën e makinës ... Këtu Debug përdoret si përkthyes për të punuar drejtpërdrejt me mikroprocesorin. Ju mund të vendosni udhëzimet e makinës, t'i shkruani ato në një vend të caktuar në RAM, zakonisht duke filluar nga kompensimi 0100 në krahasim me fillimin e segmentit të kodit. Pastaj ekzekutoni hap pas hapi (një komandë në të njëjtën kohë) ose të gjithë programin menjëherë.

Meqenëse mikroprocesori kupton vetëm numra binarë (ato mund të shkruhen shkurt në heksadecimal), kodet e instruksioneve të makinës shkruhen në formën e numrave heksadecimal, dhe komandat janë një-, dy-, tre bajt, etj.

Për shembull, komanda për shtimin e vlerave nga regjistrat AX dhe BX është dy bajtë dhe ka kodin e makinës 01D8.

Udhëzimi “E<смещение>”Gjatë funksionimit printohet në rreshtin tjetër pas futjes së tij, adresa e përbërë nga dy numra dhe vlera e vjetër e bajtit në këtë adresë:<содержимое CS>:<смещение><значение байта>, atëherë kompjuteri pret që të futet një vlerë e re bajt.

Për të futur, për shembull, një udhëzim makine me dy bajtë 01D8, duhet të shkruani 01 në segmentin e kodit në offset 100 dhe D8 në offset 101:

7.T(nga gjurmimi) - fillimi i një programi të vendosur në RAM në adresën 0100 në modalitetin hap pas hapi. Për të thirrur programin për ekzekutim, fillimisht duhet të kujdeseni që numri 0100 të jetë në regjistrin IP (numëruesi i komandës).

8.A<смещение> – hyrja e komandës së asamblerit (nga Assemble). Komanda e parë e programit duhet të futet në offset 0100. Më pas sistemi pret për hyrjen alternative të komandave të asemblerit. Për të përfunduar hyrjen, shtypni Enter pas një rreshti bosh.

Shembull... Le të prezantojmë një program asembler në RAM që shton dy numra. Le të vendosim adresën e fillimit si më poshtë: A 0100.

Debugger do të shfaqë vlerën e adresës së segmentit të kodit dhe kompensimin në formën xxxx: 0100. Tani mund të futni çdo komandë, duke përfunduar me tastin Enter.

Përpara se të ekzekutoni programin, kontrolloni kodet e krijuara të makinës duke përdorur komandën U. Duhet t'i tregoni korrigjuesit adresat e komandave të para dhe të fundit që dëshironi të shikoni, në këtë rast 0100 dhe 0106. Futni: U 100, 106

Siç mund ta shihni, kodet e makinës janë krijuar në mënyrë korrekte.

Duke përdorur komandën R, ne shfaqim përmbajtjen e regjistrave dhe komandën e parë të programit tonë:

Duke përdorur komandat T, ne ekzekutojmë të gjitha komandat e programit në sekuencë:

Kështu futen dhe gjurmohen programet e gjuhës asambleje.

Le të shqyrtojmë pjesën tjetër të komandave Debug dhe më pas të kthehemi te shembulli.

9. G(nga Go) - nisja e një programi të vendosur në RAM në adresën 0100. Për të thirrur një program për ekzekutim, fillimisht duhet të kujdeseni që numri 0100 të jetë në regjistrin IP (numëruesi i komandës).

10. N<имя.com-файла>- vendos emrin e programit (Emri) për shkrimin e mëpasshëm të tij në disk ose leximin nga disku. Para se të shkruani, së pari duhet të shkruani 0 në regjistrin BX, dhe madhësinë e programit (në byte) në regjistrin CX.

11. W(nga Write) - shkrimi i një programi në disk. Pas ekzekutimit të udhëzimit "W", një skedar me shtesën .COM do të shfaqet në disk në drejtorinë aktuale - një kopje e saktë e programit.

programe nga disku në RAM. Emri i programit është paracaktuar me komandën N.

Le të kthehemi te shembulli me mbledhjen e dy numrave. Për të shkruar këtë program në disk, duhet të bëni tre gjëra:

1. jepni një emër programit;

2. tregoni kohëzgjatjen e programit;

3. kryejnë regjistrimin.

1. Le të emërtojmë skedarin e ardhshëm duke përdorur komandën N.

2. Programi përbëhet nga katër instruksione dy bajte, zë adresa me zhvendosje nga 0100 në 0106, që do të thotë gjatësia e tij është 8 bajt. Madhësia e programit Debug ruhet në një çift regjistrash. Në rastin tonë, vlera e gjatësisë përshtatet në një regjistër, kështu që thjesht zero regjistrin e sipërm të çiftit: BX = 0, CX = 8.

3. Për të shkruar programin në disk, përdorni W.


SHËNIM
Shifrat nuk shfaqen në këtë faqe, por mund t'i gjeni në libër.


Për të shkruar një program që tashmë e njohim duke përdorur Debug, do të bëjmë sa më poshtë (supozohet se tashmë keni filluar Debug-in dhe keni parë një ekran të zi me një vizë të vogël vezulluese në këndin e sipërm të majtë).

Le të fusim shkronjën "a" (ju kujtoj për herë të fundit - të gjitha komandat futen në anglisht) dhe shtypni ENTER.

Pastaj hyjmë në program duke shtypur ENTER në fund të çdo rreshti:

0B72: 0100 MOV AH, 02 0B72: 0102 MOV DL, 41 0B72: 0104 INT 21 0B72: 0106 INT 20 0B72: 0108 Rezultati do të jetë diçka si ai i paraqitur në fig. 1.6.

SHËNIM 1
Ju lutemi vini re se të gjitha vlerat numerike shkruhen pa shkronjën h në fund. Kjo është për shkak se Debug punon vetëm me numra heksadecimal dhe nuk ka nevojë të shpjegohet se në cilin sistem numërimi janë futur të dhënat.

SHËNIM 2
Pas futjes së komandës -а, shfaqen karakteret: 0B72: 0100. Në rastin tuaj, katër karakteret e para mund të jenë të ndryshme, por ne nuk jemi ende të interesuar për to. Çfarë mendoni se do të thotë numri 0100? E mbani mend direktivën ORG 100h (shih seksionin)? Pothuajse - kjo është adresa nga e cila fillon programi. Kjo do të thotë, komanda e parë e programit (për skedarët COM) futet në memorie me këtë adresë. Çdo komandë merr 2 bajt, kështu që adresa tjetër do të jetë 0102, etj.

Ne tashmë i dimë vetë komandat (shiko seksionin), kështu që ne nuk do t'i përshkruajmë ato këtu.

Programi është shkruar - duhet të kontrolloni punën e tij. Shtypni sërish ENTER në mënyrë që të shfaqet një vizë në ekran, e cila tregon se mund të futni një komandë për Debug. Më pas futim komandën g (nga anglishtja "GO") dhe shtypim tastin ENTER. Ne do të shohim sa vijon në ekran:

G A Programi përfundoi normalisht - Këtu A është e njëjta shkronjë që shfaqet në ekran si rezultat i punës së programit. Pastaj ka një mesazh për përfundimin normal të programit (mund të ndryshojë në varësi të versionit të Debug).

Dhe tani, nëse jeni të interesuar, mund ta kontrolloni programin hap pas hapi, domethënë të shikoni se si ekzekutohen komandat njëra pas tjetrës. Për ta bërë këtë, do të duhet të rishkruani tekstin e programit (mos harroni të vendosni së pari komandën a), më pas:

Le të fusim komandën t dhe të shtypim tastin ENTER. Do të shohim diçka të tillë:

AX = 0200 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B102 CSN POZ1 = 0B1000 SI B241 MOV DL, 41 Kjo nuk është gjë tjetër veçse gjendja e regjistrave të procesorit pas ekzekutimit të rreshtit të parë të programit. Siç mund ta shihni, në regjistrin AH është shkruar numri 02. Rreshti i fundit përmban adresën e komandës dhe vetë komandën që do të ekzekutohet më pas.

AX = 0200 BX = 0000 CX = 0000 DX = 0041 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B702 CS = 0B102 POZV1 CD21 INT 21 Instruksioni MOV DL, 41, siç pritej, shkruante numrin 41 në regjistrin DL.

Fusni sërish komandën t dhe shtypni tastin ENTER. Do të shohim sa vijon:

AX = 0200 BX = 0000 CX = 0000 DX = 0041 SP = FFE8 BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS2 CS35NP20 = 03225 NP200 CS 80FC4B CMP AH, 4B Ekipet CMP AH, 4B nuk janë në programin tonë. Programi ynë ka përfunduar punën e tij. Ne mund të fusim komandën t për një kohë të gjatë - do të na jepen gjendjet e regjistrave. Pse po ndodh kjo nuk është ende interesante për ne. Më mirë të futni komandën g dhe të shtypni tastin ENTER, kjo më në fund do të ekzekutojë programin tonë dhe do të shohim atë që kemi parë tashmë.

Programi është shkruar dhe testuar. Por si ta bëjmë atë të pavarur, domethënë si të krijoni një skedar COM? Në fund të fundit, ajo që kemi bërë funksionon vetëm me Debug. Për të krijuar një skedar të ekzekutueshëm, duhet t'i përgjigjeni disa pyetjeve:

  1. Sa i madh do të jetë dosja jonë? Ekzekutimi i programit fillon në 0100h, dhe rreshti i fundit në program përmban 0108h. Kjo do të thotë që madhësia e skedarit do të jetë 8 bajt (108h - 100h = 8).
  2. Si e emërtojmë dosjen tonë? Por të paktën si. Sidoqoftë, rekomandohet t'u jepni skedarëve emra anglisht, të cilët përmbajnë jo më shumë se 8 karaktere (DOS është më i këndshëm për të punuar në këtë mënyrë). Le të thërrasim për shembull debug_1.com
Tani le të bëjmë sa vijon:
  1. Le të shkruajmë programin tonë përsëri (tren, tren ...).
  2. Le të shkruajmë madhësinë e skedarit në regjistrin CX. Për ta bërë këtë, futni komandën r cx dhe shtypni ENTER. Më pas vendosni madhësinë e skedarit (8 bajt) dhe shtypni ENTER.
  3. Fusim komandën n, pastaj një hapësirë ​​dhe emrin e skedarit. Shtypni ENTER.
  4. Në fund, futni komandën w dhe shtypni ENTER.
Si rezultat i të gjitha këtyre veprimeve, informacioni i mëposhtëm do të shfaqet në ekran (shih gjithashtu Fig. 1.7): -r cx CX 0000: 8 -n debug_1.com -w Shkruani: 00008 bytes - Nëse jeni duke punuar në emulimin DOS modaliteti nga poshtë WINDOWS, atëherë skedari debug_1.com do të ruhet në desktop ose në dosjen e përdoruesit aktual. Varet nga versioni dhe/ose cilësimet e WINDOWS. Tani mund të ekzekutohet si një program normal. Nëse nuk e gjetët këtë skedar në dosjet e specifikuara, atëherë gjeni atë përmes kërkimit të skedarit. Epo, nëse nuk dini si ta bëni këtë, shihni librin Computer for Dummies.

E ndjej se tashmë jemi të lodhur. Debug-i del me komandën q.

Pasi të kemi fituar forcë dhe durim, le të studiojmë një opsion tjetër Debug - çmontuesin. Me ndihmën e tij, ju mund të çmontoni çdo skedar COM (d.m.th., të kryeni veprimin e kundërt të montimit - konvertoni skedarin e ekzekutueshëm në kodin burim në gjuhën e asamblesë). Le të themi se keni një program që nuk është shkruar nga ju - nuk e dini kodin e tij burimor, por vërtet dëshironi ta shihni atë. Për këtë është çmontimi.

Pra, programi Debug është i mbyllur për ne. Ne shkruajmë në vijën e komandës:

Debug_1.com (ku debug_1.com është emri i skedarit që duam të çmontojmë) dhe shtypni ENTER.

SHËNIM
Nëse programi nuk fillon, atëherë duhet të specifikoni rrugën e plotë drejt tij, për shembull

C: \ WINDOWS \ COMMAND \ debug debug_1.com Nëse programi filloi, por dha një gabim (për shembull: Gabim 1282 ose "Skedari nuk u gjet"), atëherë duhet të specifikoni rrugën e plotë të skedarit, për shembull: C : \ WINDOWS \ COMMAND \ korrigjimi C: \ MYPROG \ debug_1.com Nëse kjo nuk ju ndihmoi, atëherë ndoshta keni bërë një gabim diku në rrugë ose shtegu nuk përputhet me kërkesat e DOS. Në këtë rast, është më mirë të vendosni programin në rrënjën e diskut C, nga ku është e garantuar të ngarkohet përgjatë shtegut "C: \ debug_1.com".

Nëse Debug fillon pa mesazhe gabimi, atëherë futni komandën u dhe shtypni ENTER. Ja çfarë shohim (përafërsisht, shih edhe Figurën 1.8):

U 0BC6: 0100 B402 MOV AH, 02 0BC6: 0102 B241 MOV MOV DL, 41 0BCA6: 0104 CD21 INT 21 0BC6: 0106 CD20 INT 20 0BC6: 0108: BC20CS00V BC800V 010C 0AC0 OR AL, AL 0BC6: 010E 741A JZ 012A 0BC6: 0110 3C3A CMP AL, 3A 0BC6: 0112 750D JNZ 0121 0BC6: 0114 2E CS: 0BC6: 0115 807C0100 CMP BYTE PTR, 00 0BC6: 0119 0121 7506 JNBC 2E CS: 0BC6: 011C C60400 MOV BYTE PTR, 00 0BC6: 011F EB09 JMP 012A - Shikoni katër rreshtat e parë. A e njihni? Ky është programi ynë. Pjesa tjetër e rreshtave nuk janë me interes për ne (këto janë udhëzime të mbetura nga programet ose të dhënat që funksionuan përpara fillimit të Debug-it). Epo, nëse po shqyrtojmë një skedar të panjohur, si mund ta dimë se ku përfundon programi dhe fillon "mbeturina"? Kjo mund të bëhet përafërsisht nga madhësia e skedarit (për programe shumë të vogla). Madhësia mund të shihet në vetitë e skedarit. Vetëm mbani në mend se në vetitë e skedarit madhësia jepet në formë dhjetore dhe Debug na jep adresa heksadecimal. Prandaj, do t'ju duhet të konvertoni numrin dhjetor në heksadecimal.

Ekziston një opsion tjetër (i cili gjithashtu nuk është gjithmonë i pranueshëm) - të gjeni në listën që rezulton rreshtin që përmban komandën e daljes nga programi (INT 20).

Nëse programi është i madh, lista e komandave të tij nuk do të përshtatet në ekran. Më pas futim sërish komandën u dhe shtypim ENTER. Dhe kështu me radhë deri në fund të programit.

Ju mund të mos e shihni programin tuaj në ekran. Kjo mund të jetë ose për shkak të faktit se programi për ndonjë arsye nuk u ngarkua, ose për shkak të mospërputhjes së adresës. Kini kujdes: kushtojini vëmendje adresave të kujtesës të treguara në kolonën e majtë. Programi ynë fillon nga adresa 0100. Nëse adresa është e ndryshme, atëherë ky, në përputhje me rrethanat, nuk është programi ynë.

Korrigjuesi DEBUG është projektuar për një gamë të gjerë detyrash. Këto përfshijnë, për shembull, detyrat e mëposhtme: studimi i përmbajtjes aktuale të RAM-it; çmontimi i skedarëve .COM dhe .EXE, zhvillimi dhe korrigjimi i programeve të veta në gjuhën e asamblesë; studimi i punës së programeve dhe modifikimi i tyre; testimi i pajisjeve periferike për të punuar me portet I / O drejtpërdrejt (në modalitetin e dialogut); studimi i sistemit të komandës së procesorit, ndërprerjeve BIOS dhe MS-DOS.

Ka dy mënyra për të nisur korrigjuesin:

korrigjimi (Enter) ose korrigjimi i emrit të skedarit (Enter)

Pas fillimit, korrigjuesi ngarkohet në RAM dhe përmbajtja e regjistrave të segmentit CS, DS, ES, SS ngarkohet në paragrafin e parë të lirë menjëherë pas vetë korrigjuesit. Regjistri IP është vendosur në 100.

Korrigjuesi DEBUG ka një tregues të veçantë të adresës së të dhënave që përdoret si parazgjedhje në shumë komanda korrigjuese.

Pas fillimit të korrigjuesit, një rresht [-] shfaqet në të majtë të ekranit, që tregon se korrigjuesi është duke pritur për një komandë. Të gjithë numrat interpretohen nga korrigjuesi në shënimin heksadecimal.

KOMANDA DEBUG

A është komanda e montimit. Kjo komandë ju lejon të futni programe duke përdorur kodet mnemonike të komandës në RAM. Futja e një komande korrigjuesi

A<число>(Hyni)

e detyron atë të kalojë në mënyrën e marrjes së komandave nga tastiera dhe vendosjen sekuenciale të tyre, duke filluar nga adresa e barabartë me atë të specifikuar në komandë. Dy udhëzime të njohura të montimit DB dhe DW mund të përdoren si hyrje. Për shembull:

DB 1,2,3, "SHEMBULL"

DW 1000,2000, "FFFF"

Debugger-i mbështet kujtesën e të gjitha udhëzimeve të procesorit, si dhe bashkëprocesorin 80X87. Kur montoni komandat JMP dhe CALL, si parazgjedhje, nëse është e mundur, SHORT është varianti i këtyre komandave. Por ju mund të specifikoni NEAR ose FAR përpara adresës së tranzicionit, e cila do të çojë në gjenerimin e komandave përkatëse. Mnemonika e deklaratës RET që korrespondon me THIRRJEN LARGË është RETF. Është e mundur, dhe në raste të dyshimta, të përdoren treguesit WORD PTR ose BYTE PTR. Gjatë hyrjes në një program, lejohet të printohen prefikset CS :, ES :, SS: përpara komandës në të njëjtën linjë.

Shembull. Programi do ta mbushë ekranin me një simbol "!".

Shkruani A 200 (Enter), më pas futuni në program

Në fund të programit, ekziston një instruksion INT 20 që kthen kontrollin në monitorin e komandës së korrigjuesit. Ekzekutoni këtë program me komandë

С - krahasim. Kjo komandë krahason dy rajone të memories byte pas byte dhe printon çdo ndryshim midis tyre në formë

<адрес> <содержимое> <содержимое> <адрес>

Në këtë hyrje, informacioni për zonën e parë të memories jepet në të majtë, dhe informacioni për të dytën jepet në të djathtë.

Shembull. Krahasoni dy blloqe memorie 256 bajt. E para fillon në 100, e dyta në 300.

Për ta bërë këtë, duhet të telefononi

С 100L100 300 (Hyni)

Kjo komandë mund të jetë e dobishme, për shembull, kur kontrolloni identitetin e dy diskeve. Për ta bërë këtë, blloqet përkatëse të këtyre disketave me interes për ne ngarkohen në zonat ngjitur të memories, të cilat më pas analizohen nga komanda C.

D - hale memorie. Kjo komandë jep në ekran një printim të zonës së specifikuar të RAM-it, të përfaqësuar në shënimin heksadecimal, dhe në të djathtë jep paraqitjen e tyre simbolike. Për më tepër, kombinimet e kodeve që nuk kanë një paraqitje simbolike në standardin ASCII përshkruhen me pika. Linja shfaq gjashtëmbëdhjetë bajt. Në këtë rast, adresa e plotë e bajtit më të majtë tregohet në të djathtë. Kështu, një rresht përmban një hale hex, si dhe një hale ASCII prej gjashtëmbëdhjetë bajt RAM. Nëse komanda D jepet pa parametra, atëherë në ekran shfaqen gjithsej 128 byte (80H) në tetë rreshta. Çdo rresht përmban një karakter "-" që ndan 16 bajt në gjysmë: midis bajtit të tetë dhe të nëntë.

Shembull. Shikoni treguesit vektorial të tridhjetë e dy ndërprerjeve të para (20H).

Duhet të futni komandën

D 0: 0,7 F (Hyni)

E - komanda për të ndryshuar përmbajtjen e bajteve. Kjo komandë ju lejon të skanoni përmbajtjen e kujtesës përpara dhe prapa me bajt dhe, nëse është e nevojshme, të ndryshoni përmbajtjen e bajteve të skanuar.

Hyrja e komandës:

E<адрес>(Hyni)

bën që korrigjuesi të kalojë në modalitetin e redaktimit për bajt individualë. Kjo printon përmbajtjen e bajtit aktual në heksadecimal të ndjekur nga një pikë. Pas kësaj, mund të shkruani vlerën e përmbajtjes së bajtit të ri, por gjithashtu mund ta lini përmbajtjen e bajtit të njëjtë pa shtypur asgjë. Pastaj ju duhet të shkruani një nga tre karakteret e kontrollit:

a) "hapësirë", që do të thotë kalim në redaktimin e bajtit të ardhshëm;

b) "Hyni". Kjo do të dalë nga modaliteti i redaktimit të bajteve në korrigjuesin e nivelit të komandës;

v) "-". Shtypja e kësaj shenje do të kalojë në modifikimin e mëparshëm të bajtit.

Shembull. Ndryshoni vlerën e numëruesit të orës së sistemit.

Le të fusim komandën

dhe shkruani katër numra 70 70 70 70, të ndarë me hapësira, më pas karakterin e kthimit të karrocës 0D. Më pas, duhet të dilni nga korrigjuesi dhe të ekzekutoni komandën e kohës së sistemit operativ.

F - komanda plotësuese. Kjo komandë ju lejon të plotësoni përmbajtjen e diapazonit të specifikuar të RAM-it me një varg bajtësh të përsëritur me vlerat dhe vlerat e specifikuara. Në veçanti, kur zinxhiri përbëhet nga një bajt, kjo komandë ju lejon të zero zonën e kërkuar të memories kur bajt është i barabartë me zero, dhe gjithashtu të vendosni një në të gjitha bitet, duke e mbushur atë me një bajt të barabartë me FF.

Komanda ka sintaksën e mëposhtme:

F<диапазон_памяти> <цепочка байтов>(Hyni)

Shembull. Plotësoni zonën e kujtesës duke filluar nga DS: 0100 me zero për një total prej 16384 bajte (4000 16).

F 100L4000 00 (Hyni)

Kontrolloni me komandën

D 100L4000 (Hyni)

G - komanda për të nisur programin e programimit. Kjo komandë është krijuar për të nisur programin për ekzekutim. Në këtë rast, nëse zona e kujtesës ku ruhen të dhënat transferohet kontrolli si program, kompjuteri "ngrihet" dhe duhet të rindizet. Në rastin kur programi përmban gabime serioze (për shembull, nuk ka një deklaratë INT 20 për t'u kthyer në nivelin e komandës së korrigjuesit), një përpjekje për ta ekzekutuar atë duke përdorur deklaratën G shkakton gjithashtu ngrirjen e kompjuterit.

Ky operator zakonisht përdoret në një nga katër format e mëposhtme:

Ekzekutimi i këtij operatori reduktohet në transferimin e kontrollit në adresën CS: IP. Vlerat CS dhe IP mund të gjenden duke shtypur komandën R (Enter) për të hequr të gjithë regjistrat e procesorit;

b) G =<адрес>(Hyni)

Kjo nis programin në adresën e specifikuar.

c) G<адрес>(Hyni)

Në këtë rast, programi fillon nga adresa CS: IP, dhe kur operatori arrin adresën e specifikuar, BREAK ndalon ekzekutimin e programit. Një gabim i zakonshëm i fillestarëve është të anashkalojë shenjën e barazimit kur përdorni komandën G. Në këtë rast, adresa e specifikuar merret si pikë ndërprerjeje dhe nëse CS: IP drejtohet, për shembull, në një zonë të dhënash, kompjuteri do të ngrijë.

d) G =<адрес> <другой_адрес>(Hyni)

në këtë rast programi niset nga adresa e specifikuar pas shenjës “=” dhe nëse programi arrin një komandë me vlerën e adresës së specifikuar nga e dyta (adresa e ndryshme), ai ndalon. Kjo mënyrë e ndalimit të programit quhet futja e një pikë ndërprerjeje. Kur specifikohet një pikë ndërprerjeje, bajti përkatës i komandës në këtë adresë zëvendësohet me INT 3, i cili ka madhësi 1 bajt. Kur arrihet pika e kontrollit, vlera origjinale e bajtit rikthehet.

Së pari, le të hyjmë në program (duke përdorur komandën A 100):

MOV, 1234

DEC BX; vendosni pikën e ndërprerjes këtu

Le të fillojmë programin me komandën G = 100 109 (Enter) Programi, pasi kishte arritur në adresën 109, ndaloi dhe dha një hale të plotë të regjistrave.

H - komandimi i aritmetikës heksadecimal. Kjo komandë ju lejon të merrni shumën dhe ndryshimin e dy numrave heksadecimal të specifikuar në komandë.

Si përgjigje, marrim 1 (shuma) dhe FFFF (ndryshim).

I - komanda e hyrjes nga porti. Kjo komandë lexon përmbajtjen e portit I / O në adresën e specifikuar duke e printuar atë në ekran në heksadecimal.

Sintaksa e komandës:

Unë<адрес_порта>(Hyni)

Duke vepruar kështu, ne marrim përmbajtjen e portit B nga ndërfaqja periferike e programueshme 82.

L - komanda për të nisur nga disku. Kjo komandë lejon ngarkimin e të dy sektorëve logjikë nga disketat dhe disqet e ngurtë, dhe skedarët individualë. Ngarkimi i sektorëve nga disku kryhet me komandën:

L<адрес><номер_диска><начальный_сектор><число_секторов>(Hyni)

Këtu "adresa" nënkupton adresën fillestare në RAM, duke filluar nga e cila do të vendoset në mënyrë sekuenciale përmbajtja e blloqeve-sektorëve. Variabli "numri i diskut" tregon se nga cili disk do të niset. Numri 0 do të thotë makinë A, numri 1 do të thotë makinë B, numri 2 do të thotë makinë C, e kështu me radhë. Dy variablat vijues tregojnë përkatësisht nga cili sektor fillon leximi dhe numri i përgjithshëm i sektorëve të lexuar.

Ngarkoni bllokun BOOT nga disku A: në RAM, duke filluar nga adresa DS: 1000, për të cilën duhet të ekzekutoni komandën

L 1000 0 0 1 (Fut)

Pastaj përmbajtja e bllokut BOOT mund të printohet me komandën

D 1000L200 (Hyni)

dhe gjithashtu çmontoni

U 1000L200 (Hyni)

N<имя_файла>(Hyni)

Më pas, duhet të ekzekutoni komandën L pa argumente. Si rezultat i këtyre veprimeve, skedari (përveç skedarëve me shtesën EXE) do të ngarkohet në RAM duke filluar nga adresa CS: 100. Nëse skedari i ngarkuar ka shtrirjen EXE, korrigjuesi do të ngarkojë skedarin duke filluar nga adresa CS: 0. Numri i bajteve të lexuara ruhet në çiftin e regjistrave BX: CX pasi të ekzekutohet komanda L.

M - komanda e kopjimit Kjo komandë kopjon përmbajtjen e një pjese të memories kryesore në një zonë tjetër të memories kryesore. Sintaksa e komandës është si më poshtë:

M<диапазон> <начальный_адрес>(Hyni)

Këtu "rangu" i referohet zonës së memories që do të kopjohet, dhe "start_address" i referohet adresës së bajtit të parë nga i cili ndodhen të dhënat e kopjuara. Kjo komandë mund të përdoret për të ruajtur përkohësisht përmbajtjen e RAM-it dhe më pas për ta rikthyer atë.

Së pari, le të shohim përmbajtjen e kujtesës:

D 100L100 (Hyni)

Më pas ruajmë një pjesë të memories, duke filluar nga adresa

M 100L100 1000 (Hyni)

Ne do të mbishkruajmë përmbajtjen origjinale

F 100L100 0 (Hyni)

Kontrolloni zeroizimin

D 100L100 (Hyni)

Më në fund, rivendosni përmbajtjen origjinale

M 100L100 100 (Hyni)

N - komanda për specifikimin e një emri. Kjo komandë para së gjithash përcakton emrin e skedarit, i cili më pas ose do të lexohet nga disku me komandën L, ose do të shkruhet në disk me komandën W. Sintaksa e kësaj komande është si më poshtë:

N<имя_файла>(Hyni)

Le të lexojmë skedarin AUTOEXEC.BAT nga disku në RAM. Për ta bërë këtë, ekzekutoni

N C: \ AUTOEXEC.BAT (Hyni)

Në çiftin e regjistrave BX: CX, do të futet gjatësia e skedarit të ngarkuar në bajt.

О - komanda për nxjerrjen e të dhënave në port. Kjo komandë ju lejon të nxirrni bajtin e specifikuar në port me adresën e specifikuar. Është i dobishëm për testimin interaktiv të pajisjeve periferike dhe shasisë në motherboard. Sintaksa e komandës:

O<адрес_порта> <величина>(Hyni)

Këtu, në vend të "port_address", zëvendësohet adresa e portit të kërkuar në intervalin 0-FFFF, dhe në vend të "vlerës" - vlera, e cila më pas ngarkohet në port. Nëse porti është 16-bit, atëherë "vlera" mund të jetë një numër heksadecimal 4-shifror që ngarkohet në port.

Motori i makinës A: për disketën mund të ndizet me komandën e mëposhtme

Rreth 3F2 10 (Hyni)

R - komanda gjurmuese e nivelit të lartë. Kjo komandë, si komanda T, është menduar për gjurmimin e programeve. Megjithatë, ndryshe nga gjurma T, kjo gjurmë është më pak e detajuar. Nuk monitoron nga afër nënprogramet dhe ndërprerjet e softuerit, si dhe sythe LOOP dhe udhëzimet e linjës me përsëritje. Ashtu si me gjurmën T, pas çdo komande, shtypen përmbajtja e të gjithë regjistrave dhe komanda tjetër që do të ekzekutohet. Sintaksa e komandës:

P =<адрес> <число_команд>(Hyni)

Ju mund të hiqni cilindo nga dy parametrat e linjës së komandës:<адрес>dhe/ose<число_команд>... Parametri<адрес>specifikon adresën fillestare, nga e cila do të kryhet gjurmimi dhe parametri<число_команд>do të tregojë numrin total të komandave që do të ekzekutohen pasi të shtypet tasti (Enter). Është e detyrueshme të vendosni simbolin "=" kur specifikoni adresën në mënyrë që të mos ngatërroni adresën me numrin e komandave të ekzekutueshme. Ky lloj gjurmimi P është jashtëzakonisht i dobishëm për të mësuar logjikën e përgjithshme të ekzekutimit të programit, duke eliminuar gjurmimin e lodhshëm të detajeve. Në studimin fillestar të programit, është e nevojshme të fillohet me R-trace.

Le të prezantojmë, duke filluar nga adresa 100, programin e mëposhtëm

Më pas do të kryejmë gjurmimin P. Për ta bërë këtë, së pari futni komandën P = 100 (Enter) dhe më pas të njëpasnjëshme

Pas kësaj ne do të kryejmë gjurmimin e zakonshëm të detajuar T.

Q është komanda për të dalë nga korrigjuesi. Komanda Q del nga korrigjuesi në nivelin tjetër më të lartë të programit. Në këtë rast, skedarët e punës nuk ruhen.

R - komanda për të hedhur / korrigjuar regjistrat. Kjo komandë ju lejon të shikoni përmbajtjen e të gjithë regjistrave menjëherë, si dhe flamujt, ose të shikoni vlerat e regjistrave individualë dhe regjistrave të flamurit me aftësinë për t'i ndryshuar ato.

jep një printim të të gjithë regjistrave si dhe komandën e treguar nga CS: IP.

R<имя_регистра>(Hyni)

jep një printim të përmbajtjes së regjistrit të specifikuar dhe më pas printon një dy pika në rreshtin tjetër. Pas kësaj, përdoruesi mund të shtypë tastin (Enter) dhe të dalë përsëri në monitorin e komandës së korrigjuesit, ose të vendosë një vlerë të re regjistri përpara se të shtypë tastin (Enter). Në rastin e fundit, vlera e regjistrit të vjetër do të zëvendësohet me atë të re. Emrat e mundshëm të regjistrave: AX, BX, CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, IP, F (regjistri i flamurit).

Kur përdorni komandën

duhet pasur parasysh se kodimi i vlerave të flamurit bëhet në një mënyrë shumë specifike. Më poshtë është tabela e kodimit, ku çifti i karaktereve në të majtë korrespondon me vlerën 0 të flamurit përkatës, dhe në të djathtë me vlerën e barabartë me 1 (flamuri është vendosur):

Gjatë ekzekutimit të komandës

vlerat e flamurit shtypen në një varg në rendin e kundërt të rendit në tabelë. Menjëherë pas kësaj, një vizë shtypet në rresht<->, korrigjuesi kalon në një gjendje pritjeje për hyrjen e tastierës. Nëse përdoruesi shtyp vetëm tastin (Enter), vlerat e flamurit nuk do të ndryshojnë dhe komandat e korrigjuesit do të kthehen në monitor. Sidoqoftë, para kësaj, përdoruesi mund të shkruajë vlera të reja të disa flamujve sipas tabelës së kodimit. Rendi nuk është thelbësor në këtë rast.

S është komanda e kërkimit. Komanda e kërkimit për një grup të renditur bajtesh ju lejon të kërkoni për një varg të caktuar bajtesh në një gamë të caktuar RAM dhe ka sintaksën:

S<диапазон_памяти> <цепочка_байтов>(Hyni)

Përgjigja kthehet si një listë adresash duke filluar nga e cila ndodhet vargu i specifikuar i bajtit.

Supozoni se doni të përcaktoni nëse vargu i karaktereve "DOS" ndodh në 32K të parë të RAM-it. Për ta bërë këtë, futni komandën

S 0: 0L8000 44 4F 53 (Hyni)

T - komanda gjurmuese. Kjo komandë lejon që një ose më shumë komanda të ekzekutohen në modalitetin e gjurmimit, duke shtypur përmbajtjen e të gjithë regjistrave dhe kujtesën e komandës tjetër të dekoduar që do të ekzekutohet. Pas gjurmimit të komandës aktuale, treguesi IP zhvendoset në mënyrë që të tregojë në komandën tjetër. Ekipi

gjurmon një komandë aktuale të treguar nga CS: IP, me ndryshimin përkatës të IP-së.

T<число>(Hyni)

kryen gjurmimin sekuencial të disa komandave, numri i përgjithshëm i të cilave është i specifikuar në komandë.

T =<адрес>(Hyni)

gjurmon një komandë në adresën e specifikuar.

Pamja e përgjithshme e komandës T është si më poshtë:

T =<адрес> <число_команд>(Hyni)

Komanda: T = FFFF: 0 (Enter)

gjurmon komandën e parë të ekzekutueshme kur kompjuteri niset për herë të parë.

U është komanda e çmontimit. Kjo komandë ju lejon të çmontoni programet e ngarkuara në hapësirën e punës të korrigjuesit. Sintaksa e përgjithshme:

U<начальный_адрес> <длина>(Hyni)

U<начальный_адрес>,<конечный_адрес>(Hyni)

shkakton çmontimin e 32 bajteve, duke filluar nga bajt i treguar nga CS: IP, dhe duke shfaqur listën që rezulton.

W - komanda për të shkruar në disk. Kjo komandë ju lejon të shkruani në disk (disketa ose hard disk) në blloqe vijuese të gamës së specifikuar të RAM-it, si dhe të shkruani në skedarë. Shkrimi në sektorë në disk kryhet nga komanda

W<адрес><номер_диска><начальный_сектор><число_секторов>(Hyni)

Kjo komandë shkruan në disk jo më shumë se 80 sektorë H, numrin e sektorëve jo më shumë se 80. Parametri<адрес>nënkupton adresën e memories kryesore, duke filluar nga e cila përmbajtja e memories kopjohet në disk. Parametri<номер диска>tregon diskun në të cilin është bërë regjistrimi (0-disku A :, 1-disku B :, ..., 80 - hard disk C :). Parametri<начальный сектор>tregon numrin e sektorit logjik nga i cili do të ngarkohet imazhi RAM. Parametri<число секторов>tregon numrin total të sektorëve të shkruar në disk.

Le të kopjojmë përmbajtjen e zonës BIOS të RAM në një skedar në disk. Duke supozuar praninë e një PC / AT me një madhësi standarde BIOS prej 64K, le të zerojmë fillimisht regjistrin BX dhe më pas ta futim atë në regjistrin CX 2000H. Më pas vendosim emrin e skedarit ku do të kopjojmë gjysmën e vjetër të BIOS-it, me komandën

N BIOS.COM (Hyni)

Më në fund, komanda

W F000: E000 (Hyni)

do të futë përmbajtjen e BIOS-it në skedarin BIOS.COM.


Artikujt kryesorë të lidhur