Помогите начинающему

Тема в разделе "Другие", создана пользователем NetDigger, 20 май 2004.

Статус темы:
Закрыта.
  1. NetDigger

    NetDigger Гость

    Здравствуйте, уважаемые!
    На работе начальство наседает, в универе преподы мучают - все как обычно:D
    Не могли бы Вы помочь написать программки ( а может у кого ссылки или готовые программы есть). Среда разработки - обычный ТАСМ.
    1) Организовать ввод чисел с клавиатуры и вывод их на экран после нажатия Ентера (числа дабл вордовского типа - однако можно и увеличить разрядность).
    2) Организация работы с массивами - вводим небольшой массив из dWord'ов (15 элементов к примеру). Нажимаем Ентер - выдают сколько чисел в массиве всего, сколько четных, можно упорядочить (реализовать с помощью процедур).
    3) Вычисление среднего арифметического (видимо можно реализовать на предыдыщей задаче - для чисел массива).
    4) Организация оператора выбора (аналог case), т.е. на экране менюшка с цифрами (1/ Ввод чисел с клавиатуры; 2/ Работа с массивом; 3) Среднее арифметическое массива; 4) ЕХИТ) и надпись типа: "Where do you want to go today?" - дальше процедурно выбор

    Все задачи взаимосвязанны - по нарастанию и предыдущую можно приспособить для решения следующей. Буду благодарен за любую помощь

    Спасибо. С уважением
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    NetDigger
    такие просьбы сложно выполнять, т.к. они смахивают на попрошайничество.
    кусок кода дать можно, направить можно, но делать работу бесплатно - несерьезно.
     
  3. logosman

    logosman Гость

    Честно говоря детские задачи. У нас такие в университете на 2 курсе решали!!!
     
  4. Гость

    logosman
    так помог бы человеку. проято я в АСМЕ 0.
     
  5. logosman

    logosman Гость

    2NetDigger:
    А под какую ОС?
     
  6. NetDigger

    NetDigger Гость

    Под ДОС...
     
  7. logosman

    logosman Гость

    Нашёл 5 минут свободного времени, кидаю перевод числа из проц.вида в DEC. На остальное уже времени нет:(
    За оптимизацию не ругать:ph34r:, смотреть некогда...

    .386
    code segment use16
    assume cs:code, ds:code
    org 100h

    main:
    ; Не DW, а DD, что тоже не плохо:)
    mov eax, 123
    call decimal

    ; Вывод чтсла на экран
    mov ah,9
    lea dx, [ASCFormat+1]
    int 21h

    ret

    ; Перевод числа в DEC(десятичную) систему без унарного '-'
    ; IN: EAX - чтсло
    ; OUT: [ASCFormat] - выход
    ;
    ; Универсальное преобразование:
    ; ASCFormat:
    ; Смещение:
    ; 0 - длина числа в байтах как в Pascal 
    ; 1..n - число
    ; n+1 - терминатор '$' для ДОС вывода
    decimal proc
    push eax

    mov ebx,10

    xor cx,cx
    @rdec1:
    xor edx,edx
    div ebx

    inc cl

    cmp eax,0
    jnz @rdec1

    mov si,cx

    mov [ASCFormat], cl
    mov [ASCFormat+si+1],'$'

    pop eax

    @rdec2:
    xor edx,edx
    div ebx

    add dl,'0'
    mov [ASCFormat+si],dl

    dec si

    loop @rdec2

    ret
    endp

    ASCFormat db ?
    ends
    end main
     
  8. NetDigger

    NetDigger Гость

    Спасибо, уважаемые!
    Бессонная ночка, море кофе, книжка по АСМу в электронном виде и все получилось... Несколько коряво, но работает именно так, как нужно. Особый гимор вызвал лишь вывод чисел: допустим в ах я получил число, как его вывести на экран (ну типа в ASCII). Пользовался процедурой деления на 10.... Гиморрррно. Может, кто получше способ(покороче) подскажет... И еще не совсем разобрался с типами данных, вводишь одно, изменяется другое - ужассс...Ето вам не циски настраивать:ph34r:
    Вот пример:
    .data
    message1 db 'Введите строку : $'
    message2 db 'Введенная строка: $'
    buffer db 10
    namelen db ?
    bufcont db 10 dup(' '),'$'


    .code
    start :

    mov ax, @data
    mov ds, ax
    mov es, ax
    mov ax, 03h ; Чистим экран
    int 10h

    lea dx, message1 ; Выводим мессадж
    mov ax, seg message1
    mov ds, ax
    mov ah, 09h
    int 21h

    lea dx, buffer; вводим число - ПОЧЕМУ ПОЛУЧАЕТСЯ ВВОД КОЛИЧЕСТВА БАЙТ, ОПИСАННЫХ В переменной buffer?
    mov ah, 0Ah
    int 21h

    mov ah, 02h ; перемещаем курсор
    mov dh, 1
    mov dl, 0
    int 10h

    lea dx, message2
    mov ax, seg message2
    mov ds, ax
    mov ah, 09h
    int 21h

    mov bh, 00 ; И почему уже здесь инфа изменилась....
    mov bl, namelen
    mov bufcont[bx], '$'

    lea dx, bufcont
    mov ah, 09h
    int 21h

    mov ah, 0Ah
    int 21h
    mov ax, 4C00h ; Выход
    int 21h

    end
     
  9. 2D4NK

    2D4NK Гость

  10. Guest

    Guest Гость

    ШЕСТАЯ ВЕРСИЯ НОВОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ: CompaSofT Xeno
    ВЕРСИЯ: Dirihle (версия 6.00.2134 релиз 6.00)
    РАЗМЕР 12600Кб
    ----------------------------------------------------
    http://CompaSofT.flip.ru/xeno_dirihle.rar
    http://CompaSofT.flip.ru/xeno_dirihle.jpg
    ----------------------------------------------------
    Очень мощный математический язык программирования. Убедитель сами - он может то, что невозможно ни Basic'у, ни С/С++.
    Перед Вами центр высокоуровневых технологий: CompaSofT Xeno Dirihle (версия 6). Xeno Dirihle выпущен 30.07.2004 в честь двухлетия в конце августа языка Xeno с начала его разработки.
    Новая, «продвинутая» версия высокоуровневого языка программирования Xeno. Теперь Вы можете дописывать вручную внешние команды на языке C++ (при помощи Xeno ParaXedaza) и внешние плагины. Теперь в языке реализованы команды для работы с файлами, с сигнальными процессами, реестром и с сетью. Традиционно добавлены новые математические команды.
    Xeno, как и раньше, не уступает в возможностях программирования языку C++. Как и раньше, имеется возможность модификации кода уже компилированной программы без использования виртуальной машины. Это разрешает удалять переменные, переименовывать процедуры, добавлять элементы класса, выполнять замену одного текста кода на другой, выполнять текст программы, записанный в переменную и т. д..
    В пакете официального шестого релиза Xeno поставляется больше примеров программ (Xeno Carayo), новые инклуд – библиотеки, генератор кода, больше плагин; улучшен интерфейс Xeno IDE. Одним словом, Xeno Dirihle имеет всяческие улучшения.
    При переустановке Xeno Dirihle, сохраняются все предпочтения – инсталлятор улучшен.
    Xeno - победитель конкурсов по программированию и научных конференций, в том числе и конференций по математике.
    Внимание! Надёжная работа, как и прежде, гарантирована только в операционных системах Windows серии 9x / ME.
    MUST HAVE!!! :)
     
  11. Guest_vsergv

    Guest_vsergv Гость

    .... запарил ....
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей