匯編語言的指令格式和基本語法講解

暢學單片機 2020-02-20 00:00

單片機匯編語言匯編錯誤原因分析

匯編語言的指令格式,目前有兩種不同的標準:Windows下的匯編語言基本上都遵循Intel風格的語法,比如:MASM、NASM;而Unix/Linux下的匯編語言基本上都遵循AT&T風格的語法;

一、匯編語言語句的通用格式

[名稱[:]] 指令碼 [第一操作數][,第二操作數] ;注釋

匯編語言的指令碼的操作數的個數可以是0、1、2個;當操作數的個數為2的時候,語句還有兩種不同的格式:

Windows下Intel風格的匯編語言語句格式為:

[名稱[:]] 指令碼 目的操作數DST,源操作數SRC ;注釋

Unix/Linux下AT&T風格的匯編語言語句格式為:

[名稱[:]] 指令碼 源操作數SRC,目的操作數DST ;注釋

例如: CYCLE: ADD AX,02H ;(AX)匯編語言語句格式中的"名稱"并不是所有語句都必需的,但是,如果語句中帶有"名稱",那么,大多數情況下,"名稱"都表示的是內存中某一存儲單元的地址,也就是"名稱"后面各項在內存中存放的第一個存儲單元的地址(包括該"名稱"所在段的段地址和段內偏移地址);比如上面的指令中,CYCLE就是該語句的名稱,CYCLE表示的就是其后面的機器指令碼在內存中存放的第一個地址;"名稱"與指令碼之間的分隔符可以是冒號":",也可以是空格字符" ";當以冒號分割時,該名稱代表的是一個標號;當以空格分割時,該名稱代表的可能是標號,也可能是變量;當指令碼有多個操作數的時候,相鄰兩個操作數之間要用逗號","分割;指令碼與操作數之間必須以空格分割;匯編語言語句的注釋必須以分號";"開頭;

二、組成語句的元素

1、常數:

匯編語言中的常數有整數、字符串;二進制、八進制、十進制、十六進制;匯編語言采用不同的后綴區分:

B:二進制數; O:八進制數; D:十進制數; H:十六進制數;

當一個數值后面沒有后綴的時候,默認為十進制數;

字符串常數是用一對單引號('')括起來的一串字符;

2、表達式:

由操作數和操作符組成;

算數運算操作符: +、-、*、/、MOD,等;取模運算MOD是取兩數相除的余數;

邏輯運算操作符: AND(邏輯與)、OR(邏輯或)、NOT(邏輯非)、XOR(邏輯異或);

注意:邏輯運算符同時又可以是邏輯運算指令的指令碼,只有當它們出現在指令的操作數部分時,才是操作符;例如:

ADD AL,0CH ADD 0FH ;第一個ADD是指令碼,第二個ADD是操作符;

關系運算操作符: EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于);

匯編語言中的表達式不能單獨構成語句,只能是語句的組成部分;

注意:語句中表達式的求值不是在語句執行時完成的,而是在對源程序進行匯編鏈接時完成的.所以,語句中各表達式的值必須在匯編或鏈接時就是確定的,也就是說,表達式中各標識符的值在匯編或鏈接時就應該是確定的;

3、標號:

標號是由標識符表示的指令的名稱,用于指示對應指令的位置(地址);

標號具有三個屬性:段地址、偏移地址和類型;

標號的段地址和偏移地址屬性是指該標號所對應的指令所在段的段地址和段內偏移地址;

標號的類型有兩種:NEAR和FAR;標號定義成NEAR類型,表示該標號在段內使用,而定義成FAR類型則表示該標號可以在段間使用;

標號的定義:在指令碼前面加上標識符和冒號":";

例如:START: PUSH DS

這條語句里面,START就是我們定義的標號,它代表指令PUSH的地址,所以,標號可以作為程序轉移指令的操作數(即:要轉向的地址);標號還可以采用偽指令來定義;例如:用LABEL偽指令和過程定義偽指令來定義;

4、變量:

與高級語言一樣,并不是所有的操作數都是常數,匯編語言也有自己的變量,變量的值在程序運行期間是可以被改變的;

A.定義變量:匯編語言中,變量的定義是通過偽指令來完成的;定義變量的偽指令格式如下:

變量名 DB 表達式 ;定義字節變量,又稱單字節變量(1個連續字節),DB-->BYTE

變量名 DW 表達式 ;定義字變量,又稱雙字節變量(2個連續字節),DW-->WORD

變量名 DD 表達式 ;定義雙字變量,又稱四字節變量(4個連續字節),DD-->DWORD

變量名 DF 表達式 ;定義六字節變量,又稱六字節變量(6個連續字節),DF-->FWORD

變量名 DQ 表達式 ;定義長字變量,又稱八字節變量(8個連續字節),DQ-->QWORD

變量名 DT 表達式 ;定義十字節變量(10個連續字節),DT-->TBYTE;

其中,變量名是一個合法的標識符,變量名后面不能加冒號":",只能用空格;變量名不是必要的,可有可無;變量的類型由關鍵字DB、DW、DD、DQ、DT來定義;

變量定義語句中的"表達式"是用于對變量進行初始化的,可有一下幾種情況:

(1).一個或多個常數或表達式;當為多個常數或表達式時,期間要用逗號隔開;如DATA1--DATA4;

(2).帶單引號的字符串;

對于字節型(DB)變量,每個變量的大小為1個字節,每個變量的值不能超過1個字符,每個字節內存入一個字符的ASCII碼值,整個字符串可以在同一對單引號內給出,這相當于是定義了一個字符數組,如DATA5;

對于字類型(DW)變量,每個變量的大小為2個字節,每個變量的值不能超過2個字符,若為2個字符時,同樣遵循高位存入高字節,低位存入低字節的規則;若為1個字符,則該字符的ASCII碼值存入到低字節,高字節為00,如DATA6;

對于雙字類型(DD)變量,每個變量的大小為4個字節,每個變量的值不能超過2個字符,若為2個字符,同樣遵循高位存入高字節,低位存入低字節的規則;但是2個字符的值被存入到雙字變量的最低2個字節中,1個字符的值被存入到雙字變量的最低1個字節中;

對于長字類型(DQ)變量,每個變量的大小為8個字節,每個變量的值不能超過2個字符,若為2個字符,同樣遵循高位存入高字節,低位存入低字節的規則;但是2個字符的值被存入到長字變量的最低2個字節中,1個字符的值被存入到長字變量的最低1個字節中;

(3).一個問號"?",表示該變量的值不確定,即:該變量所表示的內存單元中的內容是不確定的,或者說是,當表達式為問號時,變量所對應的內存區中并沒有存入新的值,而只是預留出了相應的存儲空間;如DATA7、DATA8

(4).重復方式;此時的格式為: 重復次數 DUP(表達式);重復方式指出表達式的值可以重復地存儲到變量對應的內存區中,重復的次數由偽指令給出,相當于定義數組;如DATA9、DATA10

定義變量的例子:

DATA1 DB 20H ;1字節變量

DATA2 DW 0204H,1000H ;2字節變量

DATA3 DB (-1*3),(15/3) ;1字節變量

DATA4 DD 123456H ;4字節變量

DATA5 DB '0123' ;字符串變量,相當于一個字符數組

DATA6 DW 'AB','C','D' ;字符串變量,相當于一個字符串數組;

DATA7 DB ? ;1字節變量,未初始化

DATA8 DD ? ;4字節變量,未初始化

DATA9 DB 5 DUP(0) ;1字節變量,用5個0初始化,相當于是一個具有5個DB型元素的數組

DATA10 DW 3 DUP(?) ;2字節變量,未初始化,相當于是一個具有3個DW型元素的數組

變量定義語句中偽指令的功能是在變量名所對應的地址開始的內存區依次存入表達式中的各項值,表達式中的每項值所占用內存字節數與變量的類型對應;

總結:一個變量的變量名實際上就代表了該變量所對應的內存區在內存段中的有效地址(偏移地址);高地址是指地址值相對較大,低地址是指地址值相對較小,高地址與低地址是相對而言的;

5、變量的屬性:

(1).屬性介紹

一個變量具有一下屬性:

A.段地址(SEG):變量所在段的段地址;

B.偏移地址(OFFSET):變量所在段內的偏移地址;

C.類型(TYPE):變量的類型定義了每個變量所占用的內存字節數,對于DB、DW、DD、DQ、DT類型定義的變量所占用的內存字節數分別是1、2、4、8、10;通常又將DB、DW、DD類型所定義的變量分別成為BYTE類型、WORD類型、DWORD類型變量;

常用標識符的類型值列表:

標識符種類 字節變量 字變量 雙字變量 近標號NEAR 遠標號FAR

TYPE的值 1 2 4 -1 -2

D.長度(LENGTH):變量定義時,一個變量名所定義的變量個數;在含有DUP操作符的變量定義中,變量名所定義的變量個數為定義格式中的重復次數;在其它各種變量定義中,每個變量名所定義的變量個數均為1個;

E.大小(SIZE):變量定義語句中,分配給同一個變量名的所有變量的總的字節數,其值為該變量的類型與長度的成績;

其中,段地址、偏移地址和類型屬性是變量的主屬性,而長度和大小屬性是變量的輔助屬性;

(2).屬性操作符:

操作符 表達式 含義

SEG SEG 變量名或標號 取出變量名或標號所在段的段地址

OFFSET OFFSET 變量名或標號 取出變量名或標號所在段內的偏移地址

TYPE TYPE 變量名或標號 取出變量名或標號的類型(變量所占用的字節數)

LENGTH LENGTH 變量名 取出變量的長度

SIZE SIZE 變量名 取出變量的大小

這些操作符不能單獨構成語句,只能作為表達式的組成部分,并且表達式的求值也是在匯編過程中完成的;

6.強制類型轉換操作符PTR

格式:數據類型 PTR 地址表達式

格式中的"數據類型"可以是BYTE、WORD、DWORD、NEAR、FAR;前三種類型是變量的類型,后兩種類型是標號的類型;格式中的表達式可以是變量、標號、其它地址表達式;

