Нужно написать програму на асемблере, котороя ищет суму ряда
должно выгледить так. вместо должен быть код на асембелере
#include ;
#include
using namespace std;
int main()
{
float x,s;
int k;
cout< < "x=";
cin > > x;
__asm
{
mov ecx,8
mov k, 0
fldz
cykl:
fdiv
fadd
inc k
loop cykl
fstp s
}
cout < < "s="< < s < < endl;
//system("pause");
_getch();
return 0;
}
var
s: string;
i, count: integer;
begin
writeln('Vvedite stroky: ');
readln(s);
for i := 1 to length(s) - 2 do
if copy(s, i, 3) = 'abc' then
count := count + 1;
writeln('Kol-vo: ', count);
end.
2.
var
s1, s2: string;
i, len1, len2: integer;
begin
writeln('Vvedite stroky 1: ');
readln(s1);
writeln('Vvedite stroky 2: ');
readln(s2);
len1 := length(s1);
len2 := length(s2);
if len1 > len2 then writeln('1 stroka dlinnee')
else if len1 < len2 then writeln('2 stroka dlinnee')
else writeln('dlini strok ravnie')
end.
3.
var
s1, s2, s3: string;
begin
writeln('Vvedite stroky 1: ');
readln(s1);
writeln('Vvedite stroky 2: ');
readln(s2);
s3 := s1[1] + s1[2] + s2[1] + s2[2];
writeln('Novaja stroka: ', s3);
end.
= - 127, максимальное число = + 127
2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000 0110 0100 0111 и записываем в шестнадцатиричном виде
0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а) будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное 01101001(2) ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105