汇编范例
assume cs:codesg
codesg segment
???????????? mov ax,0123H
???????????? mov bx,0456H
???????????? add ax,bx
???????????? add ax,ax
??????????? mov ax,4c00H
??????????? int 21H
codesg ends
end
說明:匯編程序中有兩種指令,一種是匯編指令,一種是偽指令。匯編指令是有對應的機器碼指令,可以被編譯成機器指令,最終被CPU執行。而偽指令沒有對應的機器指令,最終不被CPU執行。偽指令石油編譯器執行的,編譯器根據偽指令進行相關的編譯工作。
其中:
段名 segment
段名 ends
是一對成對使用的偽指令,segment和ends功能是定義一個段,segment是段的開頭,ends
是段的結尾,一個段必須有一個名稱來標志,上面出現中codesg就是一個名稱而已。
程序中end是匯編程序結束標志,編譯器在編譯匯編程序的過程中,如果碰到偽指令end,就結束對程序的編譯。
assume這條偽指令的含義:“假設”,它假設某一寄存器與程序中的某一個用segment.......ends定義的段相關聯。
這兩條指令的功能就是程序返回。至于為什么,我還沒看到呢,后面再講。
assume cs:codesg
codesg segment
???????????? mov ax,0123H
???????????? mov bx,0456H
???????????? add ax,bx
???????????? add ax,ax
??????????? mov ax,4c00H
??????????? int 21H
codesg ends
end
說明:匯編程序中有兩種指令,一種是匯編指令,一種是偽指令。匯編指令是有對應的機器碼指令,可以被編譯成機器指令,最終被CPU執行。而偽指令沒有對應的機器指令,最終不被CPU執行。偽指令石油編譯器執行的,編譯器根據偽指令進行相關的編譯工作。
其中:
段名 segment
段名 ends
是一對成對使用的偽指令,segment和ends功能是定義一個段,segment是段的開頭,ends
是段的結尾,一個段必須有一個名稱來標志,上面出現中codesg就是一個名稱而已。
程序中end是匯編程序結束標志,編譯器在編譯匯編程序的過程中,如果碰到偽指令end,就結束對程序的編譯。
assume這條偽指令的含義:“假設”,它假設某一寄存器與程序中的某一個用segment.......ends定義的段相關聯。
這兩條指令的功能就是程序返回。至于為什么,我還沒看到呢,后面再講。
總結
- 上一篇: 8086 中的栈
- 下一篇: [BX] 和 loop指令