PTR操作符的功能是用來重新定義已定義的變量或標號的類型,其作用域只在當前語句中; 例如:

DATA1 DW 02H

MOV BYTE PTR DATA1,AL

這條指令中,是把DATA1的類型轉換為BYTE類型,然后把AL中的內容存放到DATA1的最低一個字節中;作用域只在這條MOV語句中,過了這條語句,DATA1仍然是DW類型,即:DATA1原來的類型并沒有被修改;

7、復合數據類型:

符合數據類型,除了用DUP定義的重復數據類型之外,與C/C++語言一樣,匯編語言中也有結構體類型、聯合類型、記錄類型;

(1).結構體類型:

A.類型定義格式:

結構類型名 STRUC [對齊類型Alignment][,NONUNIQUE]

Field1 Type1 Exp1

Field2 Type2 Exp2

......

FieldN TypeN ExpN

結構類型名 ENDS

說明:結構體中的字段名可有可無;若有字段名,則字段名必須唯一,每個字段可獨立存取;若沒有字段名,則通過偏移量來存取;

對齊方式Alignment:定義每個字段的字節對齊邊界,對齊值有1、2、4、8、16字節對齊,值必須是2的冪次方;對齊類似于C/C++中結構體字段的對齊;

NONUNIQUE:要求結構體中的字段必須用全名才能訪問;

結構體中的字段可以有字段名,也可以沒有字段名;有字段名的字段可直接使用該字段名來訪問,沒有字段名的字段可用使用該字段在結構體中的偏移量來訪問;

例如:

PERSON STRUC

NO DD ? ;有名字段,偏移量為0

NAME DB 10 DUP(?) ;有名字段,偏移量為4

DB 1 ;無名字段,偏移量為14

PERSON ENDS

B.結構類型變量的定義:

[變量名] 結構類型名

字段值列表中的各個字段之間用逗號","分割,字段值的排列順序及類型應該與該結構定義時說明的各個字段相一致;如果結構變量中某個字段的值使用定義結構時說明的缺省值,那么可用逗號來表示;如果所有字段都使用定義結構體時說明的各個字段的缺省值,則可省去字段值列表,只需保留一對尖括號""即可;

例如:

Per1 PERSON ;所有字段都是用默認值

Per2 PERSON ;所有字段都重新初始化

Per3 PERSON ;第二個字段使用默認值;

C.結構體類型字段的引用:

格式: 結構變量名.字段名

這種引用方式與高級語言中的引用方式完全一致;另外,還可以使用偏移量來訪問某個字段;

方式1:使用字段名直接引用

MOV AX,Per3.NAME

方式2:使用字段的在結構體中的偏移量來引用

LEA SI,Per3 ;取變量Per3對應內存塊的有效地址

MOV AX,[SI+4] ;寄存器相對尋址,4是字段NAME的偏移量

(2).聯合體類型:

A.類型定義格式:

[聯合體類型名] UNION [對齊方式Alignment][,NONUNIQUE]

Field1 Type1 Exp1

Field2 Type2 Exp2

......

FieldN TypeN ExpN

[聯合體類型名] ENDS

說明:聯合體類型中的各個字段相互覆蓋,即:同樣的存儲單元被多個不同類型的字段所對應,并且每個字段在聯合體類型中的偏移量都是0;聯合體類型所占用的字節數是其所有字段所占字節數的最大值,即:聯合體所占用的字節數是這個聯合體的所有字段中占用字節數最多的那個字段占用的字節數;

對齊方式Alignment:可用1、2、4、8、16個字節來指定聯合體中各個字段字節的對齊邊界,其缺省的對齊邊界是1字節;還可用使用偽指令ALIGN或EVEN來重新定界,也可使用命令行選項/Zp來定界;

NONUNIQUE:要求聯合體類型中的字段必須使用全名才能訪問;

例如:

DATE UNION

YEAR DB 2010

MONTH DB 07

DAY DB 04

DATE ENDS

B.聯合體類型變量的定義:

聯合體類型的變量只能使用第一個字段的數據類型來進行初始化;例如:

DATE1 DATE ;定義一個聯合體類型變量DATE1,并使用第一個字段的數據類型進行初始化

DATE2 DATE ;初始化錯誤,只能使用第一個字段的數據類型進行初始化;

C.聯合體類型字段的引用:

格式: 聯合體類型變量名.字段名

例如:

MOV DATE1.YEAR,2012 ;給聯合體類型變量字段賦值

MOV AL,DATE1.MONTH ;AL=07

MOV BX,DATE1.YEAR ;BX=2012

MOV DATE1.MONTH,08 ;月份置為8月

(3).記錄類型:

A.類型定義格式:

匯編語言中的記錄類型與高級語言中的記錄類型不同,在匯編語言中,記錄類型是為按照二進制位存取數據提供方便的;記錄類型的說明要用到另一個關鍵字RECORD,格式如下:

記錄名 RECORD 字段[,字段,...]

其中,"字段"代表: 字段名:寬度[=初始值表達式]

