10 REM Hexer
20 REM Mike Bibby 30 REM (c) AMSTRAD 40 REM SEMANAL 50 CLEAR 60 ON ERROR GOTO 10 70 size = HIMEM 80 MEMORY &2FF8 90 WHILE -1 100 PRINT: PRINT "Opciones:-":PRINT 110 PRINT "1. Introducir codigo" 120 PRINT "2. Examinar codigo" 130 PRINT "3. Alterar codigo" 140 PRINT "4. Ejecutar codigo" 150 PRINT "5. Salir del programa":PRINT 160 b$ = INKEY$:IF b$="" GOTO 160 170 IF INSTR("12345",b$)=0 GOTO 160 180 b = VAL(b$) : ON b GOSUB 210,400,550,350,200 190 WEND 200 END 210 INPUT "Direccion de comienzo"; start$ 220 IF start$="" THEN start$="3000":PRINT:PRINT"Direccion de comienzo = &3000" 230 start = VAL( "&"+start$ ) 240 code$="":PRINT 250 WHILE code$ <> "S" AND code$ <>"s" 260 INPUT "byte"; code$ 270 IF code$="" THEN PRINT CHR$(11);: GOTO 260 280 IF code$="S" OR code$="s" THEN GOTO 330 290 code$ = "&"+code$ 300 code = VAL(code$) 310 POKE start, code 320 start = start + 1 330 WEND 340 RETURN 350 INPUT "Direccion de comienzo"; start$ 360 IF start$ = "" THEN start$ = "3000" 370 start = VAL( "&" + start$ ) 380 CALL start 390 RETURN 400 INPUT "Direccion de comienzo"; start$ 410 IF start$ = "" THEN start$ = "2FF8" 420 start = VAL( "&" + start$ ) 430 A$ = CHR$(32): PRINT 440 WHILE A$<>"s" AND A$<>"S" 450 PRINT RIGHT$( " "+HEX$(start),4);" "; 460 FOR loop = 0 TO 7 470 code$=" " + HEX$( PEEK( start+loop) ) 480 PRINT RIGHT$(code$,3); 490 NEXT 500 PRINT 510 A$=INKEY$ : IF A$="" GOTO 510 520 start = start + 8 530 WEND 540 RETURN 550 INPUT "Alterar desde"; start$ 560 IF start$ = "" THEN start$ = "3000" 570 start = VAL("&"+start$) 580 code$ = "": PRINT 590 WHILE code$<>"S" AND code$<>"s" 600 PRINT RIGHT$(" " + HEX$(start),4);" ";RIGHT$(" "+HEX$(PEEK(start)),2);" "; 610 INPUT code$ 620 IF code$="S" OR code$="s" THEN GOTO 670 630 IF code$ = "" THEN GOTO 660 640 code$ = "&"+code$ 650 POKE start,VAL(code$) 660 start = start + 1 670 WEND 680 RETURN |