Utlizando DEBUG cree la Orden S_O_NO.COM para que el usuario teclee S o N bueno manos a la obra:
C:\>Debbug S_O_NO.COM <intro>
-A 100 <Intro>
2707:0100 MOV AH, 0 <Intro>
2707:0102 INT 16 <Intro>
2707:0104 MOV AL , 0 <Intro>
2707:0106 CMP AH , 15 <Intro>
2707:0109 JE 112 <Intro>
2707:010B CMP AH, 15 <Intro>
2707:010E JE 114 <Intro>
2707:0110 JMP 100 <Intro>
2707 :0112 MOV AL, 1 <Intro>
2707:0114 MOV AH, 4C <Intro>
2707:0116 INT 21 <Intro>
2707:0118 <Intro>
-R CX <Intro>
CX 0000
:18 <Intro>
-W <Intro>
Escribiendo 00018 bytes
-Q <Intro>
Este código esta mal, después de llamar al servicio de teclado pones al a 0 y ya no puedes comparar el código ASCII, además pones el mismo número tanto para s como para n, el código ASCII se guarda en al no en ah, en ah se guarda el código de búsqueda.C:\>Debbug S_O_NO.COM <intro>
-A 100 <Intro>
2707:0100 MOV AH, 0 <Intro>
2707:0102 INT 16 <Intro>
2707:0104 MOV AL , 0 <Intro>
2707:0106 CMP AH , 15 <Intro>
2707:0109 JE 112 <Intro>
2707:010B CMP AH, 15 <Intro>
2707:010E JE 114 <Intro>
2707:0110 JMP 100 <Intro>
2707 :0112 MOV AL, 1 <Intro>
2707:0114 MOV AH, 4C <Intro>
2707:0116 INT 21 <Intro>
2707:0118 <Intro>
-R CX <Intro>
CX 0000
:18 <Intro>
-W <Intro>
Escribiendo 00018 bytes
-Q <Intro>
Paa vitaepe que pregunta que significa el código:
Esto es un código en ensamblador que llama a un servicio del teclado de la BIOS, y comprueba si la tecla s o n estan pulsadas, cuando lo estan devuelve una salida para cada una de las teclas, para s 1 y para n 0 ( al menos eso creo que quería hacer él )
ahí va el código arreglado:
Código:
debug
a
mov ah,0
int 16
cmp al,73
je 10e
cmp al,6e
je 112
jmp 100
mov al,1
jmp 114
mov al,0
mov ah,4c
int 21
r cx
18
n siono.com
w
q
Simplemente se pega eso al símbolo del sistema ( ventana negra ) o se hace un bat con el código y se ejecuta, y ya tendras el comando siono, para poder usarlo mueve el archivo siono.com a C:\windows o a C:\windows\system32.a
mov ah,0
int 16
cmp al,73
je 10e
cmp al,6e
je 112
jmp 100
mov al,1
jmp 114
mov al,0
mov ah,4c
int 21
r cx
18
n siono.com
w
q
Un posible uso:
Código:
@echo off
echo Quieres hacer tal cosa s/n?
siono
if %errorlevel%==1 goto siquiero
if %errorlevel%==0 goto noquiero
echo Quieres hacer tal cosa s/n?
siono
if %errorlevel%==1 goto siquiero
if %errorlevel%==0 goto noquiero