Перевод строки в число типа longint (раздельная компиляция Turbo Pascal и TASM) - Assembler/TASM

Узнай цену своей работы

Формулировка задачи:

Составить внешнюю подпрограмму для варианта задания, соответствующего порядковому номеру студента в списке группы. Подпрограмму оформить в отдельном модуле. Для проведения отладки подпрограммы необходимо так же составить две основные программы: на языке ассемблера и на языке высокого уровня, вызывающие составленную подпрограмму как внешнюю. function Str2Long(S: string; var L: longint): boolean. Переводит символьное представление числа S в длинное целое L. Возвращает true, если формат числа в S правильный (например, не содержится недопустимых символов), иначе - false. Помогите, пожалуйста, кто может, вообще не понимаю ассемблер, да и преподаватель толком ничего не объясняет

Решение задачи: «Перевод строки в число типа longint (раздельная компиляция Turbo Pascal и TASM)»

textual
Листинг программы
program test;
 
  function Str2Long(var S: string; var L: longint): boolean; far; external;
  {$L Str2Long.OBJ}
 
var
  S: string;
  L: longint;
begin
  writeln('String: ');
  readln(S);
  if Str2Long(S, L) then
    writeln('Longint: ', L)
  else
    writeln('Error');
end.

Объяснение кода листинга программы

  1. Объявлены две переменные: S типа string и L типа longint
  2. Выводится сообщение String: и считывается строка с помощью функции readln
  3. Вызывается функция Str2Long, которая принимает два аргумента: S и L. S - адрес строки, L - адрес переменной longint
  4. Если функция Str2Long вернула значение true, то выводится сообщение Longint: и значение переменной L
  5. Если функция Str2Long вернула значение false, то выводится сообщение Error

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы