日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8086汇编语言(一) 汇编语言源程序

發(fā)布時間:2024/8/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8086汇编语言(一) 汇编语言源程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

匯編語言源程序

1. 匯編語言源程序結構

??一個完整的匯編語言源程序通常由若干個邏輯段(Segment)組成, 包括數(shù)據(jù)段、附加段、堆棧段和代碼段,它們分別映射到存儲器中的物理段上。每個邏輯段以 SEGMENT語句開始, 以 ENDS語句結束,整個源程序用END語句結尾。
??代碼段中存放源程序的所有指令碼, 數(shù)據(jù)、變量等則放在數(shù)據(jù)段和附加段中。程序中可以定義堆棧段,也可以直接利用系統(tǒng)中的堆棧段。具體一個源程序中要定義多少個段應根據(jù)實際需要來定。但一般來說,一個源程序中可以有多個代碼段, 也可以有多個數(shù)據(jù)段、附加段及堆棧段, 但一個源程序模塊只可以有一個代碼段、一個數(shù)據(jù)段、個附加段和一個堆棧段。將源程序以分段形式組織是為了在程序匯編后,能將指令碼和數(shù)據(jù)分別裝入存儲器的相應物理段中

2. 源程序結構框架

段名1 SEGMENT ... 段名1 ENDS 段名2 SEGMENT ... 段名2 ENDS ... 段名n SEGMENT ... 段名n ENDS

3. 語句類型和格式

(1). 指令性語句的一般格式
[標號] : [前綴] 操作碼 [操作數(shù)1, 操作數(shù)2] [;注釋]

“[ ]” 括起來的內(nèi)容可以省略, 操作數(shù)可以有2個、1個和沒有。

(2). 指示性語句的一般格式
[名字] [偽操作] 操作數(shù)1, 操作數(shù)2, ... [;注釋]

“[ ]” 括起來的內(nèi)容可以省略。

4. 數(shù)據(jù)項

(1). 常量
常量類型表示舉例
十進制常量以字母 “D” 結尾或不加結尾52D, 52
二進制常量以字母 “B” 結尾1011B
十六進制常量以字母 “H” 結尾5CH
字符常量用單引號括起的一個或多個ASCII字符碼’DD’
(2). 標號 LABLE

??指令的標號由程序員確定, 不能與指令助記符或偽指令名, 也不能由數(shù)字打頭, 字符個數(shù)不能超過31個。
??標號有3種屬性: 段值、偏移量和類型。

(3). 變量

??變量是存儲器中的某個數(shù)據(jù)區(qū)的名字, 變量的類型有:

類型長度表示
字節(jié)8位BYTE
16位WORD
雙字32位DWORD
四字64位QWORD
十節(jié)字80位TBYTE
(4). 表達式

??表達式不是指令, 本身不能執(zhí)行, 在程序執(zhí)行時, 表達式本身是一個有確定值的操作數(shù)。

運算符符號
+
-
*****
/
取余MOD
AND
OR
NOT
異或XOR
等于EQ
不等于NE
小于LT
大于GT
小于等于LE
大于等于GE
(5). 運算符
名字運算符作用例子
取偏移地址運算符OFFSET取標號或變量的偏移地址MOV SI, OFFSET DATA1
取段地址運算符SEG取標號或變量的段地址MOV AX, SEG DATA1
屬性運算符PTR指定其后面存儲器操作數(shù)的類型MOV AL, BYTE PTR [SI]
方括號運算符[ ]表示存儲器操作數(shù), 括號中的內(nèi)容表示操作數(shù)的偏移地址
段重設運算符:用來指定一個存儲器操作數(shù)的段屬性而不管原來隱含的段MOV AX, ES:[SI]

總結

以上是生活随笔為你收集整理的8086汇编语言(一) 汇编语言源程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。