Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Менчендайзер
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 19
#1

задачка - Assembler

19.10.2011, 18:54. Просмотров 508. Ответов 5
Метки нет (Все метки)

Даны четыре целых числа a1, a2, a3, a4, причем одно из них
отлично от трех других, равных между собой. Указать порядко-
вый номер этого числа.
Разработать программу в 3 вариантах:
а) в виде «минимального» модуля с просмотром результатов ра-боты в отладчике,
б) с выводом результата работы на экран,
в) со вводом исходных данных с клавиатуры и с выводом резуль-татов на экран.

Добавлено через 1 час 23 минуты
подскажите,что нужно дописать в этой задачке, чтобы получилась программа со вводом исходных данных с клавиатуры и с выводом результатов на экран
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
.386
.model flat, stdcall
option casemap:none 
include windows.inc 
include user32.inc 
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
BSIZE equ 30
.data
a1 DWORD 2
a2 DWORD 3
a3 DWORD 2
a4 DWORD 2
ifmt BYTE "порядковый номер=%d",0
buf BYTE BSIZE dup(?) 
chas DWORD ? 
stdout DWORD ? 
cWritten DWORD ?
.code
start:
mov eax,a1
mov ebx,a2
mov ecx,a3
mov edx,a4
cmp eax,ebx
jnz e1
jz e2
e1:
cmp ecx,edx
jz e3
e2:
cmp ecx,edx
jnz e4
e3:
cmp eax,ecx
jnz e5
jz e6
e4:
cmp ecx,eax
jnz e7
jz e8
e5:
mov chas,1
jmp en
e6:
mov chas,2
jmp en
e7:
mov chas,3
jmp en
e8:
mov chas,4
jmp en
en:
mov eax,chas
invoke GetStdHandle, STD_OUTPUT_HANDLE
mov stdout,eax
invoke wsprintf, ADDR buf, ADDR ifmt, chas
invoke WriteConsoleA, stdout, ADDR buf, BSIZE, ADDR cWritten,NULL
invoke ExitProcess, 0
end start
Добавлено через 22 минуты
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 18:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос задачка (Assembler):

Задачка-2! - Assembler
1. Помістити в сегменти (DATA І, DATA2) даних два тексти відповідно. 2. Очистити екран за допомогою строкових команд. 3. Вивести на...

Задачка - Assembler
F=(A+B)м2 С м2 - сложение по модулю два где A,B,C любые безнаковые однобайтные числа. Если результат непарный сохранить его в...

задачка на assembler - Assembler
Нуждаюсь в помощи со следующей задачей: Ввести программу-пример пересылки данных, внеся необходимые исправления в сегмент кода и данных...

задачка экзаменационная - Assembler
Составить программу, которая вводит с клавиатуры произвольную строку символов(концом ввода строки является клавиша F10) и выдает на экран...

Задачка с импульсами - Assembler
Задание: В серии импульсов Q (Qi={0,1}) импульсы с четным значением длительности поместить в начало последовательности, а с нечетным - в...

Интервальный таймер. Задачка - Assembler
Ребят, дали лабораторную работу по ассемблеру. И в нем нужно выполнить вот такое задание Но я в душе не чаю, с чего начать к чему...

5
zzzyyyxxx
759 / 303 / 11
Регистрация: 27.05.2011
Сообщений: 704
19.10.2011, 19:06 #2
Менчендайзер, ну да, как всегда, у людей никаких манер. типа тут по первому свисту все должны тебе помогать?
м/у прочим те кто помогают, с этого в лучшем случае имеют моральное удовлетворение, а тебе в лом даже поздороваться.
0
Менчендайзер
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 19
19.10.2011, 19:12  [ТС] #3
ну извини за грубость, просто завтра нужно срочно здать, а то будет неуд
0
zzzyyyxxx
759 / 303 / 11
Регистрация: 27.05.2011
Сообщений: 704
19.10.2011, 19:19 #4
интересно, а тебе прога точно под WIN нужна или ты ошибся?
а то в основном лабы дают под MS DOS.
уточни.
0
Менчендайзер
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 19
19.10.2011, 19:24  [ТС] #5
под WIN 32-разрядный
0
zzzyyyxxx
759 / 303 / 11
Регистрация: 27.05.2011
Сообщений: 704
19.10.2011, 21:03 #6
это б) с выводом рез-та.
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
    .386
    .model flat, stdcall  ; 32 bit memory model
    option casemap :none  ; case sensitive
      
    ;здесь подключи библиотеки
 
.data
    a1 db 5, 5, 5, 9    
    outss db 31h,0    
.code
start:
    xor eax,eax
;анализ
    mov al,a1
    cmp al,a1[1]
    je n1
        inc ah    
n1:
    cmp al,a1[2]
    je n2
        inc ah
        inc ah
n2:
 
;вычисление рез-та
    cmp ah,0
    jne nn1
        add outss,3
nn1:
    cmp ah,1
    jne nn2
        add outss,1
    
nn2:
    cmp ah,2
    jne nn3
        add outss,2
nn3:
    invoke MessageBox,0,addr outss,0,0    
    INVOKE    PostQuitMessage, NULL
    RET
end start
1
19.10.2011, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2011, 21:03
Привет! Вот еще темы с ответами:

Задачка про массивы на асемблере - Assembler
Прошу помогите задание в картинке пытаюсь разобраться или же напиши если не трудно на асемблере я сам сделаю на proview

Задачка Дана последовательность мнемокодов - Программирование
2. Записать в ОЗУ "программу", состоящую из пяти команд — варианты задания выбрать из таблицы внизу. Команды разместить в последовательных...

Задачка с массивом и задачка с формулами Ньютона и Лагранжа - Fortran
Прошу помочь решить две задачи

Задачка так задачка - SQL Server
Здравствуйте, Ломаю голову, но ни как не могу прийти к решению. Задача следующая: К примеру есть некий адрес в столбце "624205,...


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

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

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