Асемблер

The_Mayor

Фраер од пелени
18 март 2012
2,840
6,532
1,153
Градибачалник на Прибој
Знае ли некој да ги реши задачиве, или барем да објасни како да се решат?
Ве бакнувам во чело од срце


Задача 1: Даден е збор A. Тој е иницијализиран при неговото дефинирање. Напишете програма со која ќе генерирате збор B кој се добива така што секпја цифра 0 од А е заменета со буквата О.
Пример: A: PR0CES0R B: PROCESOR

Задача 2: Напишете процедура со која ќе проверите дали еден стринг А е подстринг на друг стринг B (Се подразбира дека крајот на стрингпвите е означен со знакпт $). Процедурата има два влезни податоци кои ги претставуваат ефективните адреси на стрингпвите А и B. Tие податпци треба да се предадат преку регистрите SI (A почнува на адреса DS:SI) и DI (B почнува на адреса ES:DI). Резултатот од процедурата треба да е 1 ако А е подстринг на B или 0 ако A не е подстринг на B. Резултатпт може да се предаде преку стек.
Во главнипт дел од програмата реченицата се внесуваат двата стригнови и се запишуваат во меморија (стринговите имаат најмнпгу 50 знаци). За крај на стринговите се внесува знакот $. По читањето на стринговите треба да се повика процедурата и зависно од резултатот отпечатете порака дали А е подстринг на B.
Пример 1:
Vnesi go A: ana$ Vnesi go B: tetratka$ Излез: ana ne e podstring na tetratka

Пример 2:
Vnesi go A: ana$ Vnesi go B: ivana$ Излез: ana e podstring na ivana

Задача 3: Да се напише рекурзивна процедура за собирање на последпвателни броеви од 1 до n. Бројот n се внесува пд тастатура. Влезните и излезните податпци од процедурата треба да се предаваат преку стек.
Пример: За внесено n = 5: 1 + 2 + 3 + 4 + 5 = 15 За внесено n = 10: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55