prosba
Ludek Pokluda
xpokluda na aisa.fi.muni.cz
Úterý Květen 26 21:58:23 CEST 1998
> Mohl by mi nekdo poslat jak se napise v assembleru (v degug.exe) reset ?
po rozjeti debug se objevi standardni hlaska
-
ted muzes napsat prikaz a adresa coz znamena asseble od adresy a vypisese
-a 100
8c70:0100
a vedle blika kurzor. Tam muzes napsat prikaz a entrovat. debug bude sam
posunovat adresy. Kdyz to mas hotove das jen enter, tim preskocis do
prikazoveho modu a muzes dat w ktere ulozi editovany soubor (pokud jsi
nenapsal jmeno jiz existujiciho souboru za debug tak to muzes udelat
prikazem n jmeno), do souboru se vsak ulozi poce pocet bytu v registrech
DX:CX, takze to do nich musis napsat (pro kratky program staci jen
registr CX, kteryn vyeditujes prikazem r cx a pak zadas cislo (hexa) kolik
byte se bude ukladat. debug samozrejme ovlada i napovedu a to prikazem ?,
ta je sice hodne strucna, ale zato docela pochopitelna (pokud umis
anglicky:). Prohlizeni kodu se dela pomoci prikazu u adresa.Debug se konci
prikazem q.
to jen na uvod jak dostat do debugu kod a jak ho ulozit na disk.
reset se da provest nekolika zpusoby:
1. Nove natazeni systemu (mekci nez ctrl_alt_del).
na to ti staci dat na adresu 100 prikaz int 19.
cele je to tedy jen 2 byty dlouhe. (nekdy to vsak nemusi fungovat (QEMM
a podobni si stim docela hrajou).
2. teply/studeny reset
v BIOSu je na adrese 0000:0472 ulozeno slovo 1234 pro teply reset, nebo
9abc pro studeny reset. takze staci si vybrat a ulozit si tam co
potrebujes a pak jen skoci nakam na ffff:0000 a on se restart uz
provede.
kod by vypadal (v debugu) nejak takto:
-a
ssss:100 mov ax,0000
ssss:103 mov ds,ax
ssss:105 mov word ptr [0472],1234
ssss:10b jmp far ffff:0000
ssss:110
-w
-q
(ssss je cislo segmentu)
to cislo 1234 muzes zmenit na 9abc kdyz chces studeny reset.
pri zadani w ti debug vypise kolik bajtu ulozil (napr 10 - hexa) takze
vis po kterou adresu to mas ulozene (+100).
doufam, ze se ti to povede zpracovat.
cau Pluto
Další informace o konferenci Editors