Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

source_0910 2008/11/04 16:38 source_0910 2008/11/04 21:57 version actuelle
Ligne 4: Ligne 4:
<code:basic4gl> <code:basic4gl>
 +5 GOTO180
 +80 f=1: x=PEEK(&H673)*256+PEEK(&H672):FOR w=0 TO 4:a(w)=PEEK(&H65F+w*2)*256+PEEK(&H65E+w*2):NEXT w:a(5)=PEEK(&H668)
 +90 b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +95 CLS:IFp=1THEN LPRINT"Break point  PC:";HEX$(x);"  ";b$(0);TAB(0);" ";HEX$(a(0));"  ";HEX$(a(1));"  ";HEX$(a(2));"  ";HEX$(a(3));"  ";HEX$(a(4));" ";RIGHT$(HEX$(a(5)),1)
 +100 PRINT"Break point  PC:";HEX$(x);"  ";b$(0);TAB(0);" ";HEX$(a(0));"  ";HEX$(a(1));"  ";HEX$(a(2));"  ";HEX$(a(3));"  ";HEX$(a(4));" ";RIGHT$(HEX$(a(5)),1);
 +110 w$=INPUT$(1,@):CLS:f=0:  POKE &H66B,1:MODE44
 +180 CLS:ERASE a,b$:DIMa(5):MODE8:f=0:DEFSEG=0:p=0:p$="    ":x=0:w=0:y=0:u=0:v=0:w$="      ":DIMb$(1):b$(0)="      ":b$(1)="      "
 +250 x=PEEK(&H673)*256+PEEK(&H672)
 +252 w=PEEK(&H669):IF w<>0 THEN w$="[on] " ELSE w$="[off]"
 +255 p=PEEK(&H685):IF p<>0 THEN p$="[on] " ELSE p$="[off]"
 +260 CLS:PRINT"Go/Dump/Source/Cal/Print/Trace  PC:";HEX$(x);"          ";p$;" ";w$;
 +290 w$=INPUT$(1,@): w=ASC(w$)-64:IF w>26 THEN w=w-32
 +300 ON w GOTO ,,1030,510,,,1150,,,,,,,,,370,,,1080,440
 +310 IF w=154 THEN 1080 ELSEIFw=-51THEN1200ELSE290
 +370 CLS:POKE&H685,(p+1)MOD2:GOTO252
 +440 CLS:w=PEEK(&H669): POKE &H669,(w+1)MOD2:GOTO 252
 +510 CLS
 +520 PRINT"Object/Register/Break point";
 +530 w$=INPUT$(1,@)
 +535 w=ASC(w$)-64:IF w>26 THEN w=w-32
 +540 ON w GOTO ,610,,,,,,,,,,,,,730,,,900:GOTO530
 +610 CLS:y=PEEK(&H66D)*256+PEEK(&H66C):MODE41,y:b$(0)="":FORw=&H67ETO&H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXTw: PRINT"Break point:";:IFPEEK(&H66A)=1THENPRINT HEX$(y);" ";b$(0);TAB(24);ELSEPRINTTAB(24);
 +620 INPUT@7;w$:CLS:IF w$="" THEN 250 ELSE MODE43w$
 +630 w=PEEK(&H684):IF w=1 THEN 610 ELSE w=PEEK(&H677):IFw*256+PEEK(&H676)=65535 THEN x=0:y=&HFF ELSE MODE42w$:w=PEEK(&H684):IFw=1THEN  610 ELSEw=PEEK(&H677):x=1:y=PEEK(&H676)
 +640 POKE &H66A,x:POKE &H66B,0:POKE &H66D,w:POKE &H66C,y:f=0
 +650 GOTO 250
 +730 CLS:IF p=1 THEN 840 ELSE y=0
 +740 PRINT"Start address:";HEX$(y);" ";
 +750 INPUT@7;w$:CLS:IF w$<>"" THEN MODE42w$:w=PEEK(&H684):IFw=1THEN730ELSE w=PEEK(&H677):y=w*256+PEEK(&H676)
 +770 u=PEEK(&H66F)*256+PEEK(&H66E):v=PEEK(&H675)*256+PEEK(&H674)
 +780 x=u+y*2
 +790 MODE41,y:b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +792 IF y=v-1 THEN b$(1)=" " ELSE MODE41,y+1:b$(1)="":FOR w=&H67E TO &H683:b$(1)=b$(1)+CHR$(PEEK(w)):NEXT w
 +800 CLS:x=u+y*2 :PRINTHEX$(y);TAB(8);b$(0);TAB(16);HEX$(PEEK(x+1)*256+PEEK(x));
 +805 IFy><v-1THEN PRINTTAB(0);HEX$(y+1);TAB(8);b$(1);TAB(16);HEX$(PEEK(x+3)*256+PEEK(x+2));
 +810 w=ASC(INPUT$(1,@))
 +815 IF(w-13)*(w-31)=0THENIFy=v-1THEN810ELSEy=y+1ELSE IF w=30THENy=y-1:GOTO830ELSE IF(w-28)*(w-29)<>0THEN810ELSE835
 +825 b$(0)=b$(1):MODE41,y+1:b$(1)="":FORw=&H67E TO&H683:b$(1)=b$(1)+CHR$(PEEK(w)):NEXTw:GOTO800
 +830 IF y<0 THEN y=0:GOTO 810 ELSE b$(1)=b$(0):MODE41,y:b$(0)="":FORw=&H67E TO&H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXTw:GOTO800
 +835 LOCATE0,0: LOCATE0,1:PRINT"                              ";:LOCATE0,1:PRINT"data?";:INPUT@7;w$:LOCATE0,0:IFw$="" THEN780 ELSE MODE43w$:w=PEEK(&H684):IFw=1 THEN835ELSE POKEx,PEEK(&H676):POKEx+1,PEEK(&H677)
 +837 GOTO780
 +840 u=PEEK(&H66F)*256+PEEK(&H66E):v=PEEK(&H675)*256+PEEK(&H674)
 +845 FORy=0 TO v-1 : MODE41,y:b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +846 x=u+y*2:LPRINT HEX$(y);TAB(8);b$(0);TAB(16);HEX$(PEEK(x+1)*256+PEEK(x)):NEXTy:GOTO250
 +900 y=0
 +910 CLS:FOR w=0 TO 4:a(w)=PEEK(&H65F+w*2)*256+PEEK(&H65E+w*2):NEXT w:a(5)=PEEK(&H668)
 +915 PRINT" ";HEX$(a(0));"  ";HEX$(a(1));"  ";HEX$(a(2));"  ";HEX$(a(3));"  ";HEX$(a(4));" ";RIGHT$(HEX$(a(5)),1);
 +920  PRINT TAB(0);"GR";MID$(STR$(y),2);":";HEX$(a(y));TAB(8);a(y);
 +940 INPUT@7;w$:CLS:IF w$="" THEN 970 ELSE MODE43w$:w=PEEK(&H684):IF w=0 THEN w=PEEK(&H677): a(y)=w*256+PEEK(&H676) ELSE 915
 +950 w=INT(a(y)/256):POKE &H65F+y*2,w:POKE &H65E+y*2,a(y)-w*256
 +970 y=y+1:IF y=5 THEN y=0
 +980 GOTO 910
 +1030 CLS:MODE45
 +1080 CLS:MODE46
 +1150 x=PEEK(&H673)*256+PEEK(&H672)
 +1160 CLS:PRINT"Start address:";HEX$(x);" ";
 +1170 INPUT@7;w$:CLS:w$=LEFT$(w$,7):IF w$="" THEN 1190 ELSE f=0: MODE42w$
 +1180 w=PEEK(&H684):IF w=0 THEN POKE&H666,&HFF:POKE&H667,&HFF:w=PEEK(&H677):x=w*256+PEEK(&H676) ELSE 1160
 +1190 w=INT(x/256):POKE &H673,w:POKE &H672,x-w*256
 +1200 IFf=0 THEN POKE&H66B,0:CLS:MODE44 ELSEf=0: POKE&H66B,1:CLS:MODE44
 +1280 u=PEEK(&H66F)*256+PEEK(&H66E):x=PEEK(&H673)*256+PEEK(&H672):y=PEEK(&H677)*256+PEEK(&H676):FOR w=0 TO 4:a(w)=PEEK(&H65F+w*2)*256+PEEK(&H65E+w*2):NEXT w:a(5)=PEEK(&H668)
 +1290 w=INT(y/256):POKE &H673,w:POKE &H672,y-w*256
 +1300 b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +1305 IFp=1THEN1338
 +1310 CLS:PRINT HEX$(x);TAB(7);b$(0);TAB(19);HEX$(PEEK(u+x*2+1)*256+PEEK(u+x*2));HEX$(PEEK(u+x*2+3)*256+PEEK(u+x*2+2));TAB(0);" ";HEX$(a(0));"  ";HEX$(a(1));"  ";HEX$(a(2));"  ";HEX$(a(3));"  ";HEX$(a(4));" ";RIGHT$(HEX$(a(5)),1);
 +1320 w$=INPUT$(1,@):CLS:MODE44
 +1338 LPRINT HEX$(x);TAB(7);b$(0);TAB(19);HEX$(PEEK(u+x*2+1)*256+PEEK(u+x*2));HEX$(PEEK(u+x*2+3)*256+PEEK(u+x*2+2));TAB(0);" ";HEX$(a(0));"  ";HEX$(a(1));"  ";HEX$(a(2));"  ";HEX$(a(3));"  ";HEX$(a(4));" ";RIGHT$(HEX$(a(5)),1)
 +1340 CLS:MODE44
 +1390 x=PEEK(&H673)*256+PEEK(&H672):b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +1410 CLS:PRINT"Out of address  PC:";HEX$(x);TAB(25);b$(0);
 +1420 w$=INPUT$(1,@):GOTO 250
 +1440 x=PEEK(&H673)*256+PEEK(&H672):b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +1460 CLS:PRINT"Bad code        PC:";HEX$(x);TAB(25);b$(0);
 +1470 w$=INPUT$(1,@):GOTO 250
 +1490 x=PEEK(&H673)*256+PEEK(&H672):b$(0)="":FOR w=&H67E TO &H683:b$(0)=b$(0)+CHR$(PEEK(w)):NEXT w
 +1510 CLS:PRINT"Stack over      PC:";HEX$(x);TAB(25);b$(0);
 +1520 w$=INPUT$(1,@):GOTO 250
</code> </code>
 
source_0910.txt · Dernière modification: 2008/11/04 21:57 par chrix · [Anciennes révisions]
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki