Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
1

Программа, выполняющая пересылки, операции сложения, вычитания

03.12.2018, 22:17. Просмотров 684. Ответов 10
Метки нет (Все метки)


1. Очистить регистр СХ.
2. Переслать число xxh в регистр AL.
3. Добавить число xxxxh к регистру AX.
4. Переслать регистр АХ в регистр ВХ.
5. Добавить регистр ВХ регистра АХ.
6. Отнять регистр ВХ от регистра АХ. Где, хх - порядковый номер студента в соответствии со списком в журнале; хххх - дата рождения, число и месяц.
Выполнить трансляцию.
Создать листинг.
Создать ехе-файл.
Выполнить трассировку программы с просмотром содержимого регистров.

З.Ы: Буду очень благодарен помощи
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2018, 22:17
Ответы с готовыми решениями:

Операции целочисленного сложения и вычитания
Где можно найти подробную инфу об этих операциях?

Примитивный калькулятор (два операнда и операции сложения, вычитания, умножения и деления)
Здравствуйте. Вот пытался написать примитивный калькулятор, которые будет +, -, * и / два...

Используя только операции сложения и вычитания, найти частное от деления нацело N на K
Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное...

Программа умножения двух целых чисел с использованием команд сложения, вычитания, сдвига
Программа умножения двух целых чисел с использованием команд сложения, вычитания, сдвига. (TASM) ...

10
Модератор
Эксперт по электронике
7478 / 3679 / 1444
Регистрация: 01.02.2015
Сообщений: 11,460
Записей в блоге: 2
04.12.2018, 11:55 2
Операции пересылки - глава 7
Арифметические команды - глава 10
Электронный учебник

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

Шаблон DOS exe программы
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.model small
 
.stack 200h
 
.data
    msgPressAnyKey  db  0Dh, 0Ah, 'Press any key to exit...', '$'
.code
 
main    proc
    ;инициализация сегментного регистра ds адресом сегмента данных
    mov ax,     @data
    mov ds, ax
 
        ;программа
        ;.............
 
    ;ожидание нажатия любой клавиши
    mov ah, 09h
    lea dx, [msgPressAnyKey]
    int 21h
 
    mov ah, 00h
    int 16h
 
    ;завершение программы
    mov ax, 4C00h
    int 21h
main    endp
 
end main
По мере изучения этот шаблон будет усложняться, дополняться.
Код собственной программы записывайте после строки с многоточием.
Начало программы по предложенным вам действиям такое
Assembler
15
16
        xor cx, cx ;1. очистить регистр cx
        mov al, 7Ch ;2. Переслать число xxh в регистр AL.
И так далее - всё очень просто.
0
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
04.12.2018, 12:07  [ТС] 3
Я не могу никак его выполнить так как у нас за пол года было 6 пар, на которых он даже ничего не обьяснял, соотетсвенно этот язык мне не нужен, просто сдать нужно
Потому прошу помощи
0
Модератор
Эксперт по электронике
7478 / 3679 / 1444
Регистрация: 01.02.2015
Сообщений: 11,460
Записей в блоге: 2
04.12.2018, 12:31 4
У нас совсем не было такой вещи, как изучение ассемблера, конкретных компиляторов. Только беглый рассказ и сразу лабы с вводом не мнемоник, а кодов в УМК-80. Для этого сам в библиотеке рисовал таблицы опкодов, раскрашивал для быстрого поиска.

Я оказал вам помощь - дал шаблон HelloWorld, указал один из источников для чтения. Показал, как выглядит начало полезной части вашей программы. Также вы можете читать книги Скэнлона, Абеля.

Дальше сложность заданий будет возрастать до затрат времени 2-3 часа - такие задания НИКТО на форуме делать не будет. Когда-то мне было интересно для самообразования и время было - делал и сложнее вещи, но ситуация меняется. Именно поэтому я помогаю вам начать выполнение. Даю напутствие.

В конце концов, вы собираетесь учиться для собственных знаний?
Высшую математику крайне редко применяют на практике, но её изучение в ВУЗе развивает логику, умение рассуждать - а уже это используется постоянно.

