Решени курсови задачи по асеблер
| Информационни технологии | 2009-12-04 | 67 сваляния |
Задача (Митко)
Даден е масив от 10 трибайтови числа. Да се генерира нов масив, в който да се прехвърлят
всички елементи с най-младша шестнадесетична цифра 8, като се увеличи с 2 най-старшата
шестнадесетична цифра. Вход-изход на С, обработка на Асемблер. Да се работи с предаване на
параметри.
Решение
.model small, C
.data
newval dd 10 dup (?)
.code
public C asmconv
asmconv proc
arg pvalues:dataptr
.386
pusha
mov si,pvalues
mov di,offset newval
cld
mov cx,10
a1: lodsd
mov ebx,eax
and ebx,0fh
cmp bl,8
jnz b1
add eax,200000h
stosd
b1: loop a1
popa
mov ax,offset newval
ret
asmconv endp
end
#include
#include
extern long *asmconv (long *);
long values[10];
long *res;
int i;
void main ()
{clrscr ();
for (i=0; i<10; i++)
{printf ("Въведете число values[%d]: ", i+1);
Добави своя коментар:
Тагове от реферата: рибови, себер, курсови, генерира, Митко











