Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2016, 17:35   #1
angNov
 
Регистрация: 27.04.2016
Сообщений: 4
По умолчанию помогите пожалуйста написать программу

Протабулировать функцию у = а(х+b) а=3; b=1; 1 < x < 10; Шаг изменения x=1
angNov вне форума Ответить с цитированием
Старый 09.10.2016, 18:51   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от angNov Посмотреть сообщение
помогите пожалуйста написать программу
Так ты начни писАть её.
Ещё не начал, а уже просишь помощи..
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 09.10.2016, 19:40   #3
angNov
 
Регистрация: 27.04.2016
Сообщений: 4
По умолчанию

Код:
model small; модель памяти
.stack 100h; сегмент стека
.data; сегмент данных
a equ 3
b equ 1
len equ 8; количество эл. в mas
x db 2,3,4,5,6,7,8,9
y db 8 dup(?)
.code; сегмент кода
start:
      mov ax,@data; физ.адрес сегмента данных в регистр ax
      mov ds, ax
      mov cx,len; длину поля mas в cx
      xor si, si; обнуление индекса массива
      jcxz exit; если меньше 2,то выход
cycl:
      xor ax, ax
      cmp x[si],9; сравнить очередной элемент с 9
      ja nxt; если больше 9, то на nxt
      mov al, b;
      add al, x; сложить x и b
      mov al, a; записать значение а в регистр аl
      mul al, x;
      mov y, al;
nxt:
      inc si; перейти к след. элементу
      loop cycl; cx=cx-1, пока cx>1 переход на cycl
exit:
      mov ax, 4c00h
      int 21h; возврат управления опреционной системе
end start

Последний раз редактировалось Аватар; 09.10.2016 в 19:53.
angNov вне форума Ответить с цитированием
Старый 09.10.2016, 21:18   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
; fasm code...
org 100h
jmp start

mes0    db  13,10,'Y = A(X+b)  [a=3; b=1; 1 < x < 10]'
        db  13,10,'--- Press Enter.. ----------------',13,10,'$'
mes1    db  13,10,'x =  ; y = $'
a       db  3
b       db  1
x       db  2                ;начальное значение(Х)

start:  mov   ah,9           ;мессага
        mov   dx,mes0
        int   21h

        mov   cx,8           ;всего от 2 до 10
cycle:  xor   ax,ax          ; AX = 0
        mov   al,[x]         ;текущее значение(Х)
        add   al,30h         ;   ..переводим в символ
        mov   byte[mes1+6],al   ;..и подставим в мессагу

        mov   al,[a]
        mov   bl,[b]
        add   bl,[x]
        mul   bl             ;АL = a(x+b)
        aam                  ;переводим в 10-тичное
        add   ax,3030h       ;..и в символы
        xchg  ah,al
        push  ax             ;запомним (Y)

        mov   ah,9           ;мессага с результатом..
        mov   dx,mes1
        int   21h

        pop   ax             ;выводим результат на экран!
        int   29h
        xchg  ah,al
        int   29h

        inc   [x]            ; Х+1
        xor   ax,ax          ;ждём любую клавишу..
        int   16h
        loop  cycle          ;мотаем СХ-раз..

        int   20h            ;выход в DOS.
Изображения
Тип файла: jpg 668.JPG (16.5 Кб, 63 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу, пожалуйста Августова Алина Паскаль, Turbo Pascal, PascalABC.NET 1 02.12.2015 08:04
Помогите пожалуйста написать программу gamer123 Помощь студентам 1 26.03.2009 18:24
Помогите пожалуйста написать программу (си++) Annes Помощь студентам 3 11.04.2008 22:51