Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Lyrik

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
.586
data segment
    x  dd 10.4, -4.5, 0.24, 5.46, -9.335, 13.345, 0.0, -12.35, 0.534, 0.0, 5.345, 6.9, 9.0
    n  dw ($-x)/4
    count_zero dw 0
    count_neg  dw 0
    count_pos  dw 0
data ends
 
code segment use16
    assume cs:code,ds:data
count_arr proc
; bx - адрес 1го элемента массива
; cx - кол-во элементов
    xor si,si
    finit
    fldz
@main_loop:
    fcom dword ptr bx[si]
    fstsw ax
    sahf
    jnz @cmp_neg
    inc word ptr [count_zero]
    jmp short @continue
@cmp_neg:
    jc @pos_num
    inc word ptr [count_neg]
    jmp short @continue
@pos_num:
    inc word ptr [count_pos]
@continue:
    add si, 4
    loop @main_loop
    retn
count_arr endp
start:
    mov ax,data
    mov ds,ax
    lea bx, x
    mov cx, n
    call count_arr
    mov ax, 4c00h
    int 21h
code ends
end start

Всего записей: 388 | Зарегистр. 04-04-2006 | Отправлено: 16:52 02-11-2009 | Исправлено: Lyrik, 18:46 02-11-2009
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru