Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
1

Програма вычесления нулевых елементов масива

09.11.2012, 18:16. Просмотров 685. Ответов 9
Метки нет (Все метки)


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
model small
 
.stack 100h
 
.data
 k db ?
 len equ 5 
 mas db 5,0,8,0,8
 
.code
begin:
 mov ax, data
 mov ds, ax
 mov al, 0 
 mov cx, len ;
 xor ax,ax
 xor bx,bx
 jcxz exit
 cycle:
 cmp mas[si],0
 je M1
 inc si
 M1:
 inc al
 inc si
 loop cycle
 
 mov k, ah
 EXIT: 
 mov ax,4c00h
 int 21h
end begin
Какие тут ошибки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2012, 18:16
Ответы с готовыми решениями:

Перестановка елементов масива
Здраствуйте.....случилась такая ситуацыя что я не понимаю как зделать это на С++.... у меня есть...

Перестановка елементов масива
Здраствуйте.....случилась такая ситуацыя что я не понимаю как зделать это на Delphi.... у меня...

Вывод елементов масива
Этот фрагмент кода выводит массив весь А, а должен выводить элементы в массиве А, которые не входят...

Перестановка елементов масива
Уважаемые форумчане помогите решить эту сложную задачу: Действительные векторы заданы...

9
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
09.11.2012, 18:48 2
Сколько нулей в массиве?
0
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
09.11.2012, 18:55  [ТС] 3
В масиве два нуля 5,0,8,0,8
0
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
09.11.2012, 19:05 4
Вот:
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
model small
 
 .stack 100h
 
 .data
 k db ?
 len equ 5 
 mas db 5,0,8,0,8
 
 .code
 begin:
 mov ax, @data
 mov ds, ax
; mov al, 0 
 mov cx, len ;
 xor ax,ax
; xor bx,bx
; jcxz exit
     lea si,mas
 cycle:
 cmp [si],0
 je M1
 inc si
 jmp M2
 M1:
 inc ah
 inc si
 M2:
 loop cycle
 
 mov k, ah
; EXIT: 
 mov ax,4c00h
 int 21h
 end begin
Добавлено через 7 минут
Можно лучше:
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
model small
 
 .stack 100h
 
 .data
 k db ?
 len equ 5 
 mas db 5,0,8,0,8
 
 .code
 begin:
 mov ax, @data
 mov ds, ax
; mov al, 0 
 mov cx, len ;
 xor ax,ax
; xor bx,bx
; jcxz exit
     lea si,mas
 
 cycle:
 cmp [si],0
 jne M1
 inc ah
 M1:
 inc si
 loop cycle
 
 mov k, ah
; EXIT: 
 mov ax,4c00h
 int 21h
 end begin
1
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
09.11.2012, 19:06  [ТС] 5
А где в turbo debugger я могу увидеть результат?
0
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
09.11.2012, 19:11 6
Перед командой mov ax,4c00h, регистр AH=02
0
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
09.11.2012, 19:19  [ТС] 7
А где в turbo debugger я могу увидеть регистр AH(Я новичёк в Assembler!)?
0
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
09.11.2012, 19:22 8
Это уже другой вопрос. Ищите литературу.
0
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 19
09.11.2012, 20:06  [ТС] 9
В нете нет ничего конкретного!!!
0
Клюг
7668 / 3183 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
09.11.2012, 23:47 10
Димон222, вотЪ:
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
    .model  small
    .386
    .stack  100h
 
    .data
    k   db ?
    mas db 5,0,8,0,8
        db 0,4,0,6,0,6,0,6,7,0,0,0,0,0,0,1
    len = $ - mas
 
    .code
begin:
    mov ax, SEG _data
    mov ds, ax
    mov cx, len         ;
    xor ax,ax
    mov si, offset mas
cycle:
    lodsb
    sub al,1        ; вычитаем 1 если al был = 0, 
                ; взведётся флаг переноса CY , dec al не подходит
    adc ah,0            ; прибавляем CY к ah
    loop    cycle
    shr ax,8            ; ah -> al
; только для чисел меньше 99.
    aam                     ;al div 10, ah - десятки al - единицы
    or  ax, 3030h   ; пребразуем в символы
    xchg    ah, al          ; меняем меслами
    int 29h             ; выводим десятки
    xchg    ah, al
    int 29h     ; выводим единицы
    xor ax,ax
    int 16h
    mov ax,4c00h
    int 21h
    end begin
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2012, 23:47

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

Найти количество положительных елементов масива А={a[i]}0<i<=33
Помогите пожалуйста решить: Найти количество положительных елементов масива А={a}0&lt;i&lt;=33, что...

Определить сумму елементов масива от ymax
Дан массив y1,....,y20 Определить сумму элементов массива от ymax до y20

найти произведение положительных елементов масива
найти произведение положительных елементов масива v(15) и количество всех отрицательных елементов...

определить сумму елементов масива целых чисел
кто может,помогите пожалуйста))) написать программу : обработка однородных масивов определить...

Сума елементов масива порядковый номер которых простое число
Задача: Дано последовательность не менее чем двох натуральных чисел, после которых следует ноль....

Подсчитать количество нулевых елементов
Подсчитать количество нулевых елементов в массиве, массив заполнить случайными числами


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

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

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