Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Tasm, не могу довести до ума

72K
25 июня 2011 года
Andi3z
2 / / 25.06.2011
Добрый день, уважаемые. Хотел бы попросить помочь мне дописать программу. С ассемблером пока не очень, привык к языкам типа С и Pascal. Проблема в том что вроде все сделано логически верно, но не были использованы регистры(все действия проводил с переменными). Ну и конечный блок, где нужно найти произведение не доведен до ума.

Код:
;массив из 10 эл-тов

.model small
.stack 100h
.data
   mas db 15,1,3,0,2,4,0,2,4,1
   pro dw 0,"$" ;произведение
   max db 0,"$"
   frs db 0
   sec db 0
   mes db "Error",13,10"$"
.code

start:
    mov ax,@data
    mov ds,ax

    xor cx,cx
    xor ax,ax
    mov si,0
;-----------------------поиск максимального эл-та--------
pmax:   cmp mas[si],max
    js maxel
;-----------------------поиск нулей, контроль индекса----
a:  cmp mas[si],0
    jz nul
    cmp si,9
    inc si
    jnz pmax
    jz vmax
;------------------------запись максимального эл-та------
maxel:  mov max,mas[si]
    jmp a
;-------------------------установка нулей----------------
nul:    cmp frs,sec
    jz  1n
    jnz 2n
1n: mov frs,si
2n: mov sec,si
    inc si
    jmp pmax
;------------------------вывод макс знач----------------- 
vmax:   mov dx,offset max
    mov ah,09h
    int 21h
;------------------------проверка нулей------------------
    cmp frs,sec
    jz err
    inc frs
    cmp frs,sec
    dec frs
    jz err
    jnz end

err:    mov dx,offset mes
    mov ah,09h
    int21
    end start

|end:   mov si,frs
|   inc si
|   mov al,mas[si]
|   mov cl,
|   mul cl
|
|end start


Буду рад любым советам и любой помощи.
72K
26 июня 2011 года
Andi3z
2 / / 25.06.2011
блиин самое главное забыл! Задание: найти произведение чисел, находящихся между крайними нулями, а также найти самое большое число.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог