Recibir un número hexadecimal por teclado.
Publicado por Carlos (5 intervenciones) el 15/03/2019 22:34:59
Pues eso. Lo cierto es que el profesor no da clases, sólo deja actividades y hay "recursos" para estudiar, pero están en SCRIBD y hay qué pagar para verlos :/ Así que no sé casi nada de ensamblador. Me he tirado las últimas 5 horas viendo tutoriales y códigos de otros intentando encontrar algo útil, pero nada... Así que esta es mi última esperanza. Estoy programando en Emu8086, por si acaso es necesario aclarar.
"Diseñar e implementar un programa en lenguaje ensamblador que reciba un número de 16 bits introducido por el teclado con la función scan como valor hexadecimal y sea convertido a bcd para luego imprimirse en pantalla como cadena decimal usando la función print.
Sube el archivo fuente o el archivo comprimido de proyecto del programa de tu practica, deben incluirse todos los archivos necesarios para poder ejecutarlo.
Debes leer la documentación del emu8086 para la librería contenida en el archivo emu8086.inc en tutoriales sección 5. (Aquí no hay nada, por cierto.)
Para terminar el programa debes usar la interrupción 20h.
La interrupción 21h sólo será valida si es que esta siendo usada por las funciones de la librería emu8086.inc"
En el código que tengo, ingreso el número hexadecimal asignandolo directamente a hex. Pero el profesor pide que sea ingresada por teclado, ¿cómo hago eso?
(Por cierto, esta ya es mi tercera pregunta, pero es que me está costando mucho encontrar la información adecuada. Disculpen las molestas.)
"Diseñar e implementar un programa en lenguaje ensamblador que reciba un número de 16 bits introducido por el teclado con la función scan como valor hexadecimal y sea convertido a bcd para luego imprimirse en pantalla como cadena decimal usando la función print.
Sube el archivo fuente o el archivo comprimido de proyecto del programa de tu practica, deben incluirse todos los archivos necesarios para poder ejecutarlo.
Debes leer la documentación del emu8086 para la librería contenida en el archivo emu8086.inc en tutoriales sección 5. (Aquí no hay nada, por cierto.)
Para terminar el programa debes usar la interrupción 20h.
La interrupción 21h sólo será valida si es que esta siendo usada por las funciones de la librería emu8086.inc"
En el código que tengo, ingreso el número hexadecimal asignandolo directamente a hex. Pero el profesor pide que sea ingresada por teclado, ¿cómo hago eso?
(Por cierto, esta ya es mi tercera pregunta, pero es que me está costando mucho encontrar la información adecuada. Disculpen las molestas.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
org 100h
.model small
.data
hex dw 0FFFFH
counter db 0
.code
;initilize Data Segment
mov ax,@DATA
mov DS,ax
mov ax,hex
mov bx,000Ah
L:
inc counter
div bx
push dx
cmp ax,0
mov dx,00h
je exit
jmp L
exit:
mov cl,counter
mov ch,00h
L1:
pop dx
add dl,30h
mov ah,02h
int 21h
LOOP L1
;to terminate program
mov ah,4ch
int 21h
ret
Valora esta pregunta


0