Не могу понять, мне нужно ввести две переменные, которые изначально были указаны:
x db 0
y db 0
Но теперь требуется ввод значений, что бы потом подставить их в пример. Помогите с кодом.
Другие языки программирования и технологии
Ассемблер (10 баллов гарантирую)
.model large
.386
.387
;------------------------сегмент кода -------------------------------
.code ; сегмент кода
mov AX, @data
mov DS, AX
mov ES, ax
lea DX, s1
mov AH, 9h ; 09h - функция вывода на экран
int 21h
call in_out ; изучение команд работы с портами
call fproc ; изучение команд матем. сопроцессора
mov AH, 1h ; 01h - функция ожидания ввода с клавиатуры
int 21h
mov ax, 4c00h ; корректное завершение программы
int 21h
ret
fproc PROC near
finit ; инициализация сопроцессора
fild word ptr zoom ; загрузим в стек 50000
; здесь можно проверить правильность загрузки командой: fbstp tbyte ptr decimal
fldpi ; pi,50000
fldpi ; pi,pi,50000
fmul ; pi*pi,50000
fcos ; cos(pi*pi), 50000
fmul ; 50000*cos(pi*pi)
fld st(0) ; copy
fst qword ptr myfloat ; сохраним в памяти как переменную типа double
fbstp tbyte ptr decimal ; сохраним в памяти как десятичное целое
lea si,numbers ; вывод на экран десятичного числа
lea di,decimal
add di,9
mov cx,10d
f_loop:
mov al,[di]
mov ah,al ; сделаем копию в ah
shr al,4 ; обработка первого числа
add al,'0'
mov [si],al ; сохранили
and ah,00001111b
add ah,'0'
mov [si+1],ah ; сохранили
dec di
add si,2
dec cx
jnz f_loop
lea DX, math
mov AH, 9h ; 09h - функция вывода на экран
int 21h
ret
fproc ENDP
.386
.387
;------------------------сегмент кода -------------------------------
.code ; сегмент кода
mov AX, @data
mov DS, AX
mov ES, ax
lea DX, s1
mov AH, 9h ; 09h - функция вывода на экран
int 21h
call in_out ; изучение команд работы с портами
call fproc ; изучение команд матем. сопроцессора
mov AH, 1h ; 01h - функция ожидания ввода с клавиатуры
int 21h
mov ax, 4c00h ; корректное завершение программы
int 21h
ret
fproc PROC near
finit ; инициализация сопроцессора
fild word ptr zoom ; загрузим в стек 50000
; здесь можно проверить правильность загрузки командой: fbstp tbyte ptr decimal
fldpi ; pi,50000
fldpi ; pi,pi,50000
fmul ; pi*pi,50000
fcos ; cos(pi*pi), 50000
fmul ; 50000*cos(pi*pi)
fld st(0) ; copy
fst qword ptr myfloat ; сохраним в памяти как переменную типа double
fbstp tbyte ptr decimal ; сохраним в памяти как десятичное целое
lea si,numbers ; вывод на экран десятичного числа
lea di,decimal
add di,9
mov cx,10d
f_loop:
mov al,[di]
mov ah,al ; сделаем копию в ah
shr al,4 ; обработка первого числа
add al,'0'
mov [si],al ; сохранили
and ah,00001111b
add ah,'0'
mov [si+1],ah ; сохранили
dec di
add si,2
dec cx
jnz f_loop
lea DX, math
mov AH, 9h ; 09h - функция вывода на экран
int 21h
ret
fproc ENDP
Похожие вопросы
- Помогите пожалуйста избавиться от "синего экрана смерти"! кто поможет, тому +10 баллов гарантирую!
- Назовите для меня все ОС тому что назавет все ОС правельно тому гарантирую 10 баллов!
- 10 баллов за честный ответ гарантирую
- помогите по Delphi (10 баллов)
- Срочно! Даю 10 баллов!
- кто поможет???)))))вознаграждение 10 баллов)))))
- Кто знает Delphi. Дам 10 баллов!!
- Теоретический вопрос на экзамене (один) . Напишите шпаргалку. Лучшему - 10 баллов.
- помогите!!!10 баллов лучшему!!!
- народ кто поможет дам 10 баллов