Coretan Format Instruksi

Format instruksi terdiri dari :
  1. Format instruksi 3 alamat
  2. Format instruksi 2 alamat
  3. Format instruksi 1 alamat
  4. Format instruksi 0 alamat
Pada kesempatan ini operasi yang akan kita gunakan adalah :
  • ADD                = Penjumlahan (+)
  • SUB (SUBTRACT)     = Pengurangan (-)
  • MPY/MUL (MULTIPLY) = Perkalian (x)
  • DIV (DIVIDE)       = Pembagian (%)
  • MOVE               = Memindahkan Data
  • LOAD               = Memanggil Data
  • STORE              = Menyimpan Data
Sebagai Contoh Soal:

  • Format Instruksi 3 Alamat
    Bentuk umum [OP CODE], [AH], [AOP1], [AOP2]
    Yang mana AH adalah Alamat Hasil;
            AOP1 adalah Alamat Operan 1
            AOP2 adalah Alamat Operan 2

    Y = (A-B)       ...(I)   Y
         𑁋𑁋
        (C+D*E)     ...(II)  T

        SUB Y, A, B             Y  A-B
        MUL T, D, E             T  D*E
        ADD T, T, C             T  T+C
        DIV YYT             Y  Y/T

  • Format Instruksi 2 Alamat
    Bentuk umum [OP CODE], [AH], [AO]
    Yang mana AH adalah Alamat Hasil;
              AO adalah Alamat Operan 


    Y = (A+B)       ...(I)   Y
         𑁋𑁋
        (C+D*E)     ...(II)  T

     (I)  Y = A+B
          MOV Y,A             Y  A
          ADD Y, B            Y  Y+B
     (II) T = C+D*E
          MOV T,D             T  D
          MUL T,E             T  T*E
          ADD T,C             T  T+C
     (#)  DIV Y,T              Y/T
  • Format Instruksi 1 Alamat
    Bentuk umum [OP CODE], [AO]
    Yang mana AO adalah Alamat Operan 
              Acc adalah Accumulator


    Y = (A+B)       ...(I) 
         𑁋𑁋
        (C+D*E)     ...(II) 

     (I)  LOAD D             Acc  D
          MUL E              Acc  Acc*E
          ADD C              Acc  Acc+C
          STORE Y            Y    Acc
     (II) LOAD A             Acc  A
          ADD B              Acc  Acc+B
          DIV Y              Acc  Acc/Y
     (#)  STORE Y             Y   Acc
  • Format Instruksi 0 Alamat
    Y = (A-B)       ...(II) 
         𑁋𑁋
        (C+D*E)     ...(I) 
     (I) PUSH A              S[top] ← A 
         PUSH B              S[top] ← B
         SUB                 S[top] ← A-B
     (II) PUSH E             S[top] ← E 
          PUSH D             S[top] ← D
          PUSH C             S[top] ← C
          MUL                S[top] ← E*D
          ADD                S[top] ← S[top]+C
     (#)  DIV                S[top]  ← (A-B)/S[top]
          POP Y              OUT  ← S[top]

Komentar