| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Помогите пожалуйста. Tasm |
| Автор: Nubik 25.6.2014, 14:20 |
| У меня была в начале одна задача. "Сформировать одномерный массив A={ai}(i=1...25), где ai вычисляется по формуле ai=(i+5*i/3) 0<i<26" Её я сделал и вот код: Код: data segment mas db 25 dup (?) ; data ends code segment assume cs:code, ds: data, start: mov ax,data mov ds,ax mov cl, 5 mov ch, 3 mov di, 1 mov si, 0 nexti: mov ax,di mul cl div ch xor ah,ah add ax,di mov [si],ax add si,1 inc di cmp di,26 jl nexti mov ax,4C00h int 21h code ends ends start В дополнению к 1 задаче есть еще 2: 1. Найти максимальный элемент в массиве. 2. Вывести четные элементы массива. Помогите пожалуйста сделать и если можно объясните, что да как. |
| Автор: ФедосеевПавел 25.6.2014, 20:50 |
| Поищи по форуму подпрограмму вывода чисел на экран. Максимальный элемент массива ищется также, как в ЯВУ (BASIC, Pascal, C) max:=a[0]; for i:=1 to n do if max<a[i] then max:=a[i]; Цикл ты уже умеешь организовывать - проблем быть не должно. Вывод всех чётных чисел - команда test al, 1 проверяет на чётность регистр al, дальше ветвление jz. А если чётное - воспользоваться подпрограммой вывода. |