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 Y, Y, T             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 ← 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