Preguntas sobre programación en lenguaje ensamblador ¡URGENTEMENTE!
Segmento de código
Supongamos CS: código, DS: código
---- ------- --- ---------- ---------- ---
Función: Mostrar la cadena de la dirección especificada (Str_Addr)
;; Entrada:
; Str_Addr = dirección de cadena (obligatoria en el segmento de datos)
; Método de uso: Salida Str_Addr
;
Salida MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; ---------- ---------- ---------- -------
; Función: Salida de carro Retorno Avance de línea
Output_CTLF proc Near
push ax
push dx
mov ah,02h p>
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
------- ---------- -- --------
Función: Calcular el valor de la variable dependiente y en función del valor de la variable independiente x
; >
; Salir: muestra el valor de y en la posición actual del cursor
Calculate_y Proc Near
cmp x,1
jnz $+8
mov y ,0
ret
cmp x,3
jae $+8
mov y, 1
ret
mov y,2
ret
Calcular_y EndP
----- ----- ---------- ------
x db ?;Variable independiente
y db ;Variable dependiente
Prompt_x db 'x=$' ;Pregunta por el valor de x
Prompt_y db 13,10,'y=$' ;Mostrar solicitud por el valor de y
Inicio: push cs
pop ds
Input_x:Salida Prompt_x; Solicita el valor de x
mov ah,1
int 21h
cmp al,27 ;Esc?
jz Exit_Proc ;Finalizar programa
cmp al,'1' ;<1?
jb Input_x ;Vuelva a ingresar
cmp al,'9' ;>9?
ja Input_x ; vuelva a ingresar
y al,0fh p>
mov x,al ; guardar variables independientes
llamar a Calculate_y; Calcular el valor de la función
Salida Prompt_y; Muestra el valor de y en el indicador. Solicite mostrar el valor de y
mov dl,y
o dl,30h
mov ah,2; mostrar un carácter
int 21h
Llamar a Output_CTLF
Llamar a Output_CTLF
jmp Input_ x
Exit_Proc: mov ah,4ch;Finalizar programa
int 21h
Código FINALIZA
FIN Inicio ;La compilación termina aquí