Начинайте. Будут проблемы - задавайте вопросы.
0
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
04.12.2018, 14:26  [ТС] 5
Да я вовсе не хочу даже учить это
Так как я не буду его изучать в дальнейшем
Да и пар больше небудет
Это полседнее задание
Потмоу прошу написать
0
Модератор
Эксперт по электронике
7478 / 3679 / 1444
Регистрация: 01.02.2015
Сообщений: 11,460
Записей в блоге: 2
04.12.2018, 14:29 6
А на какой специальности вы учитесь и на какую квалификацию (техник, инженер)?
0
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
04.12.2018, 15:37  [ТС] 7
Програмная инженерия
0
Модератор
Эксперт по электронике
7478 / 3679 / 1444
Регистрация: 01.02.2015
Сообщений: 11,460
Записей в блоге: 2
04.12.2018, 16:30 8
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
.model small
 
.stack 200h
 
.data
    msgPressAnyKey  db  0Dh, 0Ah, 'Press any key to exit...', '$'
.code
 
main    proc
    ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        ;программа
        ;1. Очистить регистр СХ.
        xor     cx,     cx
        ;2. Переслать число xxh в регистр AL.
        ;Где, хх - порядковый номер студента
        ;в соответствии со списком в журнале;
        mov     al,     12h
        ;3. Добавить число xxxxh к регистру AX.
        ;хххх - дата рождения, число и месяц.
        add     ax,     1234h
        ;4. Переслать регистр АХ в регистр ВХ.
        mov     bx,     ax
        ;5. Добавить регистр ВХ регистра АХ.
        add     ax,     bx
        ;6. Отнять регистр ВХ от регистра АХ.
        sub     ax,     bx
 
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
 
        mov     ah,     00h
        int     16h
 
        ;завершение программы
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main
0
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
04.12.2018, 20:48  [ТС] 9
Спасибо большое
Просто реально нас не учили ничему, пар крайне мало(прям нет)
А разбиратся вовсе не хочу ибо язык крайне не востребован на рынке труда и он крайне сложен и ситуативен
Хорошего дня
0
Модератор
Эксперт по электронике
7478 / 3679 / 1444
Регистрация: 01.02.2015
Сообщений: 11,460
Записей в блоге: 2
04.12.2018, 21:13 10
Вы ошибаетесь.

Я инженер КИП и А (и по образованию и по работе). Кроме КИПовских работ выполняю 2-3 раза в год работы по программированию ПЛК и ПР на одном из 5 (LD, FBD, IL, ST, SCF) стандартизированных языков IEC для систем автоматизации.
Так вот 2 (LD, IL) из них очень похожи на ассемблер. За время работы реально использовал всё кроме IL. Наиболее часто LD - он графический язык, но при записи в тетради выглядит как ассемблер.

Разница между мной и вами лишь в том, что я потратил время на изучение ассемблера и могу применять его не напрямую, а опосредовано в виде языка под другим названием. А вы - лишили себя возможности пристроится программистом АСУ.

В программисты АСУ я попал потому, что из любопытства на работе делал приспособы на микроконтроллерах AVR применяя ассемблер, а начальник искал программиста ПЛК на объект.

Так у меня сложилось. А вам слабо?
0
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 11
04.12.2018, 23:16  [ТС] 11
Я не люблю и близко робототехнику и микроконтроллеры
Так же как и веб программирование так как считаю это унылой(скучной), однообразной работой
З.Ы: То что сказали до 2ух последних строчек я все ровно ничего не понял, так что зря писали))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2018, 23:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и...

Реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения, вычитания, умножения, деления
Необходимо реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения,...

Операции сложения и вычитания с двоичными числами
Здравствуйте, помогите, пожалуйста, перевести и вычислить числа в двоичном виде. Вот числа ...

Операции сложения, вычитания и умножения полиномов
Здравствуйте! Есть программа, которая осуществляет ввод-вывод полиномов. Помогите написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.