說明:記錄名代表該記錄類型;記錄類型可以由多個字段組成,相鄰兩個字段之間用逗號隔開;記錄類型中字段的屬性包括字段名、寬度和初始值;記錄類型中,字段的"寬度"屬性表示該字段所占用的二進制位數,它必須是一個常數,并且所有字段的寬度之和不能大于16(即:有字段的寬度之和大于8,則系統會自動為該記錄類型分配2字節的空間,否則只分配1個字節的空間;記錄類型的最后一個字段排在所分配空間的最低位,然后對記錄中的字段依次"從右向左"分配二進制位,左邊沒有分完的二進制位自動補0;初值表達式給出的是該字段的缺省值,如果初值超過了該字段所表示的范圍,那么,在匯編時將產生錯誤提示信息,如果某字段沒有初值表達式,則其初值為0;

例1:

COLOR RECORD BLINK:1,BACK:3=0,INTENSE:1=1,FORE:3

該COLOR類型的二進制位分布如下圖所示:

該類型的各個字段寬度為:1、3、1、3,所以,該記錄占用8個二進制位,系統為它分配1個字節;

例2:

FLOAT RECORD DSIGN:1,DATA:8,ESIGN:1,EXP:4

該FLOAT類型的二進制位分布如下圖所示:

該類型的總寬度是14個二進制位,所以,系統為它分配2個字節的空間;

B.記錄類型變量的定義:

[變量名] 記錄類型名

說明:變量名就是該記錄類型的變量名,它可缺省,則不能使用符號名來訪問該內存單元;字段值列表是用于給各個字段賦初值,相鄰兩個字段值之間用逗號","隔開,其字段值的排列順序及大小應該按照記錄類型定義時說明的各個字段的順序和大小來排列;如果記錄類型變量的某個字段使用默認值,那么,可用逗號來表示,如果所有字段都是用默認值,則可省去字段值列表,但必須保留一對尖括號"";

例如:

COLOR1 COLOR , ,

FLOAT1 FLOAT ,

C.記錄類型字段的引用:

格式: 記錄類型變量名.字段名

例如: MOV AL,COLOR1.FORE

D.記錄類型的專用操作符:

操作符WIDTH和MASK是專用于記錄類型的操作符,利用它們可用得到記錄類型的不同屬性;

WIDTH:用于返回記錄或其字段的二進制位數,即:記錄類型或記錄類型字段的寬度;書寫格式如下:

WIDTH 記錄名 或 WIDTH 記錄字段名

例如:記錄類型COLOR,那么,WIDTH COLOR的值為8,WIDTH BACK的值為3,WIDTH BLINK的值為1;

MASK:它返回一個8位或16位的二進制數,在該二進制數中,被指定記錄或字段使用的對應位的值為1,否則,其值為0;書寫格式如下:

MASK 記錄名 或 記錄字段名

例如:記錄類型FLOAT,那么,MASK EXP的值為000FH,MASK DATA的值為1FE0H,MASK DSIGN的值為2000H;

記錄字段:記錄字段名是一個特殊的操作符,它本身也是一個操作數,其返回值是該字段移到該字段所在記錄的最低位所需要的位數,即:該字段最低位在記錄中的位置;

例如:記錄類型FLOAT,則有:

MOV CL,EXP 相當于 MOV CL,0

MOV CL,DATA 相當于 MOV CL,5

(4).類型重定義:

已知某一數據類型,程序員可以定義這個數據類型的別名或指針類型.表達這種定義的偽指令是TYPEDEF,其定義形式如下:

新數據類型名 TYPEDEF [位距][PTR] 已知數據類型

其中,"位距"是NEAR、FAR、PROC等;

例如:

CHAR TYPEDEF BYTE ;給BYTE類型定義另外一個別名CHAR,C++中就是: typedef BYTE CHAR

PCHAR TYPEDEF PTR CHAR ;定義一個字符指針數據類型PCHAR,C++中就是:typedef PTR CHAR PCHAR,即:typedef char* PCHAR

那么,下面的變量定義就是合法的了:

CH1 CHAR 'ABCDEF' ;定義一個字符串常量

PCH1 PCHAR CH1 ;定義一個指向字符串常量CH1的變量

這個功能類似于C++語言中的typedef語句;

8.表達式中的操作符:

HIGH(高8位)、LOW(低8位)

SEG(段地址)、OFFSET(偏移量)、TYPE(數據類型)、LENGTH(變量長度)、SIZE(變量容量)

WIDTH(記錄/記錄字段的寬度)、MASK(記錄/記錄字段的屏蔽位),等等;

其中,HIGH和LOW分別用于選取表達式計算結果的高8位和低8位,使用格式如下:

HIGH 表達式 LOW 表達式

9.運算符和操作符的優先級:

優先級: 高 LENGTH、SIZE、WIDTH、MASK、()、[]、.(用于結構字段)、(用于記錄類型)

↓ PTR、SEG、OFFSET、TYPE、THIS、:(用于段超越前綴)

*、/、MOD、SHL、SHR

↓ HIGH、LOW

+、-

↓ EQ、NE、LT、LE、GT、GE

NOT

↓ AND

OR、XOR

優先級: 低 SHORT

10.地址表達式:

地址表達式是計算存儲器單元地址的表達式,它可由標號、變量名和由方括號"[]"括起來的基址或變址寄存器組成;其計算結果表示一個存儲器單元的地址,而不是該存儲器單元中的值;

注意:匯編語言中,對地址數值的運算都是以字節為單位的,而不是以數據類型的大小為單位的;例如:

W1 DW 1234H,5678H

則,地址表達式W1+1處的內存單元中的數據是7812H,而不是5678H;W1+1表示W1為起始地址,其下一個字節單元的地址,W1+2表示從地址W1出開始,其后2個字節單元地址;

11.符號定義語句:

在程序中,經常會用到一些常數或數值表達式,并把它們直接寫在指令值,當時當需要修改的時候,就要對它們逐一進行修改,這無疑就增加了維護程序的工作量,而且每個常量或表達式所代表的含義也容易忘記;于是,匯編語言提供了為常量或表達式定義一個符號名的方法;一旦定義了符號名,在指令中就可以直接使用它們了;這個功能就類似于C語言中使用宏定義指令#define定義常量的功能相似,也與C++中使用const關鍵字定義常量的功能相似;

(1).等價語句EQU

一般格式:

符號名 EQU 表達式

作用:左邊的符號名代表右邊的表達式;

注意:等價語句不會給符號名分配存儲空間,符號名不能與其它符號名重名,即:符號名必須唯一;符號名也不能被重新定義;程序中凡是出現"表達式"的地方,都使用"符號名"來替換;

(2).使用符號名代表常量或表達式

把一個常量或表達式定義成一個具有一定含義的符號名之后,在程序中就可以用該符號名來代表該常量或表達式;例如:

NUMBER EQU 100 ;給緩沖區的長度取一個符號名

BUFF_LEN EQU NUMBER+2

CR EQU 13 ;給"回車"符的ASCII碼定義一個符號名

LN EQU 10 ;給"換行"符的ASCII碼定義一個符號名

(3).用符號名代表字符串

例如:

GREETING EQU 'How are you!'

(4).用符號名代表關鍵字或指令碼

例如:

MOVE EQU MOV ;給指令碼MOV取另外一個符號名MOVE

COUNTER EQU CX ;給寄存器CX取一個叫做"計數器"的符號名

12.等號語句

匯編語言提供了使用等號"="來定義符號常數的方法,即:可用符號名代表一個常數;一般格式如下:

符號名 = 表達式

數值表達式在匯編時應該可以計算出值,它不能含有向前引用的符號名稱;用等號語句定義的符號名可以被重新定義;可把等號語句看成是高級語言中的一個賦值語句,可以被多次賦值,這一點是與EQU不同的地方;例如:

ABC = 10 + 200*5 ;ABC的值為1010

ABC1 = 5*ABC + 21 ;ABC1的值為5071

COUNT = 1 ;COUNT的值為1

COUNT = 2*COUNT + 1 ;COUNT的值為3

注意:偽指令"="和偽指令"EQU"定義符號名時,凡是在程序中出現符號名的地方,都是用右邊的常量或表達式來替代;

13.標號定義語句

該語句定義一個指定的符號名,該符號名的段地址和偏移地址與下面緊跟存儲單元的相應屬性相同,但是,該符號名的類型是新指定的;

LABEL語句的一般格式如下:

符號名 LABEL 數據類型

常用的數據類型有:BYTE、WORD、DWORD、結構類型、記錄類型、NEAR、FAR;

其中,前五中類型是變量的類型,后面兩種類型是標號的類型;如果格式中的"數據類型"是前面五種類型之一的話,"符號名"就是變量名;如果格式中的"數據類型"是后面的兩種類型之一的話,"符號名"就是標號名;變量名和標號名都具有段地址和偏移地址的屬性;

例如:

WBUFFER LABEL WORD

BUFFER DB 200 DUP(0)

這個LABEL定義語句中,WBUFFER與BUFFER具有完全相同的段地址和偏移地址,但是它們的數據類型不同,目的就是為了使用兩種不同類型的操作來訪問同一塊內存區;

注意:偽指令本身不占用內存空間;


匯編語言的指令格式,目前有兩種不同的標準:Windows下的匯編語言基本上都遵循Intel風格的語法,比如:MASM、NASM;而Unix/Linux下的匯編語言基本上都遵循AT&T風格的語法;

一、匯編語言語句的通用格式

[名稱[:]] 指令碼 [第一操作數][,第二操作數] ;注釋

匯編語言的指令碼的操作數的個數可以是0、1、2個;當操作數的個數為2的時候,語句還有兩種不同的格式:

Windows下Intel風格的匯編語言語句格式為:

[名稱[:]] 指令碼 目的操作數DST,源操作數SRC ;注釋

Unix/Linux下AT&T風格的匯編語言語句格式為:

[名稱[:]] 指令碼 源操作數SRC,目的操作數DST ;注釋

例如: CYCLE: ADD AX,02H ;(AX)匯編語言語句格式中的"名稱"并不是所有語句都必需的,但是,如果語句中帶有"名稱",那么,大多數情況下,"名稱"都表示的是內存中某一存儲單元的地址,也就是"名稱"后面各項在內存中存放的第一個存儲單元的地址(包括該"名稱"所在段的段地址和段內偏移地址);比如上面的指令中,CYCLE就是該語句的名稱,CYCLE表示的就是其后面的機器指令碼在內存中存放的第一個地址;"名稱"與指令碼之間的分隔符可以是冒號":",也可以是空格字符" ";當以冒號分割時,該名稱代表的是一個標號;當以空格分割時,該名稱代表的可能是標號,也可能是變量;當指令碼有多個操作數的時候,相鄰兩個操作數之間要用逗號","分割;指令碼與操作數之間必須以空格分割;匯編語言語句的注釋必須以分號";"開頭;

二、組成語句的元素

1、常數:

匯編語言中的常數有整數、字符串;二進制、八進制、十進制、十六進制;匯編語言采用不同的后綴區分:

B:二進制數; O:八進制數; D:十進制數; H:十六進制數;

當一個數值后面沒有后綴的時候,默認為十進制數;

字符串常數是用一對單引號('')括起來的一串字符;

2、表達式:

由操作數和操作符組成;

算數運算操作符: +、-、*、/、MOD,等;取模運算MOD是取兩數相除的余數;

邏輯運算操作符: AND(邏輯與)、OR(邏輯或)、NOT(邏輯非)、XOR(邏輯異或);

注意:邏輯運算符同時又可以是邏輯運算指令的指令碼,只有當它們出現在指令的操作數部分時,才是操作符;例如:

ADD AL,0CH ADD 0FH ;第一個ADD是指令碼,第二個ADD是操作符;

關系運算操作符: EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于);

匯編語言中的表達式不能單獨構成語句,只能是語句的組成部分;

注意:語句中表達式的求值不是在語句執行時完成的,而是在對源程序進行匯編鏈接時完成的.所以,語句中各表達式的值必須在匯編或鏈接時就是確定的,也就是說,表達式中各標識符的值在匯編或鏈接時就應該是確定的;

3、標號:

標號是由標識符表示的指令的名稱,用于指示對應指令的位置(地址);

標號具有三個屬性:段地址、偏移地址和類型;

標號的段地址和偏移地址屬性是指該標號所對應的指令所在段的段地址和段內偏移地址;

標號的類型有兩種:NEAR和FAR;標號定義成NEAR類型,表示該標號在段內使用,而定義成FAR類型則表示該標號可以在段間使用;

標號的定義:在指令碼前面加上標識符和冒號":";

例如:START: PUSH DS

這條語句里面,START就是我們定義的標號,它代表指令PUSH的地址,所以,標號可以作為程序轉移指令的操作數(即:要轉向的地址);標號還可以采用偽指令來定義;例如:用LABEL偽指令和過程定義偽指令來定義;

4、變量:

與高級語言一樣,并不是所有的操作數都是常數,匯編語言也有自己的變量,變量的值在程序運行期間是可以被改變的;

A.定義變量:匯編語言中,變量的定義是通過偽指令來完成的;定義變量的偽指令格式如下:

變量名 DB 表達式 ;定義字節變量,又稱單字節變量(1個連續字節),DB-->BYTE

變量名 DW 表達式 ;定義字變量,又稱雙字節變量(2個連續字節),DW-->WORD

變量名 DD 表達式 ;定義雙字變量,又稱四字節變量(4個連續字節),DD-->DWORD

變量名 DF 表達式 ;定義六字節變量,又稱六字節變量(6個連續字節),DF-->FWORD

變量名 DQ 表達式 ;定義長字變量,又稱八字節變量(8個連續字節),DQ-->QWORD

變量名 DT 表達式 ;定義十字節變量(10個連續字節),DT-->TBYTE;

其中,變量名是一個合法的標識符,變量名后面不能加冒號":",只能用空格;變量名不是必要的,可有可無;變量的類型由關鍵字DB、DW、DD、DQ、DT來定義;

變量定義語句中的"表達式"是用于對變量進行初始化的,可有一下幾種情況:

(1).一個或多個常數或表達式;當為多個常數或表達式時,期間要用逗號隔開;如DATA1--DATA4;

(2).帶單引號的字符串;

對于字節型(DB)變量,每個變量的大小為1個字節,每個變量的值不能超過1個字符,每個字節內存入一個字符的ASCII碼值,整個字符串可以在同一對單引號內給出,這相當于是定義了一個字符數組,如DATA5;

對于字類型(DW)變量,每個變量的大小為2個字節,每個變量的值不能超過2個字符,若為2個字符時,同樣遵循高位存入高字節,低位存入低字節的規則;若為1個字符,則該字符的ASCII碼值存入到低字節,高字節為00,如DATA6;

對于雙字類型(DD)變量,每個變量的大小為4個字節,每個變量的值不能超過2個字符,若為2個字符,同樣遵循高位存入高字節,低位存入低字節的規則;但是2個字符的值被存入到雙字變量的最低2個字節中,1個字符的值被存入到雙字變量的最低1個字節中;

