Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Maтрицы элементы найти поменять вывести на экран, Assembler TASM 
:(
    Опции темы
sutuginasv
  Дата 20.4.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.4.2010

Репутация: нет
Всего: нет



Здравствуйте!
Помогите пожалуйста буду очень благодарен.
Нужно сделать задачку:
Матрица, целые числа.
Матрицы элементы которые меньше 5 поменять на 0, если больше умножить на 2.
Полученную матрицу вывести на экран.


умоляю помогите 
PM MAIL   Вверх
iff
Дата 21.4.2010, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Здесь есть несколькор не точностей:
1) знаковые или беззнаковые числа?
2) размер элемнта (байт, слово, двойное слово, ...)
3) как выводить матрицу? десятичные или шестнадцатиричные значения? ...?

Вот для однобайтовых беззнаковых элементов:
Код

lea di, <имя_матрици>
mov cx, <кол-во_строк> * <кол-во_столбцов>
a10: cmp byte ptr [di], 5
jb a20
shl byte ptr [di], 1
jmp a30
a20: mov byte ptr [di], 0
a30: inc di
loop a10

Вывод на экран доделайте сами
(а может я потом напишу)


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
sutuginasv
Дата 21.4.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.4.2010

Репутация: нет
Всего: нет



Цитата(iff @ 21.4.2010,  19:47)
Здесь есть несколькор не точностей:
1) знаковые или беззнаковые числа?
2) размер элемнта (байт, слово, двойное слово, ...)
3) как выводить матрицу? десятичные или шестнадцатиричные значения? ...?

Вот для однобайтовых беззнаковых элементов:
Код

lea di, <имя_матрици>
mov cx, <кол-во_строк> * <кол-во_столбцов>
a10: cmp byte ptr [di], 5
jb a20
shl byte ptr [di], 1
jmp a30
a20: mov byte ptr [di], 0
a30: inc di
loop a10

Вывод на экран доделайте сами
(а может я потом напишу)

Спасибо что откликнулсь на помощь.
 smile Я чайник в этом деле. напишите пожалуйста полностью програму с коментарами чтобы мог что учителю сказать  smile 
в матрице элементы могут быть и с "-" знаком.
рамер элемента байт.
матрица должна быть уже в программе (вводить не надо) типо так:
matrica db 10,2,8,4         
        db 5,-3,7,-8         
        db 4,3,2,1
        db 8,7,-6,5,
о вывести на экран:
Новая матриа
20 0 16 0
10 0 14 0
0 0 0 0
16 14 0 10
PM MAIL   Вверх
iff
Дата 23.4.2010, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Код

        .MODEL  TINY
        .CODE
        ORG     100H
MAIN:
;==========================Обработка значений матрицы===========================

        LEA     DI, MATRICA
        MOV     CX, ROWS * COLS
A10:    CMP     BYTE PTR [DI], 5
        JL      A20
        SHL     BYTE PTR [DI], 1
        JMP     A30
A20:    MOV     BYTE PTR [DI], 0
A30:    INC     DI
        LOOP    A10
;==========================Заполнение буфера пробелами==========================

        CLD
        LEA     DI, COUT
        MOV     CX, 4*COLS*ROWS+2*ROWS
        MOV     AL, 20H
        REP STOSB
;=======================Формирование сообщения для вывода=======================

        LEA     DI, COUT
        LEA     SI, MATRICA
        MOV     BL, 10

        MOV     CX, ROWS
B10:    PUSH    CX
        MOV     CX, COLS

B20:    ADD     DI, 3
        PUSH    DI
        MOV     AL, [SI]
B30:    XOR     AH, AH
        DIV     BL
        OR      AH, 30H
        MOV     [DI], AH
        CMP     AL, 0
        JE      B40
        DEC     DI
        JMP     B30
B40:    POP     DI
        INC     DI
        INC     SI

        LOOP    B20
        MOV     WORD PTR [DI], 0A0DH
        INC     DI
        INC     DI
        POP     CX
        LOOP    B10

        MOV     BYTE PTR [DI], '$'
;================================Вывод сообщения================================

        LEA     DX, COUT
        MOV     AH, 9
        INT     21H
        RET
;====================================Данные=====================================

COLS    EQU     4
ROWS    EQU     4
MATRICA DB      10, 2, 8, 4
        DB      5, -3, 7, -8
        DB      4, 3, 2, 1
        DB      8, 7, -6, 5

COUT    DB      ?

END     MAIN



Это сообщение отредактировал(а) iff - 23.4.2010, 12:04

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  MATRICA.ZIP 1,42 Kb


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
iff
Дата 27.4.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



sutuginasv, ты получил мои письма по лички?


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0861 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.