Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Assembler Вычисление функции над массивом целых чисел https://www.cyberforum.ru/ asm-beginners/ thread2552465.html
Помогите доделать програму и поясните действия . Задача такова : Разработать программу для выполнения следующих действий : а) вычисления функции F1 над массивом из шести случайных однобайтовых целых чисел, б) пересылка результата вычисления функции F1 до памяти, в) вычисления функции F2 над результатом выполнения функции F1, трактуя его как последовательность байт, г) пересылка результата...
Сортировать строку по возрастанию кодов символов Assembler
Написать программу на языке Ассемблера, которая позволяет ввести с клавиатуры строку символов, сгруппировать одинаковые символы и вывести их на экран в порядке возрастания.
Assembler Лабы по инфе https://www.cyberforum.ru/ asm-beginners/ thread2552149.html
Как следует поступить, если потребуется для хранения кодов эталонного и тестового символов использовать регистр dx , используемый также при генерации текстовых сообщений? Что надо сделать, чтобы проверять не один символ, а например, последовательность, из нескольких символов? Предложите структуру такой программы)) До этого я писала код, для создания пароля, проверки его, а так же вывод на...
Assembler Вычислить (a+b^2)/(a-b+c) https://www.cyberforum.ru/ asm-beginners/ thread2551761.html
Есть задача вычислить выражение (a+b^2)/(a-b+c), где a, b, c-переменные dw(16-битные). Задачу нужно выполнить для беззнаковых чисел. Вот все, что я сделал: format PE console ; 32-разрядная консольная программа WINDOWS EXE entry start ; точка входа include 'include\win32a.inc' section '.idata' import data readable ;...
Assembler В массиве из 10 чисел поменять местами первый отрицательный и последний элемент массива
Здравствуйте форумчане! Столкнулся с такой задачкой,не знаю как написать правильно чтоб считало. Пишу все на Windows 7 64bit в эмуляторе 8086 В массиве из 10 чисел поменять местами первый отрицательный и последний элемент массива.
Assembler Поясните назначение процедур в модуле "x256.pas" https://www.cyberforum.ru/ asm-beginners/ thread2551441.html
Нужна помощь! В библиотеке x256 есть несколько процедур и функций. Я не понимаю для чего они, и за что отвечают! Помогите пожалуйста! unit x256; interface type int256 = record b:arrayof byte; end; var tmp:arrayof int256; function sign(var a:int256):boolean ; register; // for check negative numbers function Read256(var a:int256):boolean; register; procedure Write256(var...
Assembler Вывести на экран последовательность n2+n+17 при n=1, 2, 3 и т.д https://www.cyberforum.ru/ asm-beginners/ thread2551419.html
Вывести на экран последовательность n2+n+17 при n=1, 2, 3 и т.д. Заполнение прекратить, когда числа выйдут за пределы 16-разрядной сетки.
Assembler Дан файл, содержащий целые числа. Упорядочить все значения в файле по возрастанию
Нужна помощь. Дан файл, содержащий целые 16-ти разрядные числа. Упорядочить все значения в файле по возрастанию. Имя исходного файла вводит пользователь.
Assembler Как проверить символ в строке на то, является ли он буквой? Я пытаюсь заменить буквы на *, но почему-то заменяются только несколько первых символов. .586 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\debug.inc include \masm32\include\masm32.inc include \masm32\macros\macros.asm https://www.cyberforum.ru/ asm-beginners/ thread2551222.html Assembler Программа падает. А должна сортировать массив .586 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\debug.inc include \masm32\include\masm32.inc include \masm32\macros\macros.asm include \masm32\include\msvcrt.inc https://www.cyberforum.ru/ asm-beginners/ thread2551032.html
Подсчет единиц и нулей в числе Assembler
Здравствуйте форумчане! Столкнулся с задачкой нужно подсчитать число 0 и единиц в числе У меня есть код на отдельный подсчет нулей ,а как совместить чтоб еще и единицы считались? .data dat dd 11111111h .code Start: MOV AX,@DATA MOV DS, AX mov bx,word ptr dat
Assembler Вычислить заданное целочисленное выражение https://www.cyberforum.ru/ asm-beginners/ thread2550921.html
Помогите пожалуйста с данным заданием. Я новичок в этом и не понимаю, как это нужно писать Вычислить заданное целочисленное выражение для исходных данных в знаковом форма- те длиной 16 бит: short int. Исходные данные и результат должны быть проверены на правильность диапазона. В случае выхода за диапазон выводить соответствующее сообщение. 1. Написать модуль вычисления...
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
13.12.2019, 16:43 0
TASM

Вывести на экран сумму цифр десятичной записи числа - Assembler - Ответ 14091609

13.12.2019, 16:43. Показов 1812. Ответов 2
Метки (Все метки)

Ответ

Kayaker_vn, вам делать большой объём работы - и блок-схему и программу и листинг и контрольный пример работы и какой-то текст в отчёте.
Целиком курсовые на форуме делают, но не в этом разделе.
Берите себя в руки и начинайте выполнение. Какие будут конкретные вопросы - спрашивайте.
Сама программка будет такой. Но комментарии сделаете самостоятельно
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.model medium
 
.stack 200h
 
