假指令及語法 縮寫符號說明   資料轉移指令
算數運算指令 邏輯運算指令 程式跳躍指令 位元運算指令

 

針對2500 A.D. x8051組譯器 常用的假指令及語法 

註:只提出常用的部份,不是常用的假指令(Pseudo Instruction)及巨集指令(MACRO)部份,請自行參閱相關書籍。

                  2500 A.D. 8051 Macro Assembler  -  Version 5.00c

   1                       ;2500 A.D. X8051組譯器常用的假指令及語法說明

   2                       ;簡易的假指令範例說明程式 羅永光 2000/04/05

   3                       ;分號之後的部份是一種程式文件說明,不會被組譯

   4        0030           var1   equ  30h      ;指定var1的值為30h,組譯的過程中遇到

   5                                            ;var1便會以30h代替。(相當於高階語言的常數)

   6                                            ;所有的數值均可用

   7                                            ;十六進制 如 30h,0f2h

   8        0032           var2   equ  50d      ;十進制 如 50d,50

   9        0032           var3   equ  50

  10        0013           var4   equ  23q      ;八進制 如 23q

  11        000B           var5   equ  1011b    ;二進制 如 00001011b

  12                                            ;表示之

  13        FFCE           var6   equ  -50      ;其值會以二的補數表示

  14        0030           count  var  30h      ;RAM的變數

  15        0080           led:   reg  p0       ;設定led會以p0埠取代

  16        0000           bcd:   reg  r0       ;設定bcd會以r0暫存器取代

  17

  18  0000                        org  0        ;設定組譯後會從org指定的位

  19                                            ;址存放機械碼

  20  0000  A8 30                 mov  r0,var1  ;將RAM位址30h的資料搬移給r0

  21  0002  A8 30                 mov  r0,count ;同上(建議使用var的方式定義)

  22  0004  79 30                 mov  r1,#var1 ;將立即資料30h的值搬移給r0

  23  0006  7A CE                 mov  r2,#var6 ;負數值會以二的補數處理

  24  0008  7B 24                 mov  r3,#>2468h ;">"取用16bit中的高位元組

  25  000A  7C 68                 mov  r4,#<2468h ;"<"取用16bit中的低位元組

  26  000C  75 80 0B              mov  led,#var5 ;動作如同下一列的指令

  27  000F  75 80 0B              mov  p0,#01011b

  28

  29  0012  01 12                 jmp  $        ;$代表指令本身的位址

  30

  31  0050                        org  50h

  32  0050  4C 6F 2E 20 59 mesg:  db    'Lo. Yung-Guang'

      0055  75 6E 67 2D 47

      005A  75 61 6E 67

  33                                            ;定義位元組的資料

  34                                            ;L的ASCII碼為4C

  35  005E  1234           data1: dw   1234h    ;定義16Bits的資料

  36  0060  1234 5678      data2: long 12345678h ;定義32Bits的資料

  37  0064                        end           ;告訴組譯程式組譯到此程式結束

    Lines Assembled :  37             Assembly Errors :  0

 

假指令

 

組譯的語法

數字系統:

組譯運算:

位址:

其它: