Newline. Если попытаться один к одному переписать эту программу на Турбо-Паскале, то получится примерно следующее:

Finish

code ends

end start

 

Если попытаться один к одному переписать эту программу на Турбо-Паскале, то получится примерно следующее:

Program S(input,output);

VarX: array[1..100] of integer;

Y: array[1..200] of integer;

bx: integer; Sum,cx,ax: integer;

Procedure Summa;

Label L;

Begin

ax:=0;

L: ax := ax + bx; bx:=bx+2; {так в Паскале нельзя}

dec(cx); if cx<>0 then goto L

End;

Begin {Ввод массивов X и Y}

cx:=100; bx:=X[1]; {так в Паскале нельзя} [25]

Summa; Sum:=ax;

cx:=200; bx:=Y[1]; {так в Паскале нельзя}

Summa; Sum:=Sum+ax; Writeln(Sum)

End.

 

Как видим, это очень плохой стиль программирования, так как неявными параметрами процедуры являются глобальные переменные. Решая эту задачу на Паскале, мы бы написали, например, такую программу:

Program S(input,output);

Type Mas=array[1..N] of integer;

{так в Паскале нельзя, N – не константа}

Var X,Y: Mas;

Sum: integer;

FunctionSumma(Var A: Mas, N: integer): integer;

Var i,S: integer;

Begin S:=0; for i:=1 to N do S:=S+A[i]; Summa:=S End;

Begin {Ввод массивов X и Y}

Sum:=Summa(X,100); Sum:=Sum+Summa(Y,200); Writeln(Sum)

End.

 

Однако для того, чтобы так же хорошо писать на Ассемблере, нам понадобятся другие соглашения о связях между процедурой и основной программой. Вспомним, что хорошо написанная процедура в языке Паскаль получает все свои аргументы как фактические параметры и не использует имён глобальных переменных. При программировании процедур на языке Ассемблера мы будем использовать так называемые стандартные соглашения о связях.








Дата добавления: 2015-10-05; просмотров: 819;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.