MissAlice
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору здравствуйте, очень нужна ваша помощь есть программа на паскале, сделанная через встроенный ассемблеровский модуль, надо переделать ее так, чтоб программа, написанная на ассемблере, вызывалась из паскаля вот задание дословно: В Pascal-программе использовать директиву компилятора { $L <имя .obj-файла> }, где .obj-файл - это оттранслированная программа на языке ассемблера, которая вызывается из Pascal-программы. текст программы, написанной через встроенный ассемблеровский модуль(программа переводит строчные буквы в заглавные): program lab4; uses crt; var stroka:string; max:integer; right,left:byte; flag1,flag2:boolean; label cycle,next2; begin clrscr; writeln('введите строку символов:'); readln(stroka); flag1:=true; flag2:=true; repeat writeln; if not flag2 then writeln('ошибка ввода не цифровой информации'); if not flag1 then writeln('ошибка.Количество обрабатываемых символов не может превышать длину строки и быть меньше нуля'); flag1:=true; flag2:=true; writeln('введите количество обрабатываемых символов:'); {$I-}readln(max); if (ioresult<>0) then flag2:=false; if ((max>length(stroka)) or (max<0)) then flag1:=false; until ((flag1) and (flag2)); asm mov cx, max; inc cx lea di,stroka lea si,stroka mov right,7Ah ; mov left,61h; cycle: lodsb cmp al, right; ja next2 ; cmp al, left jl next2; mov di,si; dec di ; sub al,20h ; stosb next2: ; loop cycle ; end; writeln; writeln('выходная строка:'); writeln(stroka); readkey; end. |