對于長字類型(DQ)變量,每個變量的大小為8個字節,每個變量的值不能超過2個字符,若為2個字符,同樣遵循高位存入高字節,低位存入低字節的規則;但是2個字符的值被存入到長字變量的最低2個字節中,1個字符的值被存入到長字變量的最低1個字節中;

(3).一個問號"?",表示該變量的值不確定,即:該變量所表示的內存單元中的內容是不確定的,或者說是,當表達式為問號時,變量所對應的內存區中并沒有存入新的值,而只是預留出了相應的存儲空間;如DATA7、DATA8

(4).重復方式;此時的格式為: 重復次數 DUP(表達式);重復方式指出表達式的值可以重復地存儲到變量對應的內存區中,重復的次數由偽指令給出,相當于定義數組;如DATA9、DATA10

定義變量的例子:

DATA1 DB 20H ;1字節變量

DATA2 DW 0204H,1000H ;2字節變量

DATA3 DB (-1*3),(15/3) ;1字節變量

DATA4 DD 123456H ;4字節變量

DATA5 DB '0123' ;字符串變量,相當于一個字符數組

DATA6 DW 'AB','C','D' ;字符串變量,相當于一個字符串數組;

DATA7 DB ? ;1字節變量,未初始化

DATA8 DD ? ;4字節變量,未初始化

DATA9 DB 5 DUP(0) ;1字節變量,用5個0初始化,相當于是一個具有5個DB型元素的數組

DATA10 DW 3 DUP(?) ;2字節變量,未初始化,相當于是一個具有3個DW型元素的數組

變量定義語句中偽指令的功能是在變量名所對應的地址開始的內存區依次存入表達式中的各項值,表達式中的每項值所占用內存字節數與變量的類型對應;

總結:一個變量的變量名實際上就代表了該變量所對應的內存區在內存段中的有效地址(偏移地址);高地址是指地址值相對較大,低地址是指地址值相對較小,高地址與低地址是相對而言的;

5、變量的屬性:

(1).屬性介紹

一個變量具有一下屬性:

A.段地址(SEG):變量所在段的段地址;

B.偏移地址(OFFSET):變量所在段內的偏移地址;

C.類型(TYPE):變量的類型定義了每個變量所占用的內存字節數,對于DB、DW、DD、DQ、DT類型定義的變量所占用的內存字節數分別是1、2、4、8、10;通常又將DB、DW、DD類型所定義的變量分別成為BYTE類型、WORD類型、DWORD類型變量;

常用標識符的類型值列表:

標識符種類 字節變量 字變量 雙字變量 近標號NEAR 遠標號FAR

TYPE的值 1 2 4 -1 -2

D.長度(LENGTH):變量定義時,一個變量名所定義的變量個數;在含有DUP操作符的變量定義中,變量名所定義的變量個數為定義格式中的重復次數;在其它各種變量定義中,每個變量名所定義的變量個數均為1個;

E.大小(SIZE):變量定義語句中,分配給同一個變量名的所有變量的總的字節數,其值為該變量的類型與長度的成績;

其中,段地址、偏移地址和類型屬性是變量的主屬性,而長度和大小屬性是變量的輔助屬性;

(2).屬性操作符:

操作符 表達式 含義

SEG SEG 變量名或標號 取出變量名或標號所在段的段地址

OFFSET OFFSET 變量名或標號 取出變量名或標號所在段內的偏移地址

TYPE TYPE 變量名或標號 取出變量名或標號的類型(變量所占用的字節數)

LENGTH LENGTH 變量名 取出變量的長度

SIZE SIZE 變量名 取出變量的大小

這些操作符不能單獨構成語句,只能作為表達式的組成部分,并且表達式的求值也是在匯編過程中完成的;

6.強制類型轉換操作符PTR

格式:數據類型 PTR 地址表達式

格式中的"數據類型"可以是BYTE、WORD、DWORD、NEAR、FAR;前三種類型是變量的類型,后兩種類型是標號的類型;格式中的表達式可以是變量、標號、其它地址表達式;

PTR操作符的功能是用來重新定義已定義的變量或標號的類型,其作用域只在當前語句中; 例如:

DATA1 DW 02H

MOV BYTE PTR DATA1,AL

這條指令中,是把DATA1的類型轉換為BYTE類型,然后把AL中的內容存放到DATA1的最低一個字節中;作用域只在這條MOV語句中,過了這條語句,DATA1仍然是DW類型,即:DATA1原來的類型并沒有被修改;

7、復合數據類型:

符合數據類型,除了用DUP定義的重復數據類型之外,與C/C++語言一樣,匯編語言中也有結構體類型、聯合類型、記錄類型;

(1).結構體類型:

A.類型定義格式:

結構類型名 STRUC [對齊類型Alignment][,NONUNIQUE]

Field1 Type1 Exp1

Field2 Type2 Exp2

......

FieldN TypeN ExpN

結構類型名 ENDS

說明:結構體中的字段名可有可無;若有字段名,則字段名必須唯一,每個字段可獨立存取;若沒有字段名,則通過偏移量來存取;

對齊方式Alignment:定義每個字段的字節對齊邊界,對齊值有1、2、4、8、16字節對齊,值必須是2的冪次方;對齊類似于C/C++中結構體字段的對齊;

NONUNIQUE:要求結構體中的字段必須用全名才能訪問;

結構體中的字段可以有字段名,也可以沒有字段名;有字段名的字段可直接使用該字段名來訪問,沒有字段名的字段可用使用該字段在結構體中的偏移量來訪問;

例如:

PERSON STRUC

NO DD ? ;有名字段,偏移量為0

NAME DB 10 DUP(?) ;有名字段,偏移量為4

DB 1 ;無名字段,偏移量為14

PERSON ENDS

B.結構類型變量的定義:

[變量名] 結構類型名

字段值列表中的各個字段之間用逗號","分割,字段值的排列順序及類型應該與該結構定義時說明的各個字段相一致;如果結構變量中某個字段的值使用定義結構時說明的缺省值,那么可用逗號來表示;如果所有字段都使用定義結構體時說明的各個字段的缺省值,則可省去字段值列表,只需保留一對尖括號""即可;

例如:

Per1 PERSON ;所有字段都是用默認值

Per2 PERSON ;所有字段都重新初始化

Per3 PERSON ;第二個字段使用默認值;

C.結構體類型字段的引用:

格式: 結構變量名.字段名

這種引用方式與高級語言中的引用方式完全一致;另外,還可以使用偏移量來訪問某個字段;

方式1:使用字段名直接引用

MOV AX,Per3.NAME

方式2:使用字段的在結構體中的偏移量來引用

LEA SI,Per3 ;取變量Per3對應內存塊的有效地址

MOV AX,[SI+4] ;寄存器相對尋址,4是字段NAME的偏移量

(2).聯合體類型:

A.類型定義格式:

[聯合體類型名] UNION [對齊方式Alignment][,NONUNIQUE]

Field1 Type1 Exp1

Field2 Type2 Exp2

......

FieldN TypeN ExpN

[聯合體類型名] ENDS

說明:聯合體類型中的各個字段相互覆蓋,即:同樣的存儲單元被多個不同類型的字段所對應,并且每個字段在聯合體類型中的偏移量都是0;聯合體類型所占用的字節數是其所有字段所占字節數的最大值,即:聯合體所占用的字節數是這個聯合體的所有字段中占用字節數最多的那個字段占用的字節數;

對齊方式Alignment:可用1、2、4、8、16個字節來指定聯合體中各個字段字節的對齊邊界,其缺省的對齊邊界是1字節;還可用使用偽指令ALIGN或EVEN來重新定界,也可使用命令行選項/Zp來定界;

NONUNIQUE:要求聯合體類型中的字段必須使用全名才能訪問;

例如:

DATE UNION

YEAR DB 2010

MONTH DB 07

DAY DB 04

DATE ENDS

B.聯合體類型變量的定義:

聯合體類型的變量只能使用第一個字段的數據類型來進行初始化;例如:

DATE1 DATE ;定義一個聯合體類型變量DATE1,并使用第一個字段的數據類型進行初始化

DATE2 DATE ;初始化錯誤,只能使用第一個字段的數據類型進行初始化;

C.聯合體類型字段的引用:

格式: 聯合體類型變量名.字段名

例如:

MOV DATE1.YEAR,2012 ;給聯合體類型變量字段賦值

MOV AL,DATE1.MONTH ;AL=07

MOV BX,DATE1.YEAR ;BX=2012

MOV DATE1.MONTH,08 ;月份置為8月

(3).記錄類型:

A.類型定義格式:

匯編語言中的記錄類型與高級語言中的記錄類型不同,在匯編語言中,記錄類型是為按照二進制位存取數據提供方便的;記錄類型的說明要用到另一個關鍵字RECORD,格式如下:

記錄名 RECORD 字段[,字段,...]

其中,"字段"代表: 字段名:寬度[=初始值表達式]