.data
        msgPrompt       db      'Enter a number (bin): ', '$'
        msgEntered      db      0Dh, 0Ah, 'Entered a number (dec): ', '$'
        msgResult       db      0Dh, 0Ah, 'Sum of digits: ', '$'
        msgPressAnyKey  db      0Dh, 0Ah, 'Press any key to exit...', '$'
.data?
        N               dw      ?       ;вводимое число
        Sum             dw      ?       ;сумма десятичных цифр введённого числа
.code
 
;макрос для упрощения вызова процедур с параметрами
invoke  macro   CallProc, Params
        IRP     P,      <Params>
                mov     ax,     P
                push    ax
        endm
        call    CallProc
endm
 
;ввод 16-разрядного числа с клавиатуры в двоичном формате
;на входе:
;  дальний адрес переменной для сохранения результата
InputBin16      proc    near
        ;стековый фрейм
        push    bp
        mov     bp,     sp
        ;вывод приглашения ко вводу
        mov     ah,     09h
        lea     dx,     [msgPrompt]
        int     21h
        ;ввод с фильтрацией символов
        xor     bx,     bx
        mov     cx,     16
        @@getc:
                mov     ah,     08h     ;ввод символа без эха
                int     21h
                mov     dl,     al
                cmp     al,     0Dh     ;если ENTER - завершить ввод
                je      @@break
                sub     al,     '0'     ;проверка корректности символа
                jb      @@getc
                cmp     al,     2
                jnc     @@getc
                shl     bx,     1       ;для корректного символа - преобразование в число
                or      bl,     al
                mov     ah,     02h     ;вывод введённого символа
                int     21h
        loop    @@getc
        @@break:
        ;сохранить введённое число по адресу, указанному в параметре процедуры
        les     di,     [bp+4]
        mov     [di],   bx
        ;удаление фрейма стека
        pop     bp
        ret     4
InputBin16      endp
 
;Вывод на экран целого 16 разрядного беззнакового числа
;на входе:
;  целое 16 разрядное беззнаковое число
ShowUInt16       proc   near
        ;стековый фрейм
        push    bp
        mov     bp,     sp
        ;вывод числа на экран
        mov     ax,     [bp+4]
        mov     bx,     10              ;делитель (основание системы счисления)
        mov     cx,     0               ;количество выводимых цифр
        @@div:
                xor     dx,     dx      ;делим (dx:ax) на bx
                div     bx
                add     dl,     '0'     ;преобразуем остаток деления в символ цифры
                push    dx              ;и сохраняем его в стеке
                inc     cx              ;увеличиваем счётчик цифр
                test    ax,     ax      ;в числе ещё есть цифры?
        jnz     @@div                   ;да - повторить цикл выделения цифры
        @@show:
                mov     ah,     02h     ;функция ah=02h int 21h - вывести символ из dl на экран
                pop     dx              ;извлекаем из стека очередную цифру
                int     21h             ;и выводим её на экран
        loop    @@show                  ;и так поступаем столько раз, сколько нашли цифр в числе (cx)        pop     bx
        ;удаление фрейма стека
        pop     bp
        ret
ShowUInt16       endp
 
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        ;ввод числа
        invoke  InputBin16,     <<seg N>, <offset N>>
        mov     ax,     [N]
        ;вычисление суммы цифр
        mov     ax,     [N]
        xor     bx,     bx
        mov     cx,     10
        @@repeat:
                xor     dx,     dx
                div     cx
                add     bx,     dx
                test    ax,     ax
        jnz     @@repeat
        mov     [Sum],  bx
        ;контрольный вывод введённого числа
        mov     ah,     09h
        lea     dx,     [msgEntered]
        int     21h
        invoke  ShowUInt16,     [N]
        ;вывод результата
        mov     ah,     09h
        lea     dx,     [msgResult]
        int     21h
        invoke  ShowUInt16,     [Sum]
        ;ожидание нажатия любой клавиши
        mov     ah,     09h
        lea     dx,     [msgPressAnyKey]
        int     21h
 
        mov     ah,     00h
        int     16h
 
        ;завершение программы
        mov     ax,     4C00h
        int     21h
main    endp
 
end     main


Вернуться к обсуждению:
Вывести на экран сумму цифр десятичной записи числа Assembler
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2019, 16:43
Готовые ответы и решения:

Вводятся два 4 значительные десятичные числа. Вывести на экран их сумму в десятичной записи
Вводятся два 4 значительные десятичные числа. Вывести на экран их сумму в десятичной записи.

Вывести на экран те числа из интервала [10 .. 1000], которые меньше произведения цифр десятичной записи числа
Написать программу: среди чисел от 10 до 1000,найти и вывести на экран те, которые меньше...

Найти и вывести количество и сумму чётных цифр в десятичной записи числа N
День добрый, помогите в решении этой задачи. Сам бы решил, но времени нет, да и Python я забыл. ...

Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр
Задание: Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи ...

2
13.12.2019, 16:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2019, 16:43
Помогаю со студенческими работами здесь

Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр
Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет...

Получить сумму k младших цифр десятичной записи числа n
Заданные натуральные числа n и k. Значение k не более количество цифр в десятичной записи числа n....

Найти сумму цифр в десятичной записи трехзначного натурального числа
Найти сумму цифр в десятичной записи трехзначного натурального числа.

Определить сумму цифр в десятичной записи целого неотрицательного числа
Определить сумму цифр в десятичной записи целого неотрицательного числа.

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru