Закоментировать 40 строк кода

Выполнен
Заказ
397474
Раздел
Программирование
Предмет
Ассемблер
Тип работы
Антиплагиат
Не указан
Срок сдачи
25 Сен 2015 в 23:59
Цена
800 ₽
Блокировка
10 дней
Размещен
23 Сен 2015 в 21:24
Просмотров
196
Описание работы
;FASM
;z = (1005D+B)/C*D
org 100h
Ф call getvar
jc gtfo
mov [B], eax
call getvar
jc gtfo
mov [_C], eax
call getvar
jc gtfo
mov [D], eax
fild word [@1005]
fimul dword [D]
fiadd dword [B]
fidiv dword [_C]
fimul dword [D]

fst st1
fstcw [FPUCW] ;store FPU control word
or word [FPUCW], 0C00h;set rounding mode: truncate
fldcw [FPUCW] ;load FPU control word
frndint ; округляем
fist dword [Z] ; сохраняем целую часть
fsubp st1, st0 ; получаем дробную часть
fimul dword [ths] ; *1000 - 3 знака после запятой
fistp dword [Z_] ; сохраняем дробную часть
mov dx, res
mov ah, 9
int 21h
mov eax,[Z]
call _cputl
mov al,'.'
int 29h
mov eax,[Z_]
mov ecx,3
call _cputfc
xor ax,ax
int 16h
gtfo: ret
_cputl:
mov ebx, eax
neg ebx
cmovs ebx, eax
jle @F
mov al, '-'
int 29h
@@: mov eax, ebx

_cputul:
xor ecx, ecx
mov ebx, 0Ah
xor esi, esi
xor edi, edi
@@: xor edx, edx
inc ecx
idiv ebx
shld edi, esi, 4
shl esi, 4
or si, dx
test eax, eax
jnz @B
mov edx, esi
@@: mov al, dl
and al, 0fh
or al, 30h
shrd edx, edi, 4
shr edi, 4
int 29h
loop @B
ret
_cputfc:
mov ebx, ecx
xor esi, esi
xor edi, edi
@@: xor edx, edx
idiv dword [ten]
shld edi, esi, 4
shl esi, 4
or si, dx
loop @B
mov ecx, ebx
mov edx, esi
@@: mov al, dl
and al, 0fh
or al, 30h
shrd edx, edi, 4
shr edi, 4
int 29h
loop @B
ret

_cgetl: pushad
xor edx, edx
mov ebp, edx
mov ebx, ecx
@l:
call getch
or al,al
jz @l
cmp al, 1Bh
jz cancel
cmp al, 0Dh
jz done
cmp al, '-'
jz sign
cmp al, 08h
jnz @F
call rubout
jmp @l
@@: cmp al, 30h
jb @l
cmp al, 39h
ja @l
movzx eax,al
lea edx,[edx*4+edx]
lea edx,[edx*2+eax-48]
int 29h
loop @l
; выход
done: mov eax, edx ;
or ebp, ebp
jz @F
neg eax
@@: clc
jmp ex
cancel: xor eax, eax
dec eax
stc
ex: mov [ss:esp+1Ch], eax
popad
ret ;
sign: cmp ebx, ecx
ja @l
inc ebp

int 29h
jmp @l

getch: xor ax, ax
int 16h
ret

rubout: cmp ebx, ecx
ja @F
test ebp,ebp
jz @e
dec ebp
jmp @bs
@@: mov eax, edx
xor edx, edx
idiv dword ptr ten
mov edx,eax
inc ecx
@bs: call bksp
@e: ret

bksp: mov ax, 2008h
int 29h
xchg ah,al
int 29h
xchg ah,al
int 29h
ret
getvar: inc byte [msgvar]
mov dx, msg
mov ah, 9
int 21h
mov cx, 5
call _cgetl
ret
@1005: dw 1005
ten: dd 10
ths: dd 1000
FPUCW: dw ?
B: dd ?
_C: dd ?
D: dd ?
Z: dd ?
Z_: dd ?
msg: db 0Dh,0Ah,'Enter A:$'
msgvar = $-3
r5es: db 0Dh,0Ah,'Z=$'
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир