彙編語言中的語句格式

目錄

彙編中的語句包括:指令語句,僞指令語句,宏語句。

指令語句格式:

僞操作格式:


 

彙編中的語句包括:指令語句,僞指令語句,宏語句。

  1. 指令語句:能夠產生目標代碼,實際執行。
  2. 僞操作語句:它不像機器指令那樣是在程序運行期間由計算機來執行的,不產生目標代碼,它是在彙編程序對源程序彙編期間由彙編程序處理的操作,它們可以完成如數據定義、分配存儲區、指示程序結束等功能。(提供控制信息)
  3. 宏指令語句:由編程者按照一定的規則來定義的一種較“宏大”的指令,可包括多條指令或僞指令 。(多條指令的組合)

 


指令語句格式:

  • 格式:[name] operation operand [;comment]
  • 解釋:
    • 名字項(name):標號/變量。      名字中如果用到 . 則必須是第一個字符。
      • 標號:在代碼段中定義後面跟着冒號它可以作爲過程名定義。  標號有3 種屬性:段、偏移及類型。
        • 段屬性定義標號的段起始地址,此值必須在一個段寄存器中,而標號的段則總是在CS寄存器中。
        • 偏移屬性,標號的偏移地址是從段起始地址到定義標號的位置之間的字節數
        • 類型屬性,用來指出該標號是在本段內引用還是在其他段中引用的。如是在段內引用的,則稱爲NEAR,否則爲FAR。
      • 變量:在數據段或附加數據段中定義,後面不跟冒號。變量經常在操作數字段出現。它也有段、偏移及類型三種屬性。
        • 段屬性:定義變量的段起始地址,此值必須在一個段寄存器中。
        • 偏移屬性:變量的偏移地址是從段的起始地址到定義變量的位置之間的字節數。在當前段內給出變量的偏移值等於當前地址計數器($)的值。
        • 類型屬性:變量的類型屬性定義該變量所保留的字節數。如 BYTE(1個字節長)、WORD(2個字節長)、DWORD(4個字節長) 。

僞操作格式:

  • 格式:[Variable] Mnemonic  Operand , … ,Operand [;Comments] 
  • 解釋:
    • ​​​​​​​Variable(變量):它用符號地址表示,其作用與指令語句前的標號相同,但它的後面不跟冒號。如果語句中有變量,則表示第一個字節的偏移地址。(地址)
    • 助記符(Mnemonic):說明所定義的數據類型。 DB 僞操作用來定義字節,其後的每個操作數都佔有一個字節。DW 僞操作用來定義字,其後的每個操作數佔有一個字(16位,其低位字節在第一個字節地址中,高位字節在第二個字節地址中)。DD 僞操作用來定義雙字,其後的每個操作數佔有兩個字(32位)。
  • 例:
  •  
  • 例: 字符串中每一個字符以ASCII碼處理,無法擴展注意DB'AB'和DW'AB',在字符串中使用DW相當於把連續的兩個字符看成一個單詞,而不是像數字一樣,一個數字佔用兩個字節。因此對於一個Word,高位放高地址,地位放低地址。(越往下地址越大,8086結構)(對比上個例題)
  • 例:操作數爲表達式
  • 例:,通過使用'?',保留存儲空間,但不存入數據
  • 通過使用DUP來複制操作數 repeat-count DUP(operand, … ,operand),其中repeat-count可以是一個表達式,它的值應該是一個正整數,用來指定括號中的操作數的重複次數。
    • ​​​​​​​
    • 嵌套定義DUP:​​​​​​​​​​​​​​
  • 可以用DW或DD僞操作存地址。 DW把變量或標號的偏移地址存入存儲器;DD把由16位段地址和16位偏移地址組成的整個地址存入存儲器。       用DD僞操作存入地址時,第1個字爲偏移地址,第2個字爲段地址。 (在8086中,段地址和偏移地址都是用16位表示,構成有效地址)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章