powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите разобраться с кодом ассемблера
13 сообщений из 13, страница 1 из 1
помогите разобраться с кодом ассемблера
    #37207731
DarkElf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
;Вычислить количество нечетных чисел в массиве из 15 целых чисел.
;----------------------------------------------------------------------------------
DATA SEGMENT
Array DB 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
DATA ENDS
;------------------------------------------------------------------------------------
STK SEGMENT
DB 100 dup (?)
STK ENDS
ASSUME DS:DATA, SS: STK, CS: CODE
;--------------------------------------------------------------------------------------


CODE SEGMENT ;открыть сегмент кода

Start: ;начало программы
mov cx,15 ;обрабатывать пятнадцать элементов массива
mov si,offset Array ;ссылаемся на первый элемент массива
cld ;обнуляем флаг направления чтобы регистр SI увеличивался после операции LODSB
xor bx,bx ;обнуляем счетчик нечетных чисел

LoopInc: ;начало работы с элементом
lodsb ;читаем очередной элемент в регистр AL
shr al,1 ;сдвигаем вправо на один бит, в CF будет младший бит, для нечетного числа он будет равен 1
jnc noInc ;проверяем флаг CF
inc bl ;увеличиваем счетчик нечетных чисел
inc rezult ; добавлем к выводу на экран
jns m1 ; ссылаемся на вывод нечётных чисел
noInc: ;если четное, просто переходим к следующему элементу
loop LoopInc ;цикл увеличения счетчика
m1:
inc si
mov ax,4c00h
int 21h
end m1
code ends ;конец сегмента кода
end Start ;конец программы

ехешник создаётся но на экран ничего не выводит при запуске!
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37207786
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал красивее.
Код: plaintext
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.
;Вычислить количество нечетных чисел в массиве из  15  целых чисел.
;----------------------------------------------------------------------------------
DATA SEGMENT
 Array DB  0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 
DATA ENDS
;------------------------------------------------------------------------------------
STK SEGMENT
 DB  100  dup (?)
STK ENDS
ASSUME DS:DATA, SS: STK, CS: CODE
;--------------------------------------------------------------------------------------


CODE SEGMENT ;открыть сегмент кода

Start: ;начало программы
 mov cx, 15  ;обрабатывать пятнадцать элементов массива
 mov si,offset Array ;ссылаемся на первый элемент массива
 cld ;обнуляем флаг направления чтобы регистр SI увеличивался после операции LODSB
 xor bx,bx ;обнуляем счетчик нечетных чисел

LoopInc: ;начало работы с элементом
 lodsb ;читаем очередной элемент в регистр AL
 shr al, 1  ;сдвигаем вправо на один бит, в CF будет младший бит, для нечетного числа он будет равен  1 
 jnc noInc ;проверяем флаг CF
 inc bl ;увеличиваем счетчик нечетных чисел
 inc rezult ; добавлем к выводу на экран
 jns m1 ; ссылаемся на вывод нечётных чисел
noInc: ;если четное, просто переходим к следующему элементу
 loop LoopInc ;цикл увеличения счетчика
m1:
 inc si 
 mov ax,4c00h
 int 21h
 end m1
 code ends ;конец сегмента кода
end Start ;конец программы
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37207874
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkElfехешник создаётся но на экран ничего не выводит при запуске!
А должна?

10 ассемблерных команд заставь уж себя изучить и понять. В интернете справок полно
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208205
DarkElf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты бы по делу писал а не то что я и так знаю! Есть нормальные люди сдесь? подскажите!
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208360
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkElfты бы по делу писал а не то что я и так знаю! Есть нормальные люди сдесь? подскажите!
Скажу чесно я непомню коды операндов в АСМ. Но если почитать то что как ты используешь
int 21h то непонятно что-же ты собираешься делать? mov ah,2 ;mov dl,код символа... А у тебя что?
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208381
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, у него спионеренный код. Что там в инт21 будет - ты проверь.
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208384
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне лениво. Пускай сам проверяет.
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208484
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mov ax,4c00h
int 21h

- это досовый аналог ExitProcess.

А вообще оно даже не скомпилится поидее. Переменная rezult не обявлена.
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208527
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> ехешник создаётся но на экран ничего не выводит при запуске!

а где код вывода на экран?
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37208671
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тёмный эльф ушёл в свой лес.
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37260742
Deniska1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые знатоки Assemblera помогите пожалуйста довести до ума данную программку чтобы она выводила результат на экран сам в ассемблере можно сказать ноль но программка очень нужа
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37266623
Deniska1988
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что все знающие асема вымерли что ли!!!!!!!!
...
Рейтинг: 0 / 0
помогите разобраться с кодом ассемблера
    #37267577
softmaker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все знающие гугля тоже.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
┌──────────────────────────┤DOS Fn 09H: Display  String ├────────────────────────┐
│                                                         Compatibility:  1 . 0 +  │
│ Expects: AH    09H                                                           │
│          DS:DX address  of  a  string  terminated  with  a '$' (ASCII 24H)         │
│          ──────────────────────────────────────────────────────────────────  │
│ Returns: none                                                                │
│          ──────────────────────────────────────────────────────────────────  │
│    Info: The  string , up  to  the terminating character '$'  is  sent  to  the      │
│          Standard Output.                                                    │
│                                                                              │
│          Backspaces are handled  as   in  the 02H Display Char  function .         │
│                                                                              │
│          The Normal  procedure   for  displaying a 'newline'  is   to  embed a       │
│          CR/LF pair (ASCII 0dH followed by ASCII 0aH)  in  the  string .         │
│                                                                              │
│          Strings containing '$' may be printed via 40H Write  File  (BX= 0 ).    │
│                                                                              │
│See Also: Character I/O Functions                                             │
│          DOS Functions                                                       │
│                                    -♦-                                       │
│                                                                              │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
Надеюсь знающие англицкого не повымирали?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / помогите разобраться с кодом ассемблера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]