home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / MODULAV2GERMAN.DMS / in.adf / Def.zoo / Assembler.def < prev    next >
Encoding:
Modula Definition  |  1988-08-20  |  4.9 KB  |  161 lines

  1. (*
  2.  * This Module helps writing inline code for 68000 & 68010 Microprocessors.
  3.  *
  4.  * ATTENTION: Certain commands are only available on a MC68010.
  5.  *            Please consult the "M68000 Programmer's Reference Manual".
  6.  *)
  7.  
  8. (*$M- no implementation Module *)
  9. DEFINITION MODULE Assembler;
  10.  
  11. CONST
  12.  
  13. (* Register *)
  14.  
  15.  d0=0; d1=1; d2=2; d3=3; d4=4; d5=5; d6=6; d7=7;
  16.  a0=0; a1=1; a2=2; a3=3; a4=4; a5=5; a6=6; a7=7;
  17.  
  18. (* Bits in Condition Code Register *)
  19.  
  20.  nbit=8; zbit=4; vbit=2; cbit=1;
  21.  
  22. (* Addressing Modes *)
  23.  
  24.  ddir=00B; (* Dn *)
  25.  adir=10B; (* An *)
  26.  aidr=20B; (* (An) *)
  27.  ainc=30B; (* (An)+ *)
  28.  adec=40B; (* -(An) *)
  29.  aoff=50B; (* d16(An) *)
  30.  aidx=60B; (* d8(An,Rx) *)
  31.  absW=70B; (* abs.W *)
  32.  absL=71B; (* abs.L *)
  33.  prel=72B; (* d16(PC) *)
  34.  imm =74B; (* #n *)
  35.  
  36. (* Shift values *)
  37.  
  38.  ls0=1; ls1=2; ls2=4; ls3=8;  ls4=10H; ls5=20H;  ls6=40H; ls7=80H; 
  39.  ls8=100H; ls9=200H;  ls10=400H; ls11=800H;
  40.  ls12=1000H; ls13=2000H; ls14=4000H; ls15=8000H;
  41.  
  42. (* MC68000 instruction mnemonics. *)
  43.  
  44.  abcdB=140400B; abcdmB=140410B;
  45.  addB=150000B; addW=150100B; addL=150200B;
  46.  addmB=150400B; addmW=150500B; addmL=150600B;
  47.  addaW=150300B; addaL=150700B;
  48.  addiB=003000B; addiW=003100B; addiL=003200B;
  49.  addqB=050000B; addqW=050100B; addqL=050200B;
  50.  addxB=150400B; addxW=150500B; addxL=150600B;
  51.  addxmB=150410B; addxmW=150510B; addxmL=150610B;
  52.  andB=140000B; andW=140100B; andL=140200B;
  53.  andmB=140400B; andmW=140500B; andmL=140600B;
  54.  andiB=001000B; andiW=001100B; andiL=001200B;
  55.  andiCCR=001074B; andiSR=001174B;
  56.  aslB=160440B; aslW=160540B; aslL=160640B;
  57.  asliB=160400B; asliW=160500B; asliL=160600B;
  58.  aslmW=160700B;
  59.  asrB=160040B; asrW=160140B; asrL=160240B;
  60.  asriB=160000B; asriW=160100B; asriL=160200B;
  61.  asrmW=160300B;
  62.  bcc=062000B; bcs=062400B; beq=063400B; bge=066000B; bgt=067000B;
  63.  bhi=061000B; ble=067400B; bls=061400B; blt=066400B; bmi=065400B;
  64.  bne=063000B; bpl=065000B; bvc=064000B; bvs=064400B;
  65.  bchg=000500B; bchgi=004100B;
  66.  bclr=000600B; bclri=004200B;
  67. (* bkpt=044110B; *)
  68.  bra=060000B;
  69.  bset=000700B; bseti=004300B;
  70.  bsr=060400B;
  71.  btst=000400B; btsti=004000B;
  72.  chkW=040600B;
  73.  clrB=041000B; clrW=041100B; clrL=041200B;
  74.  cmpB=130000B; cmpW=130100B; cmpL=130200B;
  75.  cmpaW=130300B; cmpaL=130700B;
  76.  cmpiB=006000B; cmpiW=006100B; cmpiL=006200B;
  77.  cmpmB=130410B; cmpmW=130510B; cmpmL=130610B;
  78.  dbcc=052310B; dbcs=052710B; dbeq=053710B; dbf=050710B; dbge=056310B;
  79.  dbgt=057310B; dbhi=051310B; dble=057710B; dbls=051710B; dblt=056710B;
  80.  dbmi=055710B; dbne=053310B; dbpl=055310B; dbt=050310B; dbvc=054310B;
  81.  dbvs=054710B;
  82.  dbra=050710B;
  83.  divsW=100700B;
  84.  divuW=100300B;
  85.  eorB=130400B; eorW=130500B; eorL=130600B;
  86.  eoriB=005000B; eoriW=005100B; eoriL=005200B;
  87.  eoriCCR=005074B; eoriSR=005174B;
  88.  exgAA=140510B; exgDA=140610B; exgDD=140500B;
  89.  extW=044200B; extL=044300B;
  90.  illegal=045374B;
  91.  jmp=047300B;
  92.  jsr=047200B;
  93.  lea=040700B;
  94.  linkW=047120B;
  95.  lslB=160450B; lslW=160550B; lslL=160650B;
  96.  lsliB=160410B; lsliW=160510B; lsliL=160610B;
  97.  lslmW=161700B;
  98.  lsrB=160050B; lsrW=160150B; lsrL=160250B;
  99.  lsriB=160010B; lsriW=160110B; lsriL=160210B;
  100.  lsrmW=161300B;
  101.  moveB=010000B; moveW=030000B; moveL=020000B;
  102.  moveCCRfr=041300B; moveCCRto=042300B;
  103.  moveSRfr=040300B; moveSRto=043300B;
  104.  moveUSPfr=047150B; moveUSPto=047140B;
  105.  moveaW=030100B; moveaL=020100B;
  106.  movecLfr=047172B; movecLto=047173B;
  107.  movemW=046200B; movemL=046300B;
  108.  movemmW=044200B; movemmL=044300B;
  109.  movepW=000410B; movepL=000510B;
  110.  movepmW=000610B; movepmL=000710B;
  111.  moveqL=070000B;
  112.  movesB=007000B; movesW=007100B; movesL=007200B;
  113.  mulsW=140700B;
  114.  muluW=140300B;
  115.  nbcdB=044000B;
  116.  negB=042000B; negW=042100B; negL=042200B;
  117.  negxB=040000B; negxW=040100B; negxL=040200B;
  118.  nop=047161B;
  119.  notB=043000B; notW=043100B; notL=043200B;
  120.  orB=100000B; orW=100100B; orL=100200B;
  121.  ormB=100400B; ormW=100500B; ormL=100600B;
  122.  oriB=000000B; oriW=000100B; oriL=000200B;
  123.  oriCCR=000074B;
  124.  oriSR=000174B;
  125.  pea=044100B;
  126.  reset=047160B;
  127.  rolB=160470B; rolW=160570B; rolL=160670B;
  128.  roliB=160430B; roliW=160530B; roliL=160630B;
  129.  rolmW=163700B;
  130.  rorB=160070B; rorW=160170B; rorL=160270B;
  131.  roriB=160030B; roriW=160130B; roriL=160230B;
  132.  rormW=163300B;
  133.  roxlB=160460B; roxlW=160560B; roxlL=160660B;
  134.  roxliB=160420B; roxliW=160520B; roxliL=160620B;
  135.  roxlmW=162700B;
  136.  roxrB=160060B; roxrW=160160B; roxrL=160260B;
  137.  roxriB=160020B; roxriW=160120B; roxriL=160220B;
  138.  roxrmW=162300B;
  139.  rtd=047164B; rte=047163B; rtr=047167B; rts=047165B;
  140.  sbcdB=100400B;
  141.  sbcdmB=100410B;
  142.  scc=052300B; scs=052700B; seq=053700B; sf=050700B; sge=056300B;
  143.  sgt=057300B; shi=051300B; sle=057700B; sls=051700B; slt=056700B;
  144.  smi=055700B; sne=053300B; spl=055300B; st=050300B; svc=054300B;
  145.  svs=054700B;
  146.  stop=047162B;
  147.  subB=110000B; subW=110100B; subL=110200B;
  148.  submB=110400B; submW=110500B; submL=110600B;
  149.  subaW=110300B; subaL=110700B;
  150.  subiB=002000B; subiW=002100B; subiL=002200B;
  151.  subqB=050400B; subqW=050500B; subqL=050600B;
  152.  subxB=110400B; subxW=110500B; subxL=110600B;
  153.  subxmB=110410B; subxmW=110510B; subxmL=110610B;
  154.  swapW=044100B;
  155.  tasB=045300B;
  156.  trap=047100B; trapv=047166B;
  157.  tstB=045000B; tstW=045100B; tstL=045200B;
  158.  unlk=047130B;
  159.  
  160. END Assembler.
  161.