• Hola, con los nuevos cambios del sitio he puesto diferentes tipos de publicidad que podrian resultar algo molestas. Sin embargo, luego de registrarte e interactuar un poco con la pagina, van a ser reemplazados por otros mas sutiles y pequeños! * A mi tampoco me gusta la publicidad, pero es una de las piezas para que el sitio esté disponible. Si bloqueas la publicidad, probá desactivarla unos dias.
    Gracias

Programacion en MS-DOS

SuperMan2011

Usuario con historia
#1
Me gustan los viejos sistemas operativos y estoy dando mis primeros pasos en programacion en MS-DOS.

Este es el codigo fuente de un programita que pide que presiones 2 numeros y luego te da la suma y te

muestra el resultado:

.MODEL SMALL

.STACK

.DATA

SOLICITUD DB 'Presione 2 numeros para sumarlos: $'

VALOR DB ?

.CODE

INICIO:

MOV DX, OFFSET SOLICITUD

MOV AX, SEG SOLICITUD

MOV DS, AX

MOV AH, 9

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV VALOR, AL

MOV AH, 01H

INT 21H

SUB AL, 30H

ADD AL, VALOR

MOV DL, AL

ADD DL, 30H

MOV AH, 02H

INT 21H

MOV AH, 01H

INT 21H

MOV AX, 4C00H

INT 21H

END INICIO

El tema es que quisiera hacer un programita que por ejemplo yo pueda ingresar numeros como 150, 2000, etc (Hacer algo equivalente al scanf del lenguaje C (Ingresas un valor y presionas Enter para aceptarlo).

En el programita del codigo fuente solo el usuario presiona un numero del teclado y lo acepta. Saludos. Nico.

Respondan, please...
 
Última edición por un moderador:
#3
Me gustan los viejos sistemas operativos y estoy dando mis primeros pasos en programacion en MS-DOS.

Este es el codigo fuente de un programita que pide que presiones 2 numeros y luego te da la suma y te

muestra el resultado:

.MODEL SMALL

.STACK

.DATA

SOLICITUD DB 'Presione 2 numeros para sumarlos: $'

VALOR DB ?

.CODE

INICIO:

MOV DX, OFFSET SOLICITUD

MOV AX, SEG SOLICITUD

MOV DS, AX

MOV AH, 9

INT 21H

MOV AH, 01H

INT 21H

SUB AL, 30H

MOV VALOR, AL

MOV AH, 01H

INT 21H

SUB AL, 30H

ADD AL, VALOR

MOV DL, AL

ADD DL, 30H

MOV AH, 02H

INT 21H

MOV AH, 01H

INT 21H

MOV AX, 4C00H

INT 21H

END INICIO

El tema es que quisiera hacer un programita que por ejemplo yo pueda ingresar numeros como 150, 2000, etc (Hacer algo equivalente al scanf del lenguaje C (Ingresas un valor y presionas Enter para aceptarlo).

En el programita del codigo fuente solo el usuario presiona un numero del teclado y lo acepta. Saludos. Nico.

Respondan, please...
Si no me equivoco eso no es MS-DOS; es assembler.

Por MS-DOS entiendo batch (archivos con extension .bat)... Eso es lo que vos necesitas?
 
OP
OP
S

SuperMan2011

Usuario con historia
#4
Ah. Bueno. Puse ms-dos. Me equivoquè. En assembler desearía saber cómo hacer un programita como los que se empiezan a hacer en C donde el usuario carga por teclado 2 números y los suma. En C para ingresar un valor por teclado y que presiono Enter para aceptar ese valor se usa scanf. En assembler 8086 cómo sería el equivalente al scanf, cómo cargar los números en memoria, sumarlos y mostrar por pantalla La suma de esos números es tal.