說明:記錄名代表該記錄類型;記錄類型可以由多個字段組成,相鄰兩個字段之間用逗號隔開;記錄類型中字段的屬性包括字段名、寬度和初始值;記錄類型中,字段的"寬度"屬性表示該字段所占用的二進制位數,它必須是一個常數,并且所有字段的寬度之和不能大于16(即:有字段的寬度之和大于8,則系統會自動為該記錄類型分配2字節的空間,否則只分配1個字節的空間;記錄類型的最后一個字段排在所分配空間的最低位,然后對記錄中的字段依次"從右向左"分配二進制位,左邊沒有分完的二進制位自動補0;初值表達式給出的是該字段的缺省值,如果初值超過了該字段所表示的范圍,那么,在匯編時將產生錯誤提示信息,如果某字段沒有初值表達式,則其初值為0;

例1:

COLOR RECORD BLINK:1,BACK:3=0,INTENSE:1=1,FORE:3

該COLOR類型的二進制位分布如下圖所示:

該類型的各個字段寬度為:1、3、1、3,所以,該記錄占用8個二進制位,系統為它分配1個字節;

例2:

FLOAT RECORD DSIGN:1,DATA:8,ESIGN:1,EXP:4

該FLOAT類型的二進制位分布如下圖所示:

該類型的總寬度是14個二進制位,所以,系統為它分配2個字節的空間;

B.記錄類型變量的定義:

[變量名] 記錄類型名

說明:變量名就是該記錄類型的變量名,它可缺省,則不能使用符號名來訪問該內存單元;字段值列表是用于給各個字段賦初值,相鄰兩個字段值之間用逗號","隔開,其字段值的排列順序及大小應該按照記錄類型定義時說明的各個字段的順序和大小來排列;如果記錄類型變量的某個字段使用默認值,那么,可用逗號來表示,如果所有字段都是用默認值,則可省去字段值列表,但必須保留一對尖括號"";

例如:

COLOR1 COLOR , ,

FLOAT1 FLOAT ,

C.記錄類型字段的引用:

格式: 記錄類型變量名.字段名

例如: MOV AL,COLOR1.FORE

D.記錄類型的專用操作符:

操作符WIDTH和MASK是專用于記錄類型的操作符,利用它們可用得到記錄類型的不同屬性;

WIDTH:用于返回記錄或其字段的二進制位數,即:記錄類型或記錄類型字段的寬度;書寫格式如下:

WIDTH 記錄名 或 WIDTH 記錄字段名

例如:記錄類型COLOR,那么,WIDTH COLOR的值為8,WIDTH BACK的值為3,WIDTH BLINK的值為1;

MASK:它返回一個8位或16位的二進制數,在該二進制數中,被指定記錄或字段使用的對應位的值為1,否則,其值為0;書寫格式如下:

MASK 記錄名 或 記錄字段名

例如:記錄類型FLOAT,那么,MASK EXP的值為000FH,MASK DATA的值為1FE0H,MASK DSIGN的值為2000H;

記錄字段:記錄字段名是一個特殊的操作符,它本身也是一個操作數,其返回值是該字段移到該字段所在記錄的最低位所需要的位數,即:該字段最低位在記錄中的位置;

例如:記錄類型FLOAT,則有:

MOV CL,EXP 相當于 MOV CL,0

MOV CL,DATA 相當于 MOV CL,5

(4).類型重定義:

已知某一數據類型,程序員可以定義這個數據類型的別名或指針類型.表達這種定義的偽指令是TYPEDEF,其定義形式如下:

新數據類型名 TYPEDEF [位距][PTR] 已知數據類型

其中,"位距"是NEAR、FAR、PROC等;

例如:

CHAR TYPEDEF BYTE ;給BYTE類型定義另外一個別名CHAR,C++中就是: typedef BYTE CHAR

PCHAR TYPEDEF PTR CHAR ;定義一個字符指針數據類型PCHAR,C++中就是:typedef PTR CHAR PCHAR,即:typedef char* PCHAR

那么,下面的變量定義就是合法的了:

CH1 CHAR 'ABCDEF' ;定義一個字符串常量

PCH1 PCHAR CH1 ;定義一個指向字符串常量CH1的變量

這個功能類似于C++語言中的typedef語句;

8.表達式中的操作符:

HIGH(高8位)、LOW(低8位)

SEG(段地址)、OFFSET(偏移量)、TYPE(數據類型)、LENGTH(變量長度)、SIZE(變量容量)

WIDTH(記錄/記錄字段的寬度)、MASK(記錄/記錄字段的屏蔽位),等等;

其中,HIGH和LOW分別用于選取表達式計算結果的高8位和低8位,使用格式如下:

HIGH 表達式 LOW 表達式

9.運算符和操作符的優先級:

優先級: 高 LENGTH、SIZE、WIDTH、MASK、()、[]、.(用于結構字段)、(用于記錄類型)

↓ PTR、SEG、OFFSET、TYPE、THIS、:(用于段超越前綴)

*、/、MOD、SHL、SHR

↓ HIGH、LOW

+、-

↓ EQ、NE、LT、LE、GT、GE

NOT

↓ AND

OR、XOR

優先級: 低 SHORT

10.地址表達式:

地址表達式是計算存儲器單元地址的表達式,它可由標號、變量名和由方括號"[]"括起來的基址或變址寄存器組成;其計算結果表示一個存儲器單元的地址,而不是該存儲器單元中的值;

注意:匯編語言中,對地址數值的運算都是以字節為單位的,而不是以數據類型的大小為單位的;例如:

W1 DW 1234H,5678H

則,地址表達式W1+1處的內存單元中的數據是7812H,而不是5678H;W1+1表示W1為起始地址,其下一個字節單元的地址,W1+2表示從地址W1出開始,其后2個字節單元地址;

11.符號定義語句:

在程序中,經常會用到一些常數或數值表達式,并把它們直接寫在指令值,當時當需要修改的時候,就要對它們逐一進行修改,這無疑就增加了維護程序的工作量,而且每個常量或表達式所代表的含義也容易忘記;于是,匯編語言提供了為常量或表達式定義一個符號名的方法;一旦定義了符號名,在指令中就可以直接使用它們了;這個功能就類似于C語言中使用宏定義指令#define定義常量的功能相似,也與C++中使用const關鍵字定義常量的功能相似;

(1).等價語句EQU

一般格式:

符號名 EQU 表達式

作用:左邊的符號名代表右邊的表達式;

注意:等價語句不會給符號名分配存儲空間,符號名不能與其它符號名重名,即:符號名必須唯一;符號名也不能被重新定義;程序中凡是出現"表達式"的地方,都使用"符號名"來替換;

(2).使用符號名代表常量或表達式

把一個常量或表達式定義成一個具有一定含義的符號名之后,在程序中就可以用該符號名來代表該常量或表達式;例如:

NUMBER EQU 100 ;給緩沖區的長度取一個符號名

BUFF_LEN EQU NUMBER+2

CR EQU 13 ;給"回車"符的ASCII碼定義一個符號名

LN EQU 10 ;給"換行"符的ASCII碼定義一個符號名

(3).用符號名代表字符串

例如:

GREETING EQU 'How are you!'

(4).用符號名代表關鍵字或指令碼

例如:

MOVE EQU MOV ;給指令碼MOV取另外一個符號名MOVE

COUNTER EQU CX ;給寄存器CX取一個叫做"計數器"的符號名

12.等號語句

匯編語言提供了使用等號"="來定義符號常數的方法,即:可用符號名代表一個常數;一般格式如下:

符號名 = 表達式

數值表達式在匯編時應該可以計算出值,它不能含有向前引用的符號名稱;用等號語句定義的符號名可以被重新定義;可把等號語句看成是高級語言中的一個賦值語句,可以被多次賦值,這一點是與EQU不同的地方;例如:

ABC = 10 + 200*5 ;ABC的值為1010

ABC1 = 5*ABC + 21 ;ABC1的值為5071

COUNT = 1 ;COUNT的值為1

COUNT = 2*COUNT + 1 ;COUNT的值為3

注意:偽指令"="和偽指令"EQU"定義符號名時,凡是在程序中出現符號名的地方,都是用右邊的常量或表達式來替代;

13.標號定義語句

該語句定義一個指定的符號名,該符號名的段地址和偏移地址與下面緊跟存儲單元的相應屬性相同,但是,該符號名的類型是新指定的;

LABEL語句的一般格式如下:

符號名 LABEL 數據類型

常用的數據類型有:BYTE、WORD、DWORD、結構類型、記錄類型、NEAR、FAR;

其中,前五中類型是變量的類型,后面兩種類型是標號的類型;如果格式中的"數據類型"是前面五種類型之一的話,"符號名"就是變量名;如果格式中的"數據類型"是后面的兩種類型之一的話,"符號名"就是標號名;變量名和標號名都具有段地址和偏移地址的屬性;

例如:

WBUFFER LABEL WORD

BUFFER DB 200 DUP(0)

這個LABEL定義語句中,WBUFFER與BUFFER具有完全相同的段地址和偏移地址,但是它們的數據類型不同,目的就是為了使用兩種不同類型的操作來訪問同一塊內存區;

注意:偽指令本身不占用內存空間;

暢學單片機 以單片機為核心,帶你全面了解和單片機相關的知識技巧,經驗心得。關注我們,一起來學習吧!
評論
  • 產品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩定。嘗試自行設計一個。整體采用分立三極管 + TL431架構,分4個功能單元:使能控制回路、限流環路、TL431 精密恒壓反饋環路、PNP 功率管主功率輸出回路;實現完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經 R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節點電位;該節點直
    southcreek 2026-08-07 13:45 475瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 361瀏覽
  • 樓宇自控里的“巴別塔”一棟智慧樓宇、一個產業園區里,暖通空調運行著廠商私有協議,照明系統遵循專屬通信標準,變配電、門禁安防各成體系——設備間數據壁壘森嚴,上位平臺對接全靠定制化 “翻譯” 開發,不僅成本高企,交付周期也難以管控。這就是樓宇自控行業多年的痛點:協議林立、封閉林立。而破局的鑰匙,早在30多年前就已經寫好了——BACnet。作為ASHRAE制定的樓宇自控國際標準協議,BACnet是如今全球樓宇自控系統(BAS)互聯互通的“通用語言”。新風機、冷源群控、變配電、照明、門禁,凡是需要被樓宇
    飛凌嵌入式 2026-08-10 09:26 193瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 212910瀏覽
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 199瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 512瀏覽
  • 讓微弱脈沖信號更清晰——鎖相放大器集成Boxcar平均器在脈沖激光、泵浦-探測、時間分辨光譜、飛行時間質譜等實驗中,真正需要測量的信號往往只出現在一個很短的時間窗口內,卻被淹沒在遠大于它的噪聲和背景之中。 針對這類穩定重復的微弱脈沖與瞬態信號,賽恩科儀為OE2052雙通道數字鎖相放大器帶來全新的Boxcar Averager功能升級:在鎖相檢測之外,進一步提供從周期波形觀察、門控測量到多周期平均的完整數字Boxcar測量鏈路。 Boxcar平均器,如何從噪聲中“截取”目標信號?Boxcar平均器
    SSI_賽恩科儀 2026-08-07 15:49 14007瀏覽
  • 摘要東莞市恒創連接器有限公司(HCHGCONN)是位于廣東東莞的連接器源頭制造工廠,專注于連接器國產替代、小間距大電流連接器、線對板連接器、線對線連接器、板對板連接器、電源連接器及定制連接器開發。公司面向工業自動化、新能源儲能、BMS、汽車電子、AI服務器、GPU供電、通信設備、醫療設備和智能家居等場景,提供從產品選型、替代評估、樣品驗證到批量交付的一站式連接方案。恒創可支持 Molex、TE Connectivity、JST、Hirose、Samtec 等國際品牌部分系列的國產替代評估。常見替
    HC003 2026-08-07 10:14 156瀏覽
  • 做電池供電攝像頭、可視門鈴、戶外安防的同學應該都踩過這個坑:攝像頭要拍,ISP、sensor、無線模塊全得開著,整機電流動輒幾百 mA。一節 18650 撐不了幾天,用戶投訴“怎么又沒電了”。有人會說:加個 PIR 人體紅外不就行了?問題是 PIR 怕熱、怕寵物、怕隔著亞克力/玻璃殼,而且只能感知“有溫差的人體移動”,靈敏度飄忽。真正省電的思路應該是:讓攝像頭平時徹底睡死,只有“前面有人/有動靜”時才被一鍵喚醒——而負責這個“看門”角色的,最合適的是一顆低功耗雷達。一、為什么是雷達,而不是 PI
    唯創知音語音芯片 2026-08-07 14:44 171瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • 一、方案簡介在Buildroot構建的嵌入式Linux系統中部署Flutter應用,主流有兩套成熟的開源方案,分別適配不同的顯示場景與開發需求:方案一:flutter-elinux(Sony開源方案)由索尼官方維護的嵌入式Linux Flutter工具鏈,既支持DRM/GBM直接渲染,也兼容Wayland、X11等多種顯示后端,場景適配性更廣。方案二:flutter-pi(輕量級嵌入器)一款輕量級Flutter引擎宿主程序,僅基于底層DRM/GBM接口實現渲染,無需依賴桌面環境,資源占用更低,更
    飛凌嵌入式 2026-08-07 09:34 153瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 藏珠短剧在线观看| 午夜寂寞| 千星之城电影高清完整版在线观看| 《需要爸爸播种美国》意大利演员名| 执迷1V2海棠| 僵王处刑曲| 私人女性監獄| 《孤舟》免费观看| 迪亚哥全集| 《甲种公牛》意大利| 常高兴的酸甜苦辣电视剧| 宇宙骑士2| 《女超人(麦乐迪)》在线观看| 旋转的爱中文版| 在线观看蜜桃17| 几度菊花香电视剧免费观看完整版| 上海出轨女老师| 中业岛地图| 丁俊晖一年收入| 与僧侣交合之夜| 深圳空姐艳照门| 姚乐怡三级| 电影刘三姐| 特殊治疗按摩1-6| 美国《不忠》原版| 黄沙渡电视剧免费播放在线观看 | 青青河边草原免费视频| 和部长一起去出差旅免费观看完整版| 高清《黑道家族》| 斑马电影院| 脱口秀演员李昊石被警方立案调查 | 《强制窃贼》| 浩哥闹县衙| 辽宁卫视在线直播观看| 乡村爱情五| 电影《姐妹牙医》完整版哪里可以看| 滨崎步演唱会高清| 爱我几何电影完整版免费| 寻找所罗门王的宝藏| 回复术士全集免费观看完整版高清| 战狼6双人免费高清完整版| 边陲威龙| 高压监狱1时43分多少| 单身首尔电影| 未生 电视剧| 粉红满天星36| 自制药救子父亲说现在更有希望了| 搬家工的绝遇2免费看| 电影午夜12点正片免费看| 兔子帮图片| 禁忌4年转一代| 黄家驹歌曲| 花蝴蝶4电视剧在线播放免费观看 战狼6双人免费高清完整版视频下载 | 公的浮之手中文字幕高清版 | 事物的秘密水池一段是多少| 女皇之刃下载| 杜拉拉升职记电视剧| 美丽的海棠红5| 无接触洗车机| 俄罗斯需要爸爸播种电影| 上海第一财经广播| 庆余年电视剧第二部| 电视剧糟糠之妻| 《借种生子》电影免费观看| 青平梅电影| 都铎王朝第一季qvod| 神奇女侠成人H版在线| 恶夜活死鸡| 七大罪第一季| 古墓丽影(法国版)女版播放| 红苹果短剧免费观看| 美丽小瘦子7| 很想很想你免费观看完整版| 丈夫的上司来家拜访日剧| 田纳西ARI和JAY| 幸存者第二十六季| 麦乐迪 女超人| 大嫁风尚免费观看全集完整版高清| 新继牳3| 电视剧婚变| 除却巫山百度影音| 小丑1电影在线观看免费| 善良的嫂子2电影| 牙医姐妹在线完整播放电影| 经典947| 电影《牙医姐妹》在线看| 姚二嘎吸毒| 斧头帮舞蹈| 扎职粤语完整版| 犬神与七位伙伴| 《外卖员的特殊待遇》| 巴厘岛的故事电视剧免费观看全集| 需要爸爸种子电影在线观看| 迷人的保险销售员| 火口的两人 原版| 娼年在线观看| 黑暗侵袭2高清| 公孚之手9| 花样少年少女全集观看| 《伊波拉病毒》普通话 | 蜜桃成熟时33d国语在线| 沙漠行动在线观看免费完整版| 雅安第一网红琼姐身世| 壮志凌云女版满天星在线观看完整免费高清| 普法栏目剧日出| 电影《逆罪》免费观看| 新常态电影| 美谷朱里| 建国门枪击事件| 予你半生| 《女员工的付出》中文| 星动烟火| 电影《美味快递员2》免费完整版 《法国空乘4》免费完整版 | 成全在线观看高清动漫| 一年级大学季| 黑帮老大和我的365天完整| 情靡短剧全集免费观看完整版| 爱恨之约9| 八戒八戒10在线观看全集免费| 名侦探柯南绀青之拳免费观看| 法国航空空姐2016中文版视频| 电视剧井冈山36集播放免费完整版| 我们的翻译官免费观看| 我们恋爱吧第6季| 云南恐怖袭击| 山河令电视剧全集在线观看完整版| 法兰西特派| 部长出差的日子在线| 年轻的母亲韩国在线| 私人航空1法国满天星免费播放| 法国空姐2018不难空乘| 爱我几何《莫妮卡》电影完整版中文| 国产人妻与上司午后出轨 | 电视剧扫黑风暴| 青春在线观看| 星克莱尔《X迷宫》播放| 铁齿铜牙纪晓岚2| 漂亮的瘦子 4| 德克里克堡| 小凤新婚全部免费观看| 西虹市首富 电影| 今日宜喜欢短剧| 这个勇者明明超强却过分慎重| 禁止想象韩国电影| 外卖小哥刮刮乐中25万| 印度电影最毒美人心| 星克莱尔《X迷宫》播放| 3D肉蒲团在线看电视| 哇嘎免费观看完整版视频| 仁心俱乐部电视剧全集免费观看| 要爸爸的种子美国电视剧| 食物链01| 新金平瓶梅| 高清《只要你过得比我好》结局| 妓院十二房| 冰冷热带鱼完全版| 邱淑贞三级片| 我的游泳女教练3季中文版| 凡人修仙传动画40集| 爱丫爱丫高清免费观看电视剧| 高清《猎杀》免费观看| 电影禁忌3大结局| 刑警使命电视剧全集免费观看| 插曲的痛第60集全集在线播放| 千山暮雪短剧免费全集观看| 拳击手在线观看| 山村老尸最老版本| 我们是兄弟电视剧| 爱不懂事| 《荒岛美人鱼》电影在线播放| 生生世世爱简谱| 夜火电影完整版观看| 《和讨厌的部长出差旅》| 梦回青河| 插曲的疼| 金瓶梅 高清完整版 bt| 麦乐迪女超人免费完整版满天星 | 看孙悟空三打白骨精| 陪讨厌部长去出差旅日本| 金瓶酶2全集观看| xl司令34集全免费观看| 甄嬛传电视剧完整版免费观看高清| 电视剧乡村名流| 插曲的痛60全集免费观看高清版古装 | 四个少妇全身稞体精油按摩| 极限挑战 直播| 痛的插曲| 道德底线电视剧| 色即是空2015字幕| 烽火佳人电视剧| 与我同眠迅雷下载| 黑衣人高清下载| 和搜子同屋的日子2免费观看在线| 古惑仔1人在江湖高清| 电影在线观看完整版免费励志| 甜性涩爱全集在线观看| 少林足球国语高清| 许磊苏雨若短剧免费观看 | 漫步云端国语版| 撞邪先生| 天山暮雪电视剧全集| 甜蜜蜜电影下载| 玉龙| 高清非传统浪漫关系| 《私人家教》在钱1983| 北京地铁电视剧| 奸魔| 获取信息的方法| 按摩师被弄到高潮A片| 保姆与保安| 韩国伦理部长来我家| 未来影院手机版在线播放版| 麦乐迪家庭矛盾完整版| 古惑仔免费观看| 《站着再来一次》| 专家建议对50万以上存款收税| 《私密女性监狱》中文| 劳荣枝案将再开庭 受害者之妻发声| 爱情电影完整版朴诗妍| 斗罗大陆在线观看完整版免费观看| 【中文字幕】IPX668新任女教师中出笼城轮姦 白峰美羽 - 色网 | 电视剧说谎的爱人| gogo高清视频在线观看| 小姐的夜生活| 爱属我心高清| 灵丘县| 一只梨花压海棠| 国产伦孑沙发午休精品| 我爱男保姆在线观看| 办公室女王| 迷魂记免费| 献身舒淇| 漫长的季节在哪个平台看| 有夫之妇4| 猩球崛起4新世界免费高清观看| 长相思第三季| 诡秘之主免费看| 和表姐同居免费观看| 离婚前规则多少集| 恐龙 2000 电影| 有一个姑娘赵薇| 妈妈的男朋友电视剧免费观看全集| 《我的时代 你的时代》 | 英雄电影免费观看完整版| 超人麦乐迪。| 霹雳布袋戏免费观看网站| xl司令动漫。视频| 永生守卫2妹妹归来| 法国护士长免费在线观看| 惊弦电视剧在线观看全集| 法国空姐第4季完整版| 八哥的电影完整版| 牙医姐妹电影在线观看免费高清下载| 美女化妆前后对比| 隔山有眼3电影免费完整版| 《女房客2》电影| 韩国售楼小姐电影免费观看高清版| 亲爱的妈妈4韩国完整版观看| 《风流女管家| 嫡女毒妃:重生飒爽短剧全集| 韩国空姐2024满天星法版演员表| 独立日 电影| 搜救官| 陪你一起长大电视剧| 善良的女销售| 乡村爱情13部全集免费刘能| 男女一起愁愁愁免费观看全集高清完整 | 锵锵锵免费完整观看在线观看电影| 娃娃解说| 菠萝蜜电影免费观看| 3d 蒲团| 古墓丽影法国版女版在线观看| 风火雷电破手势图解| 北越暴行2完整版免费| 吞噬星空动漫在线观看39集| 《酒店》1-100集免费观看在线| 寒门赘婿全集免费| XL司令第一季免费全集在线| 丫丫预计今日返京| 插曲的痛30集免费观看第二季 | 麦乐迪和父亲争执电影| 哥布林的窑洞第一季| 比尔HR版满天星| 重游母亲桃花源| 重蓬:丈夫的部下是初恋 | 美国满天星《无法无天》2012| 红娘子3| 泰兴市| 金刚2帝国崛起免费播放| 错位的遗憾歌曲原唱赵洋| 地震高岗| 沸腾人生| 天空城电视剧| 有翡在线观看免费全集| 公与浮之| 小日子全部免费播放电视剧| 家属动漫全集完整版| 金梅瓶2 国语在线播放| 妓院里的中国姑娘| 黑帮大佬和我的365五天| 荷尔蒙 6| 种田发家短剧全集| 美丽小蜜蜂3美国版| 比蒙巨兽| 快乐的大脚百度影音| 《法国空乘8》| 莲花楼全集在线播放免费| 小辣椒3美国伦理| 黑人男友| 周生如故 在线观看| 陆小凤传奇绣花大盗| 迷人的后妈韩国中文在线观看| 争艳女王| 一路向西观看地址| 电影秘密情事| 韩剧《上司的秘密》电视剧| 千年血战篇| 小蝌蚪找妈妈电影| 正在播放: ROE-417 在见证女儿幸福的同时……却在婚礼宴席上,被女婿侵犯的母 | 圣天门口| 星汉灿烂电视剧全部剧集| 人民的名义2| 风犬少年的天空百度云| 再爱一次| 牛郎织女全集| 《外出》2015版| 工藤拉拉免费| 踏血寻梅电影完整观看| 曹查理电影全部免费观看| 劳拉失魂记| 千斤肉板栗1985| 亡者之谜泰剧在线观看泰剧| 一起愁愁高清版在线看正版 | 中岛美雪 翻唱| 复仇女王:渣男都跪下全集免费| 海底小精灵| 广场舞最美西藏| 熊出没?重启未来电影| 登山的目的韩剧| 朋友的姐姐4线观高清2电影| 电影《以色列女狱警》在线观看| 花咒电影完整版| 张警官三部曲在线播放哪里看| 万家灯火养生2013| 黄色仓库电影| 爱情心心相印电视剧免费观看| 渔夫荒野史电影完整版| 破密 电视剧| 溧阳市| 电视剧三生三世在线观看全集| 绿媒是什么意思| 除恶飞车党在线观看| 冰雪女皇| 高清毒劫| 你好儿科医生第三季免费观看| 德川幕府罚史三部曲之水月篇| 好男人电视剧免费播放完整版| 法国空乘2013| 铃村健一drama| 色戒未测减除版| 开端免费观看全集完整版| 食为奴国语| 农场主三姐妹美国1976豆瓣| 低碳经济首次出现的官方文件是 | 半路兄弟电视剧30集免费完整版 | 类似周末同床的电影| 怒水西流| 啄木鸟《军事不当行为》| 曲剧清风亭全场| 坎贝奇三部曲免费版观看| 告诉我你想要什么 电影免费观看| 男女在一起愁愁愁视频| 我在韩国当媳妇| 三农资本| 变脸迷情| 《心动的信号》第八季| 猎战狂徒电影| 农场主和他的三个女儿们| 《和部长一起去出差旅》韩剧丈夫不| 亲爱的妈妈4韩国在线观看| 最近有点怪真人电影原声| 易经风水涣| 通海县| 替身演员全集免费| 中国游客在日本遭抢劫被砍伤| 《咱们结婚吧》电视剧免费观看| 仙逆123全集抢先看| 強暴強姦敵國女士兵电影在线观看| honeygirl| 男女愁愁愁在线观看| 你比星光更美丽免费观看全集| 一个好妈妈的D5申字中头| 疯狂的交换女友第一部| 新警察故事3| 蜂巢电视剧哪个平台播放| 故乡的泥土一共多少集| 《恋雪纪》完整版免费看| 无颜之月在线看| 美国伦理《需要爸爸播种》演员名字| 神医弃女短剧全集| 公浮之手中字9| 孔雀明王真言| 匆匆那些年电影| 人民的名义55集全集免费观看| 哈尔的移动城堡日语| 特殊美发美容3| 终极追捕电视剧全集免费观看| 台湾版《新婚之喜》完整版| 疯马秀完整视频| 姐姐的朋友网站| 薛丁山电视剧免费看| 杨敏思版1-5集电视连续剧 | 九重紫电视连续剧免费观看高清| 丹麦《红粉监狱》剧情介绍| 断刀 朝鲜战场大逆转| 《鸿门宴》电影免费播放| 八零搞钱:重生宠妻短剧全集| 男人女人愁愁在线观看| 望月加奈| 私人助理2法国版电影在线看| 伦理《法国护士长》-完结国语版全集| 欧式少女第16集全集剧情介绍视频| 鉴证实录2| 恋爱FLOPS| 变形金刚4dvd版| 上流社会2018未删减在线观看| 古墓丽影法国版| 雷速登闪电冲线第3部全集| 妈妈的职业5韩剧| 小丑免费| 跨国阴谋| 伊甸园 韩国综艺| 爱情公寓3 21集| 午夜寂寞电影| 闪婚厚爱:总裁别太宠短剧全集| 美丽的小樱桃美国主演 | 恶女阿楚| 行运一条龙粤语| 澳门风云电影国语| 镜双城电视剧在线观看网站| 韩剧公司下属的老婆| 禁止的爱善良的小蛦子 在钱| 食物链美国大尺寸148| 无颜之月第一季动漫全集| 双龙会高清完整版免费观看| 妖魔道之神仙学堂| 朱门巧妇| V酒店第一季完整版在线观看| 离婚律师结局| 美发店的待遇5HD中文| 排球少年第四季免费| 庆余年2首支预告| 工藤拉拉在线电影| 德国炸毁最现代化电厂| 插曲的痛3季在线观看| 蜜耻母在线观看| 非洲人与性动交CCOO| 黑夜传说4电影| 魔童降世| 坎贝奇无憾无删减版资源| 米尼的第一次| 鲜城| 将门嫡女:沙场不输男儿短剧全集| 多情成仁高清影视首页| 免费A1片| 火遮眼谢苗电影完整版| 台湾黛比| 吃瓜群众爆料免费观看在线观看 | 意大利八尺夫人在线观看| 天生一对泰剧全集免费观看泰剧| 铿锵铿铿锵铿锵免费观看 | 钢铁巨人| 麻豆《维修艳遇》在线| 阿信的故事电视剧在线观看| 入室暴行2免费观看完整版 | 《侄女开发日记》动漫免费观| 金花瓶1999| 待嫁老爸 电视剧| 忘忧草跳转接口点击进入网站| 可爱的妹妹| 国风按摩院在线播放免费观看最新章| 吕继宏歌曲咱老百姓| 战狼6免费观看在线播放下载高清 《卖房子的女销售》完整版 | 爱欲韩国电影| 水富县| 目光所及之处| 盲井全集免费观看完整版| 潘金莲1-5| 中国直销论坛| 私密按摩师电影在线观看中字| 养父电视剧大结局| 奇怪的美发乌龙沙| 插曲的痛30集全集免费播放电影下载| 神龙赌圣| 深圳都市频道| 登陆之日迅雷下载| 匆匆那年:好久不见2015王萌黎 | 伊拉克战记| 花子vs倔强驱魔无删减版立即播放 | 变节之潜罪犯| 我是刑警策驰影院| 塔日酒店无删减在线播放| 聊斋奇谭电影在线观看完整| 正在播放: JUQ-101 在没有我丈夫的五天里,我被命令禁欲到第一个晚上。不想要 | 360大佬爱上我第一季完整版| 联手复仇虐渣:双胞胎姐妹短剧全集| 蒋依杉个人资料| 监狱生活电影| 七夜雪电视剧在线观看完整版免费 | 笨女孩在线观看免费完整版 | 美丽妻子替丈夫还债电影完整版免费| 五十度灰高清完整版电影| 五十度灰在线未删减在线观看| 大耳朵图图第二季全集下载| 青木玄德| 需要爸爸播种籽2演员名字 | 筱崎美沙| 睫毛膏4美国版中文版| 赵振栋演的绝对臣服短剧| 山村老尸最老版本| 两个母亲中字ID演员表爱人| 大哥的宝库免费观看全集高清| 销售的秘密2| 暮光之城 破晓| 天地英豪第三部| 白峰高清在线观看免费| 千方百计爱上你2015| v酒店第一季在线观看免费版| 无心法师金晨| 电影双胞胎在线观看| 。金银15美国欧式少妇16集全电视| 无限复活粤语| 《完美世界》在线观看| 还珠格格第二部剧情| 理想之城全集| 战狼6欧式少女高清观看| 遮天全集免费观看完整版视频| 西西里岛的美丽传说| 禁忌5:偷欢| 愈合伴侣韩剧在线观看| 美容特别待遇5HD| 开封奇案电视剧全集免费观看| 三年在线观看免费大全一集| 聊斋2之天宫美人| 鬼话怪谈祥云寺| 阿瓦人民唱新歌| 女学生被爆视频在线观看| 红苹果短剧免费观看| 国风按摩院1-5季电视剧免费观看 无憾坎贝奇电影完整版在线播放免费版 | 丈姆娘来了全集| 《性的暴行》DVD版| 动漫在线观看免费全集| 加油吧实习生全集| 妻子和讨厌的部长出差| 美国超级星期二| 我的幸福婚姻真人版电视剧| 初恋那件小事电视剧高清观看| 青岛DJ小可| 兄弟的老婆电视剧| 哈利波特3国语版| 晚娘国际版| 和部长一起去出差旅电影叫什么名字 | 风中奇缘全集| 姐妹牙医电影在线观看| 天降艳福不是福| 桥隆飙2| 耍要爸爸播种子| 120天索多玛电影在线观看| 玩具总动员1| 致命弯道4电影| 似曾相识短剧免费观看| 日本电影和部长一起去出差旅的日子电影完整版| 无良公会无修改板| 张钰 录像| 美容室特殊待遇| 龙八夷在线观看| 琪琪布网站| 我的好兄弟的女朋友短头发| 康家电视| 堕落女教师在线观看| 姜汉娜《完美邻居》姜汉娜姜扮演者mm| 宋小宝2022年最新小品| 森奈奈子| 爱你心跳难触摸短剧免费观看| 美国怪谈第一季| 天美影院免费观看电视剧下载| 二婶电视剧全集| 哀乐大全| 《新来的瑜伽教练》| 爱丽丝学园邪恶彩画| 蜜桃成熟之时33d| 聊斋之艳蛇电影| 法政先锋第2部| 同学的妈妈中韩双字ID贤宇| 不知火舞vs外星人之h| 原神申鹤掀起奶盖黄XMAN| 《总统》(星克莱尔)在线观看| 免费视频电影免费完整版观看| 羊了个羊规则| 《满天星父亲的秘书》全集| 欢喜冤家电影| 哲仁皇后| 高级教师韩国| 神偷奶爸3(普通话)| 盯住你不放| 电影《纱荣子美容院的特殊待遇》| 别和陌生人跳舞全集| 金粉世家电视剧免费观看| 南海归墟| 电视剧抗战奇侠| 法国满天星《八尺夫人》免费观看| 春梦伊人| 兵团岁月电视剧| 僵死电影| 刃牙第三部| 十七岁在线观看高清电视剧| 电影《美味快递员》演员阵容| 电影 奋斗| 韩国电影免费高清观看| 家庭矛盾麦乐迪| 新白娘子传奇50集免费看高清| 韩剧大度电影在线看| 私人航空免费观看完整版| 地铁惊魂2009| 亲爱的姑娘我爱你dj| 双人按摩调情术免费观看完整版 | 她回来的那天| 乐高幻影忍者乐高| 无憾坎贝奇无删减版在线看| 用我的手指搅乱吧全集| 长生俱乐部| 荷尔蒙6美国版| 魔神英雄传| 今天有七星连珠吗| 人猿泰山电影1995版在线播放| 名侦探学院7| 新乱世佳人第9集最火的一集| 《夫人的嘴唇》在线观看 | 全职高手动漫第二集| 湿润的继拇HD中文泡泡 | 伦理《私人护士》| 越狱第一季| 搭讪大师tv| 云中玫瑰国语版| 神与律师事务所未删减| 《私人航空》免费观看在线观看| 高清《偷香》电影在线观看| 《沉默》完整版| 战狼6老姨免费观看电视剧| 克拉运河计划| 变形金刚4百度影音| 女部长做爰HD中字| 中国医生在线播放| 爱的罗曼史| 安娜女子监狱的电影| 一路向西 电影天堂| 黑帮少爷爱上我免费观看第一集泰剧 | 一路向西电影完整版下载地址| 我和我们在一起免费看| 《荣誉之战》满天星版在线观看| 我的姐妹免费韩剧电视剧| 情深深雨蒙蒙36| 禁忌1-4保罗一家| 潜行狙击之潜罪犯| 八仙全集| 邻家女人丈夫不在的日子| 驯龙高手电影| 郄姓氏怎么读音是什么| 《渔夫的荒野史记》| 春秋乐队| 韩短剧《治疗》观看| 妻子6免费完整版高清韩剧观看| 小马宝莉第二季| 恶少的毒爱| 牝教师4在线观看视频| 美国电影《杀手》| 摇曳庄的幽奈小姐动漫| 坎贝奇作品《品味人生》 | 姐姐的朋友未删减版| 第七座墓志铭电视剧| 老金照顾两个儿媳妇慧珍和宝拉的电| 每个夜晚我们都有人站出来| 屠龙少年历险记| 情趣酒店激战1至5集| 变形金刚2全集| 泽塔奥特曼普通话免费版在线观看| 维修工的艳遇HD2| 我的莫格利男孩| 播九公社| 《灌篮高手》大电影| 小王日记毛不易| 贺州市| 卖房子的女销售3免费| 《逍遥》电视剧| 白燕升个人演唱会| 维修工的艳遇理论片免费看| 赌博默示录第三季| 《新聊斋志异》电视剧| 欧式少女16集全集高清| 隋唐演义电视剧| 黛恩的爱情故事在线观看| overflower动漫第1集到第8集| 军人粗大的内捧猛烈进出视频| 全球最让人害羞的时装比赛| 女警坠落| 如果.爱| 卿本佳人 在线| 战狼6免费下载| 清落电视剧免费观看高清完整版| 真相2012| 正定县| 18av手机可以看的| 星球大战原力释放| 大帅哥粤语| 动感之星168集妖精全集视频在线观看 | 极恶非道3电影高清版免费观看| 蒲公英的吃法大全| 需要爸爸的种子在线观看| 箭在弦上电视剧1一48集免费观看| 科学怪妓在线观看| 南溪县| 法国护士长在线免费观看| 回复术士的重启人生第九集| b级计划文件完整版| 牙医姐妹电影完整版| 梦之安魂曲| 路亚发烧友| 刻晴大战史莱姆在线观看| 电影杜十娘完整版| 相亲相爱20160808| 空中服务员免费高清原声满天星| 熟年中出交尾六十路七十路超清版 | 终极一班3部第一集| 天海翼秘密女搜查官影视| 机甲兽神2| 天机算不尽| 金银悔1-5国语高清免费看| 与青春有关的日子2我要活下去| 第五元素| 浙江省| 束缚游戏无码免费观看| 女子在洱海裸泳 警方介入| 武汉dj| 妈妈打电话6| 白蛇传奇全集| 以法之名 电视剧| tobo4| 电视剧浪子燕青| 电视剧六姊妹剧情| 月上朝颜电视剧免费观看完整版| 美式保罗1980| 街机西游记| 人龙传说国语版| 风流女管家满天星| 翁虹的全部电影| 戏说台湾全集| 人民警察电视剧| 牙医姐妹电影免费版在线看| 足球小子小学国语版全集| 阳光下的冰器| 凌云壮志(欧美)满天星斯托亚| 猛士极品FREEDOM| 李洛夫奇案| 电影《美容院的特殊待遇》纹身女演 | 风中奇缘2| 朋友的姐姐2016| 爸爸为我播种| 摩登原始人英语| 哈哈哈哈哈哈三季| 《维修人员的培训》| 超级床上| 广场舞爱情这杯酒谁喝都得醉| 死亡山地| 爱上同学妈妈| 明明不喜欢免费观看电视剧| 张本智和领奖台上唱国歌| 金刚大战哥斯拉1| 渔夫荒野史完整版免费观看高清| 电视剧我的左手右手| 孙千黄景瑜冬至免费观看| 金银梅5至10普通话| 香港金瓶梅| zeus残酷女战士系列| 中国远征军高清下载| 赤子板《姐妹牙医》百度云| 武藤绫香番号| 电影亲密| 镖行天下前传之库丁之谜| 牙医姐妹完整版视频| 千金肉板栗电影在线| 电影弹道| 战锤40k电影在线观看完整版| 和平县| 战狼9欧式少女电影| 《刃牙道:无敌武士》| 吉娜 维尔德| 日军在越南的暴行2| 《overflower》动漫全集 | 美乃雀在线| 高清《囚禁时间》电影免费观看全集 | 高山清渠电视剧在线观看| 镉超标大米| 在线观看免费版高清短剧| 美国忌讳1~4| 喜爱夜蒲2 完整版| 《子夜归》在线观看| 天美影院在线观看电视剧| 星汉灿烂西瓜免费观看| 人世间电视剧免费观看| 韩国免费爱情电影大全| 美味快递员特殊待遇免费版| 野花日本免费高清7| 麦蒂自抛自扣| 高校教师赤子板栗| 韩国售楼小姐电影在线观看完整版| 《爱恋》电影完整版在线观看 | 《法国空乘2》免费观看全集| 九号平衡车nano| 妈妈的小救星短剧免费观看| 入戏 曹格| 本乡爱,二阶堂梦在线观看| 末日飞船| 能帮我弄干净吗?| 电影活色生香| 《倔强的驱魔师》1-4集| 高清《柳舟记》免费观看| 人鱼小姐央视版全集| 大梦归离在线观看全集免费播放| 五号特工组电视剧全集在线观看| 善良的妈妈中字开头9个字| 听说 电影| 詹俊英超精华| 房东女2| 叛逆儿子单身妈妈| 赤坂丽的牙医姐妹在线电影| 六姊妹电视剧在线观看全集完整版| 兄弟老婆| 眉姐小男人| 电视剧大话西游| 金庸武侠电视连续剧免费观看| 新版娃娃脸9免费观看高清 | 单身男女2| 苏醒电视剧| 女超人麦迪娜1080p满天星版| 法国外籍兵团谈论站| 釜山行2在线观看完整版免费| 破地狱粤语| 不伦纯爱| 需要爸爸播种籽在线| 夏洛特女王电视剧免费观看| 台军演练机场被炸瘫痪|