Pascal/MT+의 간단한 사용 방법

8279 단어 historyPascal

개시하다


Digital Research의 Pascal/MT+ 사용 방법에 대한 메모입니다.

RunCPM의 Win32 바이너리를 CP/M 시뮬레이터로 사용합니다.
  • RunCPM (Github)
  • RunCPM v3.7Win32 바이너리(Giithub)
  • Pascal/MT+는 아래 링크에서 사용할 수 있습니다.
  • Pascal/MT+ (Wikipedia: en)
  • Pascal/MT+ Binaries for CP/M
  • See also:
  • RunCPM(Z80 CP/M2.2 에뮬레이터)(ht-deko.com)
  • 부록(표준 Pascal 범위의 Delphi 시작)(Qita)
  • 용어집(표준 Pascal 범위의 Delphi 시작)(Qita)
  • Pascal/MT+ 사용 방법


    먼저 준비해 두세요FIZZBUZZ.PAS.
    FIZZBUZZ.PAS
    program FizzBuzz(Output);
    var
      i: Integer;
    begin
      for i:=1 to 100 do
        begin
          if ((i mod 3) + (i mod 5)) = 0 then
            Writeln('Fizz Buzz')
          else if (i mod 3) = 0 then
            Writeln('Fizz')
          else if (i mod 5) = 0 then
            Writeln('Buzz')
          else
            Writeln(i);
        end;
    end.
    

    ■ 컴파일


    컴파일러는 MTPLUS.COM입니다.원본 파일의 확장자를 생략할 수 있습니다.
    USAGE
    MTPLUS <ファイル> {<オプション>}
    
    Example
    MTPLUS FIZZBUZZ
    

    이렇게 하면 FIZZBUZZ.ERL 파일이 생성됩니다.

    ■링크


    링컨은 LINKMT.COM 이다.
    USAGE
    LINKMT <メインモジュール>{,<モジュール>}{,<ライブラリ>} {<オプション>}
    
    または
    
    LINKMT <実行ファイル名>=<メインモジュール>{,<モジュール>}{,<ライブラリ>} {<オプション>}
    
    Example
    LINKMT FIZZBUZZ,PASLIB /S
    

    올바른 링크가 생성됩니다FIZZBUZZ.COM.

    ■ 컴파일 & 링크

    A 컴파일러에 옵션을 전달하면 시름 카드를 자동으로 호출할 수 있습니다.
    Example
    MTPLUS FIZZBUZZ $A
    
    그러나 자동 링크를 위해서는 별도リンカ入力コマンドファイル(확장자.CMD가 필요하다.
    FIZZBUZZ.CMD
    FIZZBUZZ,PASLIB /S
    
    나는 이 방법이 그다지 유용하지 않다고 생각한다.

    끝말


    Pascal/MT+와 표준 Pascal의 차이점은 다음과 같습니다.
  • 식별자는 처음 8자만 유효합니다.
  • 변수는 비트 특급에서 PACK되지 않습니다.
  • 성명의 순서가 다를 수 있습니다.
  • 빈 문자열을 허용합니다.
  • 가변 길이 문자열(String)을 지원하기 때문에 CHAR은 ISO Pascal 문자열(PACKED ARRAY[1.n] OF CHAR)로 구현되지 않습니다.
  • 이외에도 추가적인 기능으로는 입출력 작업과 모듈 구조가 있다.

    모듈


    실제 모듈의 사용 방법에 관하여 모듈 파일은 다음과 같다.
    FBMOD.PAS
    module FBMOD;
    
    procedure FB;
    var
      i: Integer;
    begin
      for i:=1 to 100 do
        begin
          if ((i mod 3) + (i mod 5)) = 0 then
            Writeln('Fizz Buzz')
          else if (i mod 3) = 0 then
            Writeln('Fizz')
          else if (i mod 5) = 0 then
            Writeln('Buzz')
          else
            Writeln(i);
        end;
    end;
    
    modend.
    
    모듈 루틴을 호출하는 주 프로그램은 다음과 같다.
    FIZZBUZZ.PAS
    program FizzBuzz(Output);
    
    EXTERNAL PROCEDURE FB;
    
    begin
      FB;
    end.
    
    우선 각 모듈을 컴파일하다
    MTPLUS FBMOD
    MTPLUS FIZZBUZZ
    
    린카로 결합.
    LINKMT FIZZBUZZ,FBMOD,PASLIB /S
    

    좋은 웹페이지 즐겨찾기