久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

8086汇编语言精华笔记总结~

發(fā)布時(shí)間:2023/11/28 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8086汇编语言精华笔记总结~ 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 第一章 匯編語言的基礎(chǔ)知識
    • 1、計(jì)算機(jī)系統(tǒng)概述
      • 硬件(Handware)
      • 軟件(Software)
    • 2、匯編語言介紹
    • 3、數(shù)據(jù)表示
      • 1. BCD碼
      • 2. ASCII碼
      • 3. 真值和機(jī)器數(shù)
      • 4. 補(bǔ)碼
    • 4、8086微處理器
      • 1、通用寄存器
      • 2、標(biāo)志寄存器FLAGS
      • 3、指令指針I(yè)P
      • 4、段寄存器
        • 段超越前綴指令
        • 計(jì)算機(jī)中信息的單位
        • 數(shù)據(jù)的地址對齊
        • 存儲器(men)的分段管理
    • 5、8086尋址方式
      • 1、指令的組成
      • 2、8086的機(jī)器代碼格式
      • 3、立即數(shù)尋址方式
      • 4、存儲器尋址方式
        • 1. 直接尋址方式
        • 2. 寄存器間接尋址方式
        • 3. 寄存器相對尋址方式
        • 4. 基址變址尋址方式
        • 5. 相對基址變址尋址方式
      • 5、尋址方式的多種表示方式
      • 6、各種操作數(shù)的表達(dá)
  • 第二章 8086指令系統(tǒng)
    • 1、數(shù)據(jù)傳送類指令
      • 1. 傳送指令MOV
      • 2. 交換指令XCHG
      • 3. 換碼指令XLAT
      • 4. 堆棧操作指令PUSH、POP
      • 5. 標(biāo)志傳送指令
      • 6. 標(biāo)志位操作指令
      • 7、地址傳送指令
        • 有效地址傳送指令 LEA
        • 指針傳送指令 LDS 和 LES
    • 2、算術(shù)運(yùn)算類指令
      • 1、加法指令A(yù)DD、ADC、INC
      • 2、減法指令SUB、SBB、DEC
      • 3、求補(bǔ)指令 NEG
      • 4、比較指令CMP
      • 5、乘法指令MUL、IMUL
      • 6、除法指令DIV、IDIV
      • 7、符號擴(kuò)展指令CBW、CWD
      • 8、十進(jìn)制調(diào)整指令
        • 壓縮BCD碼調(diào)整
        • 非壓縮BCD碼調(diào)整
    • 3、位操作指令
      • 1、邏輯或指令 AND
      • 2、邏輯與指令 OR
      • 3、邏輯異或指令XOR
      • 4、邏輯非指令 NOT
      • 5、測試指令 TEST
      • 6、移位指令(shift)
      • 7、循環(huán)移位指令(rotate)
    • 4、控制轉(zhuǎn)移類指令
      • 1、無條件轉(zhuǎn)移指令 JMP
      • 2、條件轉(zhuǎn)移指令 JCC
      • 3、循環(huán)指令(loop)
      • 4、子程序指令
      • 5、中斷指令
    • 5、處理機(jī)控制類指令
      • 1、空操作指令 NOP
      • 2、段超越前綴指令
      • 3、封鎖前綴指令 LOCK
      • 4、暫停指令 HLT
      • 5、交權(quán)指令 ESC
      • 6、等待指令
  • 第三章 匯編語言程序格式
    • 1、匯編語言程序的開發(fā)
      • 1、匯編語言程序設(shè)計(jì)的語句格式
      • 2、匯編語言的程序格式
      • 3、匯編語言的開發(fā)過程
      • 4、DOS系統(tǒng)功能調(diào)用
        • 功能調(diào)用的步驟
        • 輸入輸出類調(diào)用
          • 1、字符輸出:
          • 2、字符串輸出:
          • 3、字符輸入:
          • 4、字符串輸入:
          • 5、按鍵判斷:
    • 2、參量、變量和符號
      • 1、參數(shù)
        • 1. 常數(shù)
        • 2. 數(shù)值表達(dá)式
        • 3. 地址型參數(shù)
      • 2、變量定義偽指令
        • 1. 變量名
        • 2. 位指令助記符
        • 3. 初值表
      • 3、變量和標(biāo)號的屬性
    • 3、程序段的定義和屬性
        • exe程序
        • com程序
      • 1、簡化段定義偽指令合集
        • .MODEL存儲模型位指令
        • 簡化段定義偽指令
        • .STARTUP 程序開始偽指令
        • EXIT [返回參數(shù)] 程序終止偽指令
        • END [標(biāo)號] 匯編結(jié)束偽指令
      • 2、com程序的編寫
      • 3、完整段定義偽指令
        • 完整段定義位指令
        • 指定段寄存器偽指令
        • 段組偽指令
        • 段順序偽指令
      • 4、簡化段定義格式的段屬性
  • 第四章 基本匯編語言程序設(shè)計(jì)
    • 1、順序程序設(shè)計(jì)
    • 2、分支程序設(shè)計(jì)
      • 1、單分支程序設(shè)計(jì)
      • 2、雙分支程序設(shè)計(jì)
      • 3、多分支程序設(shè)計(jì)
    • 3、循環(huán)程序設(shè)計(jì)
      • 1、冒泡法
      • 2、串操作類指令
    • 4、 子程序設(shè)計(jì)
      • 1、過程定義位指令
      • 2、子程序的參數(shù)傳遞
      • 3、子程序的嵌套
      • 4、子程序的遞歸
      • 5、子程序的重入
  • 第五章 高級匯編語言程序設(shè)計(jì)
    • 1、高級語言特性
      • 1、條件控制偽指令
      • 2、循環(huán)控制偽指令
      • 3、過程聲明和過程調(diào)用偽指令
    • 2、宏結(jié)構(gòu)程序設(shè)計(jì)
      • 1、宏匯編
        • a. 宏
        • b. 宏指令
        • c. 宏展開
        • 宏的參數(shù)
        • 宏操作符
        • 與宏有關(guān)的偽指令
        • 宏匯編與子程序的比較
      • 2、重復(fù)匯編
        • 1. 按參數(shù)值重復(fù)
        • 2. 按參數(shù)個(gè)數(shù)重復(fù)
        • 3. 按參數(shù)字符個(gè)數(shù)重復(fù)
      • 3、條件匯編
      • 宏結(jié)構(gòu)的作用
    • 3、模塊化程序設(shè)計(jì)
      • 1. 源程序文件的包含
      • 2. 目標(biāo)代碼文件的連接
      • 3. 子程序庫的調(diào)入
    • 4、輸入輸出程序設(shè)計(jì)
      • 1、 輸入輸出指令
        • a. 輸入指令I(lǐng)N
        • b. 輸出指令OUT
      • 2、程序直接控制輸入輸出
      • 3、程序查詢輸入輸出
      • 4、中斷服務(wù)程序
        • 內(nèi)部中斷服務(wù)程序
        • 駐留中斷服務(wù)程序
        • 外部可屏蔽中斷服務(wù)程序

第一章 匯編語言的基礎(chǔ)知識

1、計(jì)算機(jī)系統(tǒng)概述

硬件(Handware)

  • 中央處理器CPU
    • 運(yùn)算器,控制器,寄存器
  • 存儲區(qū)
    • 主存儲器:RAM、ROM
    • 輔助存儲器:硬盤,光盤,U盤
  • 外部設(shè)備
    • 輸入設(shè)備和輸出設(shè)備

軟件(Software)

  • 系統(tǒng)軟件(eg:操作系統(tǒng))
  • 應(yīng)用軟件

其中我們程序員最關(guān)心的有三個(gè)

  1. 寄存器(Register)
    • CPU內(nèi)部的高速存儲單元
    • 為CPU提供數(shù)據(jù)地址信息
  2. 存儲器地址(Address)
    • 由大量存儲單元組成,用編號區(qū)分每個(gè)存儲單元
    • 存儲器的地址=存儲器中存儲單元的編號
    • 每個(gè)存儲單元存放一個(gè)字節(jié)的數(shù)據(jù)(1Byte=8bit)
    • 地址采用十六進(jìn)制表達(dá)
      • Inter8086有1MB的存儲器容量(1MB=210KB=220B)
      • 存儲器地址表示為:00000H~FFFFFH
  3. 端口(Port)
    • I/O地址的別稱
    • I/O接口電路由接口寄存器組成,用編號區(qū)分各寄存器
    • I/O地址=接口電路中寄存器的編號
    • 端口采用十六進(jìn)制表達(dá)
      • Intel 8086支持64K個(gè)8位端口
      • I/O地址可以表示為:0000H~FFFFH

2、匯編語言介紹

助記符形式表示計(jì)算機(jī)指令,匯編格式指令以及使用它們編寫程序的規(guī)則就形成匯編語言

  • **匯編語言程序:**用匯編語言書寫的程序
  • **匯編程序:**將匯編語言程序匯編成機(jī)器代碼目標(biāo)模塊的程序
  • 匯編語言程序匯編程序是兩個(gè)不同的概念

3、數(shù)據(jù)表示


1. BCD碼

  • 壓縮BCD碼:一個(gè)字節(jié)表達(dá)兩位BCD碼
  • 非壓縮BCD碼:一個(gè)字節(jié)表達(dá)一位BCD碼(低4位表達(dá)數(shù)值,高4位常設(shè)置為0)

2. ASCII碼

標(biāo)準(zhǔn)ASCII碼用7位二進(jìn)制編碼,有128個(gè)

不可顯示的控制字符

  • 前32個(gè)和最后一個(gè)編碼
  • 回車CR:0DH
  • 換行LF:0AH
  • 響鈴BEL:07H

可顯示和打印的字符:20H開始的95個(gè)編碼

  • 數(shù)碼0~9:30H~39H

  • 大寫字母A~Z:41H~5AH

  • 小寫字母a~z:61H~7AH

  • 空格:20H

  • 擴(kuò)展ASCII碼:最高D7位為1,表達(dá)制表符


3. 真值和機(jī)器數(shù)

**真值:**現(xiàn)實(shí)中真實(shí)的數(shù)值

**機(jī)器數(shù):**計(jì)算機(jī)中用0和1數(shù)碼組合表達(dá)的數(shù)

**定點(diǎn)數(shù):**固定小數(shù)點(diǎn)的位置表達(dá)數(shù)值的機(jī)器數(shù)

  • 定點(diǎn)整數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最右側(cè)表達(dá)的整數(shù)
  • 定點(diǎn)小數(shù):將小數(shù)點(diǎn)固定在機(jī)器數(shù)的最左側(cè)表達(dá)的小數(shù)

浮點(diǎn)數(shù):小數(shù)點(diǎn)浮動表達(dá)的實(shí)數(shù)

無符號數(shù):只表達(dá)0和正整數(shù)的定點(diǎn)整數(shù)

有符號數(shù):表達(dá)負(fù)整數(shù)、0和正整數(shù)的定點(diǎn)整數(shù)

  • 符號位需要占用一個(gè)位
  • 常用機(jī)器數(shù)的最高位,0表示正數(shù)、1表示負(fù)數(shù)

4. 補(bǔ)碼

  • 有符號數(shù)在計(jì)算機(jī)中默認(rèn)采用了補(bǔ)碼
  • **最高位表示符號:**正數(shù)用0,負(fù)數(shù)用1
  • **正數(shù)補(bǔ)碼:**直接表示數(shù)值大小(同無符號數(shù))
  • **負(fù)數(shù)補(bǔ)碼:**將對應(yīng)正數(shù)補(bǔ)碼取反加1

4、8086微處理器

微處理器是微機(jī)的硬件核心,主要包含指令執(zhí)行的運(yùn)算和控制部件,還有多種寄存器

8086內(nèi)部結(jié)構(gòu)有兩個(gè)功能模塊,完成一條指令的取指和執(zhí)行功能

  • 總線接口單元BIU:負(fù)責(zé)讀取指令和操作數(shù)
  • 執(zhí)行單元EU **:**負(fù)責(zé)指令譯碼和執(zhí)行


8086CPU所有寄存器都是16位的,都可以存放兩個(gè)字節(jié),可存儲的數(shù)據(jù)的最大值為2^16-1


1、通用寄存器

  • 16位通用寄存器:AX BX CX DX SI DI BP SP
  • 8 位通用寄存器:AH BH CH DH AL BL CL DL

數(shù)據(jù)寄存器: 用來存放計(jì)算的結(jié)果操作數(shù),也可存放地址

AX累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等;
BX基址寄存器,常用做存放存儲器地址**;**
CX計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器;
DX數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址。

**變址寄存器:**用于存儲器尋址時(shí)提供地址(在串操作指令中有特殊用法)

SI是源變址寄存器
DI是目的變址寄存器

**指針寄存器:**用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)(與SS堆棧段寄存器聯(lián)合確定堆棧段中存儲單元地址)

SP為堆棧指針寄存器,指示棧頂?shù)钠频刂?#xff0c;不能再用于其他目的,具有專用目的
BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址

2、標(biāo)志寄存器FLAGS

用于反映指令執(zhí)行結(jié)果或者控制指令執(zhí)行形式

  • 狀態(tài)標(biāo)志:記錄程序執(zhí)行結(jié)果的狀態(tài)信息

    CF(進(jìn)位標(biāo)志):運(yùn)算結(jié)果最高位進(jìn)位(加法)借位(減法),CF=1,針對無符號數(shù)

    AF(輔助進(jìn)位標(biāo)志):運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或者借位,AF=1

    ZF(零位標(biāo)志):運(yùn)算結(jié)果為0,則ZF=1

    SF(符號標(biāo)志):運(yùn)算結(jié)果最高位為1,SF=1

    PF(奇偶標(biāo)志):運(yùn)算結(jié)果中低八位中1的個(gè)數(shù)為0/偶數(shù)時(shí),PF=1

    OF(溢出標(biāo)志):運(yùn)算結(jié)果超出范圍(例如8位表達(dá)的范圍是+127~-128)則產(chǎn)生溢出,ZF=1,針對有符號數(shù)

  • 控制標(biāo)志:可根據(jù)需要設(shè)置,控制指令執(zhí)行方式

    DF:DF置0,則串操作控制處理方向,從帶有最低地址的第一個(gè)元素逐個(gè)處理,否則,從高向低

    IF:IF=1,CPU允許中斷,IF=0,則CPU關(guān)閉中斷

    TF:TF=1,機(jī)器進(jìn)入單步工作方式,每條機(jī)器指令執(zhí)行后,顯示結(jié)果及寄存器狀態(tài),若TF=0,則機(jī)器處在連續(xù)工作方式。此標(biāo)志為調(diào)試機(jī)器或調(diào)試程序發(fā)現(xiàn)故障而設(shè)置。


3、指令指針I(yè)P

  • 指示代碼段中指令的偏移地址,通過CS:IP指向下一條指令的物理地址
  • 是一個(gè)專用寄存器

4、段寄存器

8086有四個(gè)段寄存器,每個(gè)段寄存器確定了一個(gè)邏輯段的起始地址

CS(Code Segment)指明代碼段的起始地址(CS:IP指向下一條要執(zhí)行的指令)
SS(Stack Segment)指明堆棧段的b起始地址(SS:SP操作堆棧頂?shù)臄?shù)據(jù))
DS(Data Segment**)**指明數(shù)據(jù)段的起始地址(DS:EA存取數(shù)據(jù)段中的數(shù)據(jù))
ES(Extra Segment)指明附加段(附加數(shù)據(jù)段)的起始地址(ES:EA存取附加段中的數(shù)據(jù))

段超越前綴指令

  • 默認(rèn)的數(shù)據(jù)訪問在DS
  • 默認(rèn)的情況允許改變,需要使用段超越前綴指令
CS:;代碼段超越,使用代碼段的數(shù)據(jù)
SS:;堆棧段超越,使用堆棧段的數(shù)據(jù)
DS:;數(shù)據(jù)段超越**,**使用數(shù)據(jù)段的數(shù)據(jù)
ES:;附加段超越,使用附加段的數(shù)據(jù)

計(jì)算機(jī)中信息的單位

二進(jìn)制位Bit存儲一位二進(jìn)制數(shù):0或1
字節(jié)Byte8個(gè)二進(jìn)制位,D7~D0
字Word16位,2個(gè)字節(jié),D15~D0
雙字Dword32位,4個(gè)字節(jié),D31~D0
  • 最低有效位LSB:數(shù)據(jù)的最低位,D0位
  • 最高有效位MSB**:**數(shù)據(jù)的最高位,對應(yīng)字節(jié)、字、雙字分別指D7、D15、D31位

數(shù)據(jù)的地址對齊

  • 字單元在偶地址(xxx0B)、雙字單元在模4地址(xx00B)

存儲器(men)的分段管理

  • 8086CPU有20根地址線

    • 最大尋址空間為2^20=1MB
    • 物理尋址范圍從00000H~FFFFFH
  • 8086CPU將1MB的空間分成許多邏輯段,各個(gè)段之間可以重疊

    • 每個(gè)段的最大限制為2^16=64KB
    • 段地址低四位為0000B
  • 這樣,每個(gè)存儲單元除了唯一的一個(gè)物理地址外,還有多個(gè)邏輯地址

  • 邏輯地址= 段基地址:段內(nèi)偏移地址

    • 邏輯地址是16位的,因此范屬圍是2的16次方,即64K
  • 物理地址= 段地址 * 16 (二進(jìn)制數(shù)據(jù)左移四位,十六進(jìn)制左移一位) + 偏移地址

    • 物理地址是20位的,因此范圍是2的20次方,即1M

5、8086尋址方式


1、指令的組成

指令由操作碼操作數(shù)兩部分組成;

指令的助記符格式:

操作碼	操作數(shù)1,操作數(shù)2	;注釋
  • 有些指令不需要操作數(shù),通常的指令都有一個(gè)或兩個(gè)操作數(shù),個(gè)別指令有3個(gè)甚至4個(gè)操作數(shù)

2、8086的機(jī)器代碼格式


示例一:

示例二:

示例三:


3、立即數(shù)尋址方式

  • 直接存放在機(jī)器代碼中,緊跟在操作碼之后的操作數(shù)為立即數(shù)(imm)

    • 8位數(shù)值i8(00F~FFH)
    • 16位數(shù)值i16(0000H~FFFFH)
  • 立即數(shù)常用來給寄存器賦值

    MOV AL,05H        	;AL←05H
    MOV AX,0102H        ;AX←0102H
    


4、存儲器尋址方式

  • 操作數(shù)存放在cpu的內(nèi)部寄存器reg中

    8位寄存器r8AH、AL、BH、BL、CH、CL、DH、DL
    16位寄存器r16AX、BX、CX、DX、SI、DI、BP、SP
    4個(gè)段寄存器segCS、DS、SS、ES
  • 指令中給出操作數(shù)的主存地址信息

多種存儲器尋址方式:

1. 直接尋址方式

  • 有效地址直接在指令中給出
  • 默認(rèn)段地址在DS寄存器,可用段超越前綴改變
MOV AX,[2000H]	;AX←DS:[2000H] 指令代碼:A1 00 20
MOV AX,ES:[2000H]	;AX←ES:[2000H]	指令代碼:26 A1 00 20

2. 寄存器間接尋址方式

  • 有效地址放在BX(基址寄存器)或變址寄存器(SI,DI)中
  • 默認(rèn)段地址在DS寄存器,可用段超越前綴改變
MOV AX,[SI]    ;AX←DS:[SI]

3. 寄存器相對尋址方式

  • 有效地址是寄存器內(nèi)容(BX/BP/SI/DI)和有符號8位或16位位移量之和
有效地址=BX/BP/SI/DI+8/16位位移量
  • 段地址對應(yīng)BX/SI/DI寄存器默認(rèn)在DS,對應(yīng)BP寄存器默認(rèn)在SS;可用段超越前綴改變
MOV AX,[DI+06H]     ;AX←DS:[DI+06H]
MOV AX,[BP+06H]     ;AX←SS:[BP+06H]

4. 基址變址尋址方式

  • 有效地址是基址寄存器(BX)/指針寄存器(BP)和變址寄存器(SI/DI)之和
有效地址=BX/BP+SI/DI
  • 段地址對應(yīng)BX基址寄存器默認(rèn)是DS,對應(yīng)BP指針寄存器默認(rèn)是SS;可用段超越前綴改變
MOV AX,[BX+SI]              ;AX←DS:[BX+SI]
MOV AX,[BP+DI]              ;AX←SS:[BP+DI]
MOV AX,DS:[BP+DI]        	;AX←DS:[BP+DI]

5. 相對基址變址尋址方式

  • 有效地址是基址寄存器(BX)/指針寄存器(BP)和變址寄存器(SI/DI)和一個(gè)有符號8位或16位位移量之和
有效地址=BX/BP+SI/DI+8/16位位移量
  • 段地址對應(yīng)BX基址寄存器默認(rèn)是DS,對應(yīng)BP指針寄存器默認(rèn)是SS;可用段超越前綴改變
MOV AX,[BX+SI+06H]	;AX←DS:[BX+SI+06H]

5、尋址方式的多種表示方式

  • 位移量可用符號表示:

    MOV AX,[SI+COUNT]	;COUNT是事先定義的變量或常量(就是數(shù)值)
    MOV AX,[BX+SI+WNUM]	;WNUM是變量或常量
    
  • 同一尋址方式可以寫成不同的形式:

    MOV AX,[BX][SI]		;MOV AX,[BX+SI]
    MOV AX,COUNT[SI]	;MOV AX,[SI+COUNT]
    MOV AX,WNUM[BX][SI]	;等同于  MOV AX,WNUM[BX+SI];等同于  MOV AX,[BX+SI+WNUM]
    

6、各種操作數(shù)的表達(dá)

  • 寄存器操作數(shù)的表達(dá)

    r8(任意一個(gè)8位通用寄存器)AH AL BH BL CH CL DH DL
    r16(任意一個(gè)16位通用寄存器)AX BX CX DX SI DI BP SP
    reg代表r8或r16
    seg段寄存器CS DS ES SS
  • 存儲器操作數(shù)的表達(dá)

    m8一個(gè)8位存儲器操作數(shù)單元(所有主存尋址方式)
    m16一個(gè)16位存儲器操作數(shù)單元(所有主存尋址方式)
    mem代表m8或m16
  • 立即數(shù)的表達(dá)

    i8一個(gè)8位立即數(shù)
    i16一個(gè)16位立即數(shù)
    imm代表i8或i16
    dest目的操作數(shù)
    src源操作數(shù)

第二章 8086指令系統(tǒng)

1、數(shù)據(jù)傳送類指令


1. 傳送指令MOV

把一個(gè)字節(jié)或字的操作數(shù)從源地址傳送至目的地址

;reg:通用寄存器	
;mem:存儲器	
;imm:立即數(shù)	
;seg:段寄存器
MOV reg/mem,imm   
MOV reg/mem/seg,reg
MOV reg/seg,mem
MOV reg/mem,seg

注意:

  • 兩個(gè)操作數(shù)類型一致(對于存儲器單元和立即數(shù)同時(shí)作為操作數(shù)的情況,需要顯示聲明;

    byte ptr字節(jié)類型,word ptr類型)

    mov byte ptr [si],0ah		;byte ptr 說明是字節(jié)操作
    mov word ptr [si+2],0bh		;word ptr 說明是字操作
    
  • 兩個(gè)操作數(shù)不能都是存儲器(要實(shí)現(xiàn)這種操作,通過寄存器實(shí)現(xiàn))

    mov ax,buffer1		;ax←buffer1(將buffer1內(nèi)容送ax)
    mov buffer2,ax		;buffer2←ax
    
  • 段寄存器的操作有一些限制

    • 不允許立即數(shù)傳給段寄存器

      MOV DS,100H    ;非法指令:立即數(shù)不能傳送段寄存器
      
    • 不允許改變CS(代碼段)的值

      MOV CS,[SI]    ;不允許使用的指令
      
    • 不允許段寄存器之間的直接數(shù)據(jù)傳送

      MOV DS,ES      ;非法指令:不允許段寄存器間傳送
      

2. 交換指令XCHG

將兩個(gè)地方的數(shù)據(jù)進(jìn)行交換

  • 寄存器與寄存器之間對換數(shù)據(jù)
  • 寄存器與存儲器之間對換數(shù)據(jù)
  • 不能在存儲器與存儲器之間對換數(shù)據(jù)
XCHG reg,reg/mem    ;reg<->reg/mem

3. 換碼指令XLAT

將BX指定的緩沖區(qū)中、AL指定的位移處的一個(gè)字節(jié)數(shù)據(jù)取出賦給AL

XLAT    ;al←ds:[bx+al]

示例:

mov bx,100h
mov al,03h
Xlat
;換碼指令沒有顯式的操作數(shù),但使用了BX和AL;
;因?yàn)閾Q碼指令使用了隱含尋址方式——采用默認(rèn)操作數(shù)

4. 堆棧操作指令PUSH、POP

PUSH:

PUSH r16/m16/seg    ;SP<SP-2	SS:[SP]←r16/m16/seg

POP:

POP r16/m16/seg		;r16/m16/seg←SS:[SP]	SP←SP+2

  • 堆棧的操作單位是2個(gè)字節(jié)

  • 進(jìn)展和出棧時(shí),都是低地址字節(jié)送低字節(jié),高地址字節(jié)送高字節(jié)(小端對齊

  • 堆棧操作遵循先進(jìn)后出原則,但可用存儲器尋址方式隨機(jī)存取數(shù)據(jù)

  • 常見作用:

    • 臨時(shí)存放數(shù)據(jù)

    • 傳遞參數(shù)

    • 保存和恢復(fù)寄存器

      push ax		;進(jìn)入子程序后
      push bx
      push ds
      ...
      pop ds		;返回主程序前
      pop bx
      pop ax
      

5. 標(biāo)志傳送指令

用來傳送標(biāo)志寄存器FLAGS的內(nèi)容

  • 低八位傳送:LAHF 和 SAHF
  • 16位傳送:PUSHF 和 POPF


LAHF

AH <- FLAGS的低字節(jié)
  • SF/ZF/AF/PF/CF狀態(tài)標(biāo)志位分別進(jìn)入AH的第7/6/4/2/0位,而AH的5/3/1位任意

SAHF

FLAGS的低字節(jié) <- AH
  • AH的第7/6/4/2/0位響應(yīng)設(shè)置SF/ZF/AF/PF/CF標(biāo)志位

PUSHF

  • 保存所有標(biāo)志到堆棧

POPF

  • 將堆棧內(nèi)容取出到標(biāo)志寄存器

6. 標(biāo)志位操作指令

  • 標(biāo)志位操作指令直接對CF、DF、IF標(biāo)志進(jìn)行復(fù) 位置位,常用于特定的情況

  • 用于任意設(shè)置進(jìn)位標(biāo)志

    CLC;復(fù)位進(jìn)位標(biāo)志:CF←0
    STC;置位進(jìn)位標(biāo)志:CF←1
    CMC;求反進(jìn)位標(biāo)志:CF←~CF
  • 串操作指令中,需要使用

    CLD;復(fù)位方向標(biāo)志:DF←0
    STD;置位方向標(biāo)志:DF←1
  • 在編寫中斷服務(wù)程序時(shí),需要控制可屏蔽中斷的允許和禁止

    CLI;復(fù)位中斷標(biāo)志:IF←0
    STI;置位中斷標(biāo)志:IF←1

7、地址傳送指令

將存儲器單元的邏輯地址送至指定的寄存器


有效地址傳送指令 LEA

  • 將存儲器操作數(shù)的有效地址傳送到指定的16位寄存器中
LEA r16,mem    ;r16←mem的有效地址EA
  • 示例:
mov bx,0400h
mov si,3ch
lea bx,[bx+si+0f62h]     ;BX=0400h+003ch+0f62h=139EH
  • 獲得主存單元的有效地址;不是物理地址,也不是該單元的內(nèi)容
  • 可以實(shí)現(xiàn)計(jì)算功能

指針傳送指令 LDS 和 LES

  • LDS指令將主存中mem指定的字送至r16,并將mem的下一字送至DS寄存器
LDS	r16,mem		;r16←mem	DS←mem+2
  • LES指令將主存中mem指定的字送至r16,并將mem的下一字送至ES寄存器
LES	r16,mem		;r16←mem	ES←mem+2
  • 示例:
mov word ptr [3060h],0100h
mov word ptr [3062h],1450h
les di,[3060h]    ;es=1450h,di=0100h
lds si,[3060h]    ;ds=1450h,si=0100h

mem指定主存的連續(xù)4個(gè)字節(jié)作為邏輯地址(32位的地址指針),送入DS:r16或ES:r16


2、算術(shù)運(yùn)算類指令


1、加法指令A(yù)DD、ADC、INC

  • ADD:將源與目的操作數(shù)相加,結(jié)果送到目的操作數(shù)
ADD reg,imm/reg/mem		; reg ← reg+imm/reg/mem
ADD mem,imm/reg			; mem ← mem+imm/reg
  • ADC:將源與目的操作數(shù)相加,再加上進(jìn)位CF標(biāo)志,結(jié)果送到目的操作數(shù)
ADC reg,imm/reg/mem		; reg ← reg+imm/reg/mem+CF
ADC mem,imm/reg			; mem ← mem+imm/reg+CF
  • INC:對操作數(shù)加1不影響CF,按定義設(shè)置其他狀態(tài)標(biāo)志)
INC reg/mem				; reg/mem ← reg/mem+1

2、減法指令SUB、SBB、DEC

  • SUB:將目的操作數(shù)減去源操作數(shù),結(jié)果送到目的操作數(shù)(按照定義相應(yīng)設(shè)置狀態(tài)標(biāo)志)
SUB reg,imm/reg/mem		; reg ← reg-imm/reg/mem
SUB mem,imm/reg			; mem ← mem-imm/reg
  • SBB:將目的操作數(shù)減去源操作數(shù),再減去借位CF(進(jìn)位),結(jié)果送到目的操作數(shù)(按照定義相應(yīng)設(shè)置狀態(tài)標(biāo)志)
SBB reg,imm/reg/mem		; reg ← reg-imm/reg/mem-CF
SBB mem,imm/reg			; mem ← mem-imm/reg-CF
  • DEC:對操作數(shù)減1不影響CF,按定義設(shè)置其他狀態(tài)標(biāo)志)
DEC reg/mem				; reg/mem ← reg/mem-1

3、求補(bǔ)指令 NEG

用零減去操作數(shù),然后結(jié)果返回操作數(shù)求補(bǔ)運(yùn)算也可以表達(dá)成:`將操作數(shù)按位取反后加1`
NEG reg/mem				; reg/mem ← 0-reg/mem

4、比較指令CMP

將目的操作數(shù)減去源操作數(shù),按照定義相應(yīng)設(shè)置狀態(tài)標(biāo)志

執(zhí)行的功能與SUB指令相同,但結(jié)果不回送目的操作數(shù)

CMP reg,imm/reg/mem		; reg-imm/reg/mem
CMP mem,imm/reg			; mem-imm/reg

5、乘法指令MUL、IMUL

  • MUL:無符號乘法
MUL r8/m8		;AX ← AL*r8/m8
MUL r16/m16		;DX.AX ← AX*r16/m16
  • IMUL:有符號乘法
IMUL r8/m8		;AX ← AL*r8/m8
IMUL r16/m16	;DX.AX ← AX*r16/m16
  • 乘法指令對標(biāo)志的影響

    MUL指令若乘積的高一半(AH或DX)為0,則OF=CF=0;否則OF=CF=1
    IMUL指令若乘積的高一半是低一半的符號擴(kuò)展,則OF=CF=0;否則均為1
  • 乘法指令對其他狀態(tài)標(biāo)志沒有定義


6、除法指令DIV、IDIV

  • DIV:無符號除法
MUL r8/m8		;AL←AX÷r8/m8的商			AH←AX÷r8/m8的余數(shù)
MUL r16/m16		;AX←DX.AX÷r16/m16的商		DX←DX.AX÷r16/m16的余數(shù)
  • IDIV:有符號除法
IMUL r8/m8		;AL←AX÷r8/m8的商			AH←AX÷r8/m8的余數(shù)
IMUL r16/m16	;AX←DX.AX÷r16/m16的商		DX←DX.AX÷r16/m16的余數(shù)
  • 除法指令對標(biāo)志沒有定義
  • 除法指令會產(chǎn)生結(jié)果溢出
  • 除法錯(cuò)中斷: 當(dāng)被除數(shù)遠(yuǎn)大于除數(shù)時(shí),所得的商就有可能超出它所能表達(dá)的范圍。如果存放商的寄存器AL/AX不能表達(dá),便產(chǎn)生溢出,8086CPU中就產(chǎn)生編號為0的內(nèi)部中斷
    • 對DIV指令,除數(shù)為0,或者在字節(jié)除時(shí)商超過8位,或者在字除時(shí)商超過16位
    • 對IDIV指令,除數(shù)為0,或者在字節(jié)除時(shí)商不在-128~127范圍內(nèi),或者在字除時(shí)商不在-32768~32767范圍內(nèi)

7、符號擴(kuò)展指令CBW、CWD

  • 用一個(gè)操作數(shù)的符號位(即最高位)形成另一個(gè)操作數(shù),后一個(gè)操作數(shù)的各位是全0(正數(shù))或全1(負(fù)數(shù))
  • 符號擴(kuò)展不改變數(shù)據(jù)大小
    • 對于數(shù)據(jù)64H(表示數(shù)據(jù)100),其最高位D7為0,符號擴(kuò)展后高8位都是0,成0064H(仍表示數(shù)據(jù)100)
    • 對于數(shù)據(jù)FF00H(表示有符號數(shù)-256),其最高位D15為1,符號擴(kuò)展后高16位都是1,成為FFFFFF00H(仍表示有符號數(shù)-256)


8、十進(jìn)制調(diào)整指令

壓縮BCD碼調(diào)整

  1. 加減調(diào)整

    • 使用DAA或DAS指令前,應(yīng)先執(zhí)行以AL為目的操作數(shù)的加法或減法指令
    • DAA和DAS指令對OF標(biāo)志無定義,按結(jié)果影響其他標(biāo)志
    • 例如CF反映壓縮BCD碼相加或減的進(jìn)位或借位狀態(tài)

mov al,68h	;al=68h,壓縮BCD碼表示真值68
mov bl,28h	;bl=28h,壓縮BCD碼表示真值28
add al,bl	;二進(jìn)制加法:al=68h+28h=90h
daa   		;十進(jìn)制調(diào)整:al=96h  實(shí)現(xiàn)壓縮BCD碼加法:68+28=96
mov al,68h	;al=68h,壓縮BCD碼表示真值68
mov bl,28h	;bl=28h,壓縮BCD碼表示真值28
sub al,bl	;二進(jìn)制減法:al=68h-28h=40h
das    		;十進(jìn)制調(diào)整:al=40h 實(shí)現(xiàn)壓縮BCD碼減法:68-28=40

非壓縮BCD碼調(diào)整

  1. 加減調(diào)整

    • 使用AAA或AAS指令前,應(yīng)先執(zhí)行以AL為目的操作數(shù)的加法或減法指令
    • AAA和AAS指令在調(diào)整中產(chǎn)生了進(jìn)位或借位,則AH要加上進(jìn)位或減去借位,同時(shí)CF=AF=1,否則CF=AF=0;
    • 對其他標(biāo)志無定義

mov ax,0608h	;ax=0608h,非壓縮BCD碼表示真值68
mov bl,09h		;bl=09h,非壓縮BCD碼表示真值9
add al,bl		;二進(jìn)制加法:al=08h+09h=11h
Aaa				;十進(jìn)制調(diào)整:ax=0707h 實(shí)現(xiàn)非壓縮BCD碼加法:68+9=77
mov ax,0608h	;ax=0608h,非壓縮BCD碼表示真值68
mov bl,09h		;bl=09h,非壓縮BCD碼表示真值9
sub al,bl		;二進(jìn)制減法:al=08h-09h=ffh
aas				;十進(jìn)制調(diào)整:ax=0509h 實(shí)現(xiàn)非壓縮BCD碼減法:68-9=59
  1. 乘除調(diào)整
  • AAM指令跟在字節(jié)乘MUL之后,將乘積調(diào)整為非壓縮BCD碼

  • AAD指令跟在字節(jié)除DIV之前,先將非壓縮BCD碼的被除數(shù)調(diào)整為二進(jìn)制數(shù)

  • AAM和AAD指令根據(jù)結(jié)果設(shè)置SF、ZF和PF,但對OF、CF和AF無定義

    mov ax,0608h	;ax=0608h,非壓縮BCD碼表示真值68
    mov bl,09h		;bl=09h,非壓縮BCD碼表示真值9
    mul bl			;二進(jìn)制乘法:al=08h×09h=0048h
    aam				;十進(jìn)制調(diào)整:ax=0702h 實(shí)現(xiàn)非壓縮BCD碼乘法:8×9=72
    
    mov ax,0608h	;ax=0608h,非壓縮BCD碼表示真值68
    mov bl,09h		;bl=09h,非壓縮BCD碼表示真值9
    aam				;二進(jìn)制擴(kuò)展:ax=68=0044h
    div bl			;除法運(yùn)算:商al=07h,余數(shù)ah=05h;實(shí)現(xiàn)非壓縮BCD碼除法:68÷9=7(余5)
    

3、位操作指令

以二進(jìn)制位為基本單位進(jìn)行數(shù)據(jù)操作


1、邏輯或指令 AND

AND reg,imm/reg/mem;reg←reg∧imm/reg/mem
AND mem,imm/reg;mem←mem∧imm/reg
  • AND指令設(shè)置CF = OF = 0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對AF未定義

2、邏輯與指令 OR

OR reg,imm/reg/mem;reg←reg∨imm/reg/mem
OR mem,imm/reg;mem←mem∨imm/reg
  • OR指令設(shè)置CF = OF = 0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對AF未定義

3、邏輯異或指令XOR

  • 異或不同為1,相同為0
XOR reg,imm/reg/mem;reg←reg⊕imm/reg/mem
XOR mem,imm/reg;mem←mem⊕imm/reg
  • XOR指令設(shè)置CF = OF = 0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對AF未定義

4、邏輯非指令 NOT

NOT reg/mem;reg/mem←~reg/mem
  • NOT指令是一個(gè)單操作數(shù)指令,不影響標(biāo)志位

5、測試指令 TEST

  • 對兩個(gè)操作數(shù)執(zhí)行邏輯與運(yùn)算,結(jié)果不送到目的操作數(shù)
TEST reg,imm/reg/mem;reg∧imm/reg/mem
TEST mem,imm/reg;mem∧imm/reg
  • XOR指令設(shè)置CF = OF = 0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對AF未定義

6、移位指令(shift)

  • 將操作數(shù)移動一位或多位,分成邏輯移位和算術(shù)移位,分別具有左移或右移操作
SHL reg/mem,1/CL;邏輯左移,最高位進(jìn)入CF,最低位補(bǔ)0
SHR reg/mem,1/CL;邏輯右移,最低位進(jìn)入CF,最高位補(bǔ)0
  • 邏輯左移一位相當(dāng)于無符號數(shù)乘以2,邏輯右移一位相當(dāng)于無符號數(shù)除以2
SAL reg/mem,1/CL;算術(shù)左移,最高位進(jìn)入CF,最低位補(bǔ)0
SAR reg/mem,1/CL;算術(shù)右移,最低位進(jìn)入CF,最高位不變
  • 移位指令的第一個(gè)操作數(shù)是指定的被移位的操作數(shù),可以是寄存器或存儲單元
  • 后一個(gè)操作數(shù)表示移位位數(shù),該操作數(shù)為1,表示移動一位;當(dāng)移位位數(shù)大于1時(shí),則用CL寄存器值表示,該操作數(shù)表達(dá)為CL
  • 按照移入的位設(shè)置進(jìn)位標(biāo)志CF,根據(jù)移位后的結(jié)果影響SF、ZF、PF,而對AF未定義
  • 對于OF,如果進(jìn)行一位移動,則按照操作數(shù)的最高符號位是否改變,相應(yīng)設(shè)置溢出標(biāo)志OF:如果移位前的操作數(shù)最高位與移位后操作數(shù)的最高位不同(有變化),則OF = 1;否則OF = 0。當(dāng)移位次數(shù)大于1時(shí),OF不確定

7、循環(huán)移位指令(rotate)

  • 將操作數(shù)從一端移出的位返回到另一端形成循環(huán),分成不帶進(jìn)位和帶進(jìn)位,分別具有左移或右移操作
ROL reg/mem,1/CL;不帶進(jìn)位循環(huán)左移
ROR reg/mem,1/CL;不帶進(jìn)位循環(huán)右移
RCL reg/mem,1/CL;帶進(jìn)位循環(huán)左移
RCR reg/mem,1/CL;帶進(jìn)b位循環(huán)右移
  • 按照指令功能設(shè)置進(jìn)位標(biāo)志CF,不影響SF、ZF、PF、AF
  • 對于OF,如果進(jìn)行一位移動,則按照操作數(shù)的最高符號位是否改變,相應(yīng)設(shè)置溢出標(biāo)志OF:如果移位前的操作數(shù)最高位與移位后操作數(shù)的最高位不同(有變化),則OF = 1;否則OF = 0。當(dāng)移位次數(shù)大于1時(shí),OF不確定

4、控制轉(zhuǎn)移類指令

  • 用于實(shí)現(xiàn)分支、循環(huán)、過程等程序結(jié)構(gòu)
  • 通過改變IP(和CS)值,實(shí)現(xiàn)程序執(zhí)行順序的改變

1、無條件轉(zhuǎn)移指令 JMP

JMP label    	;程序轉(zhuǎn)向label標(biāo)號指定的地址
  • 執(zhí)行JMP,使程序轉(zhuǎn)到指定的目標(biāo)地址處,從目標(biāo)地址處開始執(zhí)行指令
  • 操作數(shù)label是要轉(zhuǎn)移到的目標(biāo)地址(目的地址、轉(zhuǎn)移地址)
  • 目標(biāo)地址的尋址方式
    1. 相對尋址方式:以當(dāng)前IP為基地址,加上位移量構(gòu)成目標(biāo)地址
    2. 直接尋址方式:轉(zhuǎn)移地址像立即數(shù)一樣,直接在指令的機(jī)器代碼中
    3. 間接尋址方式:轉(zhuǎn)移地址在寄存器或主存單元中
  • 轉(zhuǎn)移方式
    1. 段內(nèi)轉(zhuǎn)移——近轉(zhuǎn)移(near)
      • 在當(dāng)前代碼段64KB范圍內(nèi)轉(zhuǎn)移
      • 不需要更改CS地址,只要改變IP偏移地址
    2. 段內(nèi)轉(zhuǎn)移——短轉(zhuǎn)移(short)
      • 轉(zhuǎn)移范圍可以用一個(gè)字節(jié)表達(dá),在段內(nèi)-128~+127的范圍轉(zhuǎn)移
    3. 段間轉(zhuǎn)移——遠(yuǎn)轉(zhuǎn)移(far)
      • 從當(dāng)前代碼段跳轉(zhuǎn)到另一個(gè)代碼段,可在1MB之內(nèi)
      • 更改CS和IIP
      • 目標(biāo)地址必須用一個(gè)32位數(shù)表達(dá),叫做32位遠(yuǎn)指針(邏輯地址)

JMP指令分為四種類型

  • 段內(nèi)轉(zhuǎn)移,相對尋址

    • 位移量是緊接著JMP指令后的那條指令的偏移地址,到目標(biāo)指令的偏移地址的地址位移
    • 當(dāng)向地址增大方向轉(zhuǎn)移時(shí),位移量為正;向地址減小方向轉(zhuǎn)移時(shí),位移量為負(fù)
    JMP label		;IP←IP+位移量
    
  • 段內(nèi)轉(zhuǎn)移,間接尋址

    • 將一個(gè)16位寄存器或主存字單元內(nèi)容送入IP寄存器,作為新的指令指針,但不修改CS寄存器的內(nèi)容
    JMP r16/m16		;IP←r16/m16
    
  • 段間轉(zhuǎn)移,直接尋址

    • 將標(biāo)號所在段的段地址作為新的CS值,標(biāo)號在該段內(nèi)的偏移地址作為新的IP值;這樣,程序跳轉(zhuǎn)到新的代碼段執(zhí)行
    JMP far ptr label	;IP←label的偏移地址	CS←label的段地址
    
  • 段間轉(zhuǎn)移,間接尋址

    • 用一個(gè)雙字存儲單元表示要跳轉(zhuǎn)的目標(biāo)地址。這個(gè)目標(biāo)地址存放在主存中連續(xù)的兩個(gè)字單元中的,低位字送IP寄存器,高位字送CS寄存器
    JMP far ptr mem		;IP←[mem],CS←[mem+2]
    

2、條件轉(zhuǎn)移指令 JCC

JCC label	;條件滿足,發(fā)生轉(zhuǎn)移:IP←IP+8位位移量	條件不滿足,順序執(zhí)行

操作數(shù)label采用 相對尋址、短轉(zhuǎn)移 方式

  • 表示Jcc指令后的那條指令的偏移地址,到目標(biāo)指令的偏移地址的地址位移
  • 距當(dāng)前IP地址-128~+127個(gè)單元的范圍之內(nèi)

JCC指令不影響標(biāo)志,但要利用標(biāo)志,分為3種情況:

  1. 判斷單個(gè)標(biāo)志位狀態(tài)
  2. 比較無符號數(shù)大小
  3. 比較有符號數(shù)大小

轉(zhuǎn)移條件cc:單個(gè)標(biāo)志狀態(tài)

JZ/JEZF=1Jump if Zero/Equal
JNZ/JNEZF=0Jump if Not Zero/Not Equal
JSSF=1Jump if Sign
JNSSF=0Jump if Not Sign
JP/JPEPF=1Jump if Parity/Parity Even
JNP/JPOPF=0Jump if Not Parity/Parity Odd
JOOF=1Jump if Overflow
JNOOF=0Jump if Not Overflow
JCCF=1Jump if Carry
JNCCF=0Jump if Not Carry

轉(zhuǎn)移條件cc:兩數(shù)大小關(guān)系

無符號數(shù):---------------------------------------------------------------------
JB/JNAECF=1Jump if Below/Not Above or Equal
JNB/JAECF=0Jump if Not Below/Above or Equal
JBE/JNACF=1或ZF=1Jump if Below/Not Above
JNBE/JACF=0且ZF=0Jump if Not Below or Equal/Above
有符號數(shù):---------------------------------------------------------------------
JL/JNGESF≠OFJump if Less/Not Greater or Equal
JNL/JGESF=OFJump if Not Less/Greater or Equal
JLE/JNGZF≠OF或ZF=1Jump if Less or Equal/Not Greater
JNLE/JGSF=OF且ZF=0Jump if Not Less or Equal/Greater

3、循環(huán)指令(loop)

  • 操作數(shù)label采用 相對尋址、短轉(zhuǎn)移 方式
  • 默認(rèn)利用CX計(jì)數(shù)器
JCXZ label;CX=0,轉(zhuǎn)移到標(biāo)號label
LOOP label;CX←CX-1,CX≠0,循環(huán)到標(biāo)號label
LOOPZ label;CX←CX-1,CX≠0且ZF=1,循環(huán)到標(biāo)號label
LOOPNZ label;CX←CX-1,CX≠0且ZF=0,循環(huán)到標(biāo)號label

4、子程序指令

  • 子程序是完成特定功能的一段程序
  • CALL指令調(diào)用子程序,RET指令返回主程序


子程序調(diào)用指令:

  • CALL指令有四種類型:

    CALL label;段內(nèi)調(diào)用、相對尋址
    CALL r16/m16;段內(nèi)調(diào)用、間接尋址
    CALL far ptr label;段間調(diào)用、直接尋址
    CALL far ptr mem;段間調(diào)用、間接尋址
  • CALL指令需要保存返回地址

  • 段內(nèi)調(diào)用——入棧偏移地址IP

  • SP←SP-2,SS:[SP]←IP
    
  • 段間調(diào)用——入棧偏移地址IP和段地址CS

  • SP←SP-2,SS:[SP]←IP
    SP←SP-2,SS:[SP]←CS
    

子程序返回指令:

  • 根據(jù)段內(nèi)和段間、有無參數(shù),分成4種類型
RET;無參數(shù)段內(nèi)返回
RET i16;有參數(shù)段內(nèi)返回
RET;無參數(shù)段間返回
RET i16;有參數(shù)段間返回
  • 需要彈出CALL指令壓入堆棧的返回地址

  • 段內(nèi)返回——出棧偏移地址IP

  IP←SS:[SP], SP←SP+2
  • 段間返回——出棧偏移地址IP和段地址CS
  IP←SS:[SP],SP←SP+2CS←SS:[SP],SP←SP+2
  • 返回指令RET的參數(shù)
RET i16		;有參數(shù)返回
  • RET指令可以帶有一個(gè)立即數(shù)i16,

    則堆棧指針SP將增加,即 SP←SP+i16

  • 這個(gè)特點(diǎn)使得程序可以方便地廢除若干執(zhí)行CALL指令以前入棧的參數(shù)


5、中斷指令


中斷(Interrupt )是又一種改變程序執(zhí)行順序的方法,具有多種類型

8086外部中斷:來自CPU之外的原因引起的中斷,可分為:

  • 可屏蔽中斷:可由CPU的中斷允許標(biāo)志IF控制
  • 非屏蔽中斷:不受CPU的中斷允許標(biāo)志IF控制

8086內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序引起的中斷,可分成:

  • 除法錯(cuò)中斷:執(zhí)行除法指令,結(jié)果溢出產(chǎn)生的 0號 中斷
  • 指令中斷:執(zhí)行中斷調(diào)試指令 INT i8 產(chǎn)生的 i8號 中斷
  • 斷點(diǎn)中斷:用于斷點(diǎn)調(diào)試(INT 3)的 3號 中斷
  • 溢出中斷:執(zhí)行溢出中斷指令,OF=1產(chǎn)生的 4號 中斷
  • 單步中斷:TF=1在每條指令執(zhí)行后產(chǎn)生的 1號 中斷

中斷指令I(lǐng)NT

INT i8;中斷調(diào)用指令:產(chǎn)生i8號中斷
IRET;中斷返回指令:實(shí)現(xiàn)中斷返回
INTO;溢出中斷指令;若溢出標(biāo)志OF=1,產(chǎn)生4號中斷;否則順序執(zhí)行

5、處理機(jī)控制類指令


1、空操作指令 NOP

  • 不執(zhí)行任何操作,但占用一個(gè)字節(jié)存儲單元,空耗一個(gè)指令執(zhí)行周期

  • NOP常用于程序調(diào)試

    • 在需要預(yù)留指令空間時(shí)用NOP填充
    • 代碼空間多余時(shí)也可以用NOP填充
    • 還可以用NOP實(shí)現(xiàn)軟件延時(shí)
  • 事實(shí)上,NOP和 XCHG AX,AX 的指令代碼一樣,都是 90H


2、段超越前綴指令

  • 在允許段超越的存儲器操作數(shù)之前,使用段超越前綴指令,將采用指定的段寄存器尋址操作數(shù)
CS:;使用代碼段的數(shù)據(jù)
SS:;使用堆棧段的數(shù)據(jù)
DS:;使用數(shù)據(jù)段的數(shù)據(jù)
ES:;使用附加段的數(shù)據(jù)

3、封鎖前綴指令 LOCK

LOCK    ;封鎖總線
  • 這是一個(gè)指令前綴,可以放在任何指令前
  • 這個(gè)前綴使得在這個(gè)指令執(zhí)行時(shí)間內(nèi),8086 處理器的封鎖輸出引腳有效,即把總線封鎖,使別的控制器不能控制總線;直到該指令執(zhí)行完后,總線封鎖解除

4、暫停指令 HLT

HLT    ;進(jìn)入暫停狀態(tài)
  • 暫停指令使CPU進(jìn)入暫停狀態(tài),這時(shí)CPU不進(jìn)行任何操作。當(dāng)CPU發(fā)生復(fù)位或來自外部的中斷時(shí),CPU脫離暫停狀態(tài)
  • HLT指令可用于程序中等待中斷。當(dāng)程序中必須等待中斷時(shí),可用HLT,而不必用軟件死循環(huán)。然后,中斷使CPU脫離暫停狀態(tài),返回執(zhí)行HLT的下一條指令

5、交權(quán)指令 ESC

ESC 6位立即數(shù),reg/mem   ;把浮點(diǎn)指令交給浮點(diǎn)處理器執(zhí)行
  • 浮點(diǎn)協(xié)處理器8087指令是與8086的整數(shù)指令組合在一起的,當(dāng)8086發(fā)現(xiàn)是一條浮點(diǎn)指令時(shí),就利用ESC指令將浮點(diǎn)指令交給8087執(zhí)行

6、等待指令

WAIT    ;進(jìn)入等待狀態(tài)
  • 8086利用WAIT指令和測試引腳實(shí)現(xiàn)與8087同步運(yùn)行
  • 浮點(diǎn)指令經(jīng)由8086處理發(fā)往8087,并與8086本身的整數(shù)指令在同一個(gè)指令序列;而8087執(zhí)行浮點(diǎn)指令較慢,所以8086必須與8087保持同步

第三章 匯編語言程序格式

1、匯編語言程序的開發(fā)

編輯—匯編–連接–調(diào)試


1、匯編語言程序設(shè)計(jì)的語句格式

  • 執(zhí)行性語句:由硬指令構(gòu)成的語句,通常對應(yīng)一條機(jī)器指令,出現(xiàn)在程序的代碼段中
標(biāo)號: 硬指令助記符   操作數(shù),操作數(shù)    ; 注釋
  • 說明性語句:由偽指令構(gòu)成的語句它通常指示匯編程序如何匯編源程序
名字  偽指令助記符	 參數(shù),參數(shù)..	 ;注釋
  • 標(biāo)號、名字與標(biāo)識符:

    • 標(biāo)號:反映硬指令(邏輯地址)的標(biāo)識符,后加冒號分隔

    • 名字:反映位指令(邏輯地址)和屬性的標(biāo)識符,后跟空格或制表符分隔,沒有冒號

    • 標(biāo)識符:一般最多由31個(gè)字母、數(shù)字及規(guī)定的特殊符號(如、$、?、@)組成,不能以數(shù)字開頭。默認(rèn)情況下,匯編程序不區(qū)別標(biāo)識符中的字母大小寫

      • 一個(gè)程序中,每個(gè)標(biāo)識符的定義是唯一的,還不能是匯編語言采用的保留字
  • 保留字:匯編程序已經(jīng)利用的標(biāo)識符

    硬指令助記符例如:MOV、ADD
    偽指令助記符例如:DB、EQU
    操作符例如:OFFSET、PTR
    寄存器名例如:AX、CS
    預(yù)定義符號例如:@data
  • 助記符

  • 操作數(shù)與參數(shù):

    • 處理器指令的操作數(shù)可以是立即數(shù)、寄存器和存儲單元
    • 偽指令的參數(shù)可以是常數(shù)、變量名、表達(dá)式等,可以有多個(gè),參數(shù)之間用逗號分隔
  • 注釋

  • 分隔符:

    • 語句的4個(gè)組成部分要用分隔符分開
    • 標(biāo)號后用冒號,注釋前用分號
    • 操作數(shù)之間和參數(shù)之間使用逗號分隔
    • 其他部分通常采用空格或制表符
    • 多個(gè)空格和制表符的作用與一個(gè)相同
    • MASM支持續(xù)行符"\"

2、匯編語言的程序格式

  • 完整的匯編程序由段組成,可以包含若干個(gè)代碼段、數(shù)據(jù)段、附加段、堆棧段,段與段之間的順序可以隨意排列
  • 獨(dú)立運(yùn)行的程序必須包含一個(gè)代碼段,并指示程序執(zhí)行的起始點(diǎn),一個(gè)程序只有一個(gè)起始點(diǎn)
  • 可執(zhí)行語句必須在一個(gè)代碼段中,說明性語句可位于任何一個(gè)段中

匯編源程序有兩種格式:

  1. 簡化段定義格式(MASM5.0開始支持)

    													;MASM 6.X支持
    ;example.asm		;文件名.model small	;程序存儲模型.stack			;定義堆棧段.data			;定義數(shù)據(jù)段...				;在數(shù)據(jù)段定義數(shù)據(jù).code			;定義代碼段.startup		;程序起始點(diǎn),建立DS、SS...				;在代碼段填入指令序列.exit 0			;程序結(jié)束點(diǎn),返回DOS...				;子程序代碼end				;匯編結(jié)束
    
    													;MASM 5.X支持
    ;example.asm			;文件名.model samll	;程序存儲模型.stack			;定義堆棧段.data			;定義數(shù)據(jù)段...				;在數(shù)據(jù)段定義數(shù)據(jù).code			;定義代碼段
    start:	move ax,@data	move ds,ax		;這兩句指令等價(jià)于.startup...				;代碼段,填入指令序列move ax,4c00h	int 21h			;這兩句指令等價(jià)于.exit 0...				;子程序代碼end start		;匯編結(jié)束
    
  2. 完整段定義格式(MASM5.0以前就具有)

    													;MASM 5.X支持
    ;example.asm				;文件名
    stack 	segment stack		;定義堆棧段dw 512 dup(?)		;堆棧段有512字(1024字節(jié))空間
    stack 	ends				;堆棧段結(jié)束
    data 	segment				;定義數(shù)據(jù)段...					;在數(shù)據(jù)段定義數(shù)據(jù)
    data 	ends				;數(shù)據(jù)段結(jié)束
    code	segment 'code'		;定義代碼段assume cs:code,ds:data,ss:stack
    start:	move ax,data		;建立DS段地址move ds,ax...					;在代碼段填入指令序列move ax,4c00hint 21h				;利用功能調(diào)用返回DOS...					;子程序代碼
    code	ends				;代碼段結(jié)束end start			;匯編結(jié)束,同時(shí)指明程序起始點(diǎn)
    

3、匯編語言的開發(fā)過程

  1. 準(zhǔn)備工作

    • 安裝開發(fā)軟件包
    • 進(jìn)入操作系統(tǒng)(模擬DOS環(huán)境)
    • 進(jìn)入MSAM開發(fā)目錄
  2. 源程序的編輯

    • 以ASM為擴(kuò)展名
  3. 源程序的匯編

    • 匯編是將程序翻譯成由機(jī)器代碼組成的目標(biāo)模塊文件的過程

    • MASM 6.X提供的匯編程序是ML.EXE

    • 如果源程序中沒有語法錯(cuò)誤,MASM將自動生成一個(gè)目標(biāo)模塊文件(.obj);否則MASM將給出相應(yīng)的錯(cuò)誤信息

    ML /c lt301.asm
    
  4. 目標(biāo)模塊的鏈接

    • 鏈接程序能把一個(gè)或多個(gè)目標(biāo)文件和庫文件合成一個(gè)可執(zhí)行文件(.EXE、.COM文件)
    • 如果沒有錯(cuò)誤,則會生成一個(gè)可執(zhí)行文件(.EXE),否則將提示相應(yīng)的錯(cuò)誤信息
    LINK lt301.obj
    

ML匯編程序可以自動調(diào)用LINK連接程序,實(shí)現(xiàn)匯編和連接的依次進(jìn)行

  • 該命令除了產(chǎn)生模塊化文件.obj和可執(zhí)行文件.exe之外,還會產(chǎn)生列表文件.lst
  • 列表文件是一種文本文件,含有源程序和目標(biāo)代碼
  1. 可執(zhí)行程序的調(diào)試

    • 經(jīng)過匯編,連接生成的可執(zhí)行程序在操作系統(tǒng)下只要輸入文件名就可以運(yùn)行
    lt301.exe
    
    • 操作系統(tǒng)裝載該文件進(jìn)入主存,并開始運(yùn)行

4、DOS系統(tǒng)功能調(diào)用

  • 21H中斷是DOS給用戶用于調(diào)用系統(tǒng)功能的中斷,它有近百個(gè)功能,只要包括設(shè)備管理,目錄管理和文件管理這三個(gè)方面的功能
  • ROM-BIOS也以中斷服務(wù)程序的形式,向程序員提供系統(tǒng)的基本輸入輸出程序

功能調(diào)用的步驟

  1. AH寄存器設(shè)置系統(tǒng)功能的調(diào)用號
  2. 在指定寄存器中設(shè)置入口參數(shù)
  3. 執(zhí)行INT 21H(或ROM-BIOS的中斷向量號)實(shí)現(xiàn)中斷服務(wù)程序的功能調(diào)用
  4. 根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況

輸入輸出類調(diào)用

1、字符輸出:
  • 功能號:AH=02H

  • 入口參數(shù):DL=字符的ASCII碼

  • 功能:在顯示器當(dāng)前光標(biāo)位置顯示給定的字符,光標(biāo)右移一個(gè)字符位置。

    按Ctrl-Berak或Ctrl-C退出

2、字符串輸出:
  • 功能號:AH=09H
  • 入口參數(shù):DS:DX=欲顯示字符串在主存中的首地址,字符串應(yīng)以$(24H)結(jié)束
  • 功能:在顯示器輸出指定的字符串【可以輸出回車(0DH)和換行(0AH)字符產(chǎn)生回車和換行的作用】

3、字符輸入:
  • 功能號:AH=01H

  • 入口參數(shù):AL=字符的ASCII碼

    • 功能:獲得按鍵的ASCII代碼值

    【調(diào)用此功能時(shí),若無鍵按下,則會一致等待,直到按鍵后才讀取該鍵值】

4、字符串輸入:
  • 功能號:AH=0AH

  • 入口參數(shù):DS:DX=緩沖區(qū)首地址

  • 執(zhí)行該功能調(diào)用時(shí),用戶按鍵,最后用回車確認(rèn)

    【該調(diào)用可以執(zhí)行全部標(biāo)準(zhǔn)鍵盤編輯命令;用戶按回車鍵結(jié)束輸入,如按Ctrl+Break或Ctrl+c則終止】

緩沖區(qū)的定義

示例:

5、按鍵判斷:
  • 功能號:AH=0BH
  • 出口參數(shù):AL=0,當(dāng)前沒有按鍵AL=FFH,當(dāng)前已經(jīng)按鍵
  • 功能:僅判斷當(dāng)前是否有按下的鍵,設(shè)置AL后退出


2、參量、變量和符號

1、參數(shù)

  • 參數(shù)是指令的操作對象,參數(shù)之間用逗號分隔
  • 參數(shù)可以沒有,可以有1、2或多個(gè)
  • 參數(shù)有數(shù)值型,主要形式是常數(shù)和數(shù)值表達(dá)式

1. 常數(shù)

表達(dá)一個(gè)固定的數(shù)值

  • 十進(jìn)制常數(shù):由0 ~ 9數(shù)字組成,以字母D或d結(jié)尾,缺省情況下,后綴D或d可以省略

    100
    255D  
    
  • 十六進(jìn)制常數(shù):由0~9、A~F組成,以字母H或h結(jié)尾以字母A~F開頭的十六進(jìn)制數(shù),前面要用0表達(dá),以避免與其他符號混淆

    64H
    0FFh
    0B800H
    
  • 二進(jìn)制常數(shù): 由0或1兩個(gè)數(shù)字組成,以字母B或b結(jié)尾

    01101100B  
    
  • 八進(jìn)制常數(shù):用單引號或雙引號括起來的單個(gè)字符或多個(gè)字符,其數(shù)值是每個(gè)字符對應(yīng)的ASCII碼的值

    'd' = 64H
    'AB'= 4142H
    'Hello, Everybody !'
    
  • 符號常數(shù):利用一個(gè)標(biāo)識符表達(dá)的一個(gè)數(shù)值

MASM提供等價(jià)機(jī)制,用于常量定義;等價(jià)EQU偽指令符號名 EQU 數(shù)值表達(dá)式符號名 EQU <字符串>;等號=偽指令符號名 = 數(shù)值表達(dá)式

示例:

DosWriteChar equ 2
CarriageReturn = 13
CallDOS equ <int 21h>mov ah,2     ;mov ah,DosWriteChar
mov dl,13    ;mov dl,CarriageReturn
int 21h      ;CallDOS

2. 數(shù)值表達(dá)式

指由運(yùn)算符連接的各種常數(shù)所構(gòu)成的表達(dá)式

  • 算數(shù)運(yùn)算符:+ - * / MOD
mov ax,3*4+5    ;等價(jià)于 mov ax,17
;除加、減外,其他運(yùn)算符的參數(shù)必須是整數(shù)
  • 邏輯運(yùn)算符:AND OR XOR NOT
or al,03h AND 45h    ;等價(jià)于 or al,01h
  • 移位運(yùn)算符:SHL SHR

    實(shí)現(xiàn)邏輯左移、右移;移入低位高位都是0

mov al,0101b SHL (2*2)    ;等價(jià)于 mov al,01010000b
  • 關(guān)系運(yùn)算符
    • EQ(等于) NE(不等于) GT(大于) LT(小于) GE(大于等于) LE(小于等于)
    • 用于比較和測試符號數(shù)值
    • MASM用0FFFFH(補(bǔ)碼-1)表示條件為
    • MASM用0000H表示條件為
mov bx,((PORT LT 5)AND 20)OR((PORT GE 5)AND 30)
;當(dāng)PORT<5時(shí),匯編結(jié)果為mov bx,20
;否則,匯編結(jié)果為mov bx,30
  • 高低分離符

    • HIGH LOW HIGHWORD LOWWORD
    ;HIGH、LOW從一個(gè)字?jǐn)?shù)值或符號常量中得到高、低字節(jié)
    mov ah,HIGH 8765h    ;等價(jià)于mov ah,87h;HIGHWORD、LOWWORD取一個(gè)符號常量(不能是其他常數(shù))的高字或低字部分
    dd_value equ 0ffff1234h    ;定義一個(gè)符號常量
    mov ax,LOWWORD dd_value    ;等價(jià)于mov ax,1234h
    

3. 地址型參數(shù)

  • 主要形式:標(biāo)號和名字(變量名、段名、過程名等)
  • 硬指令的操作數(shù)有存儲單元;存儲單元就應(yīng)該用地址型參數(shù)(存儲器操作數(shù))表達(dá)

2、變量定義偽指令

作用:為變量申請固定長度的存儲空間,并可同時(shí)將相應(yīng)的存儲單元初始化

格式:變量名 位指令助記符 初值表


1. 變量名

  • 變量名為用戶自定義標(biāo)識符,表示初值表首元素的邏輯地址;用這個(gè)符號表示地址,常稱為符號地址
  • 可以沒有變量名。此時(shí)匯編程序會直接為初值表分配空間,無符號地址
  • 設(shè)置變量名是為了方便存取它指示的存儲單元

2. 位指令助記符

  • DB——定義字節(jié)偽指令

    • 用于分配一個(gè)或多個(gè)字節(jié)單元,并可以將它們初始化為指定值
    • 初值表中每個(gè)數(shù)據(jù)一定是字節(jié)量(Byte),存放一個(gè)8位數(shù)據(jù)
      • 可以是0~255的無符號數(shù)
      • 或是-128~+127帶符號數(shù)
      • 也可以是字符串常數(shù)
    .data    	;數(shù)據(jù)段
    X    db 'a',-5
    db 2 dup(100),?
    Y    db 'ABC'
    mov al,X	;此處X表示它的第1個(gè)數(shù)據(jù),故AL←'a'
    dec X+1		;對X為始的第2個(gè)數(shù)據(jù)減1,故成為-6
    mov Y,al	;現(xiàn)在Y這個(gè)字符串成為 'aBC'
    


  • DW——定義偽指令

    • 用于分配一個(gè)或多個(gè)字單元,并可以將它們初始化為指定值
    • 初值表中每個(gè)數(shù)據(jù)一定是字量(Word),一個(gè)字單元可用于存放任何16位數(shù)據(jù)
      • 一個(gè)段地址
      • 一個(gè)偏移地址
      • 兩個(gè)字符
      • 0~65535之間的無符號數(shù)
      • -32768~+32767之間的帶符號數(shù)
    .data    ;數(shù)據(jù)段
    count    dw 8000h,?,'AB'
    maxint   equ 64h
    number   dw maxint
    array    dw maxint dup(0)
    


  • DD——定義雙字偽指令

    • 用于分配一個(gè)或多個(gè)雙字單元,并可以將它們初始化為指定值
    • 初值表中每個(gè)數(shù)據(jù)是一個(gè)32位的雙字量
      • 可以是有符號或無符號的32位整數(shù)
      • 也可以用來表達(dá)16位段地址(高位字)和16位的偏移地址(低位字)的遠(yuǎn)指針
    vardd		DD 	0,?,12345678h
    farpoint 	DD 	00400078h
    

  • DF——定義3字偽指令
    • 用于為一個(gè)或多個(gè)6字節(jié)變量分配空間及初始化
      • 6字節(jié)常用在32位CPU中表示一個(gè)48位遠(yuǎn)指針(16位段選擇器:32位偏移地址)

  • DQ——定義4字偽指令
    • 用于為一個(gè)或多個(gè)8字節(jié)變量分配空間及初始化
      • 8字節(jié)變量可以表達(dá)一個(gè)64位整數(shù)

  • DT——定義10字節(jié)偽指令
    • 用于為一個(gè)或多個(gè)10字節(jié)變量分配空間及初始化
      • 10字節(jié)變量可以表達(dá)擴(kuò)展精度浮點(diǎn)數(shù)

  • 定位偽指令:控制數(shù)據(jù)的偏移地址、

    • ORG參數(shù):ORG偽指令是將當(dāng)前偏移地址指針指向參數(shù)表達(dá)的偏移地址:

      ORG 100h   ;從100h處安排數(shù)據(jù)或程序
      ORG $+10   ;使偏移地址加10,即跳過10個(gè)字節(jié)空間MASM中,符號“$”表示當(dāng)前偏移地址值
      
      EVEN;從偶地址開始
      ALIGN n;從n的整數(shù)倍地址開始

3. 初值表

  • 初值表是用逗號分隔的參數(shù)

  • 主要由數(shù)值常數(shù)、表達(dá)式或?、DUP組成

    • ?——表示初值不確定,即未賦初值

    • DUP——表示重復(fù)初值

    • DUP的格式為:

      重復(fù)次數(shù) DUP(重復(fù)參數(shù))


3、變量和標(biāo)號的屬性

  • 地址屬性

    • 標(biāo)號和名字對應(yīng)存儲單元的邏輯地址
    • 邏輯地址包括:段地址和偏移地址
  • 類型屬性

    • 標(biāo)號、子程序名可以是NEAR、FAR,分別表示段內(nèi)和段間
    • 變量名的類型可以是BYTE(字節(jié))、WORD(字)、DWROD(雙字)
  • 地址操作符:取得名字或標(biāo)號的段地址和偏移地址兩個(gè)屬性

    [ ]將括起的表達(dá)式作為存儲器地址
    $當(dāng)前偏移地址
    采用指定的段地址寄存器
    OFFSET 名字/標(biāo)號返回名字或標(biāo)號的偏移地址
    SEG 名字/標(biāo)號返回名字或標(biāo)號的段地址
  • 類型操作符:對名字或標(biāo)號的類型屬性進(jìn)行有關(guān)設(shè)置

    1. 類型名 PTR 名字/標(biāo)號

      • PTR操作符使名字或標(biāo)號具有指定的類型
      • 使用PTR操作符,可以臨時(shí)改變名字或標(biāo)號的類型
      • 類型名可以是:BYTE/WORD/DWORD/FWORD/QWORD/TBYTE或者是NEAR/FAR,還可以是由STRUCT、RECORD、UNION以及TYPEDEF定義的類型
      mov al,byte ptr w_var    ;w_var是一個(gè)字節(jié)變量
      jmp far ptr n_label      ;n_label是一個(gè)標(biāo)號
      
    2. THIS 類型名

      • 利用THIS說明的操作數(shù)具有匯編時(shí)的當(dāng)前邏輯地址,但具有指定的類型
      b_var equ THIS byte    ;按字節(jié)訪問變量b_var,但與w_var的地址相同
      w_var dw 10 dup(0)     ;按字訪問變量w_var
      f_jump equ THIS far    ;用f_jump為段間轉(zhuǎn)移(f_jump label far)
      n_jump: mov ax,w_var   ;用n_jump為段內(nèi)近轉(zhuǎn)移,但兩者指向同一條指令
      
      • LABEL偽指令的功能等同于“EQU THIS”
    3. SHORT 標(biāo)號

    4. TYPE 名字/標(biāo)號

      • 返回表明名字或標(biāo)號類型的一個(gè)字量數(shù)值
      • 對字節(jié)、字和雙字變量依次返回1、2和4;
      • 對短、近和遠(yuǎn)轉(zhuǎn)移依次返回ff01h、ff02h和ff05h
      mov ax,TYPE w_var       ;匯編結(jié)果為 mov ax,2
      mov ax,TYPE n_jump      ;匯編結(jié)果為 mov ax,0ff02h(near標(biāo)號)
      
      • 操作符SIZEOF返回整個(gè)變量占用的字節(jié)數(shù)
      • LENGTHOF返回整個(gè)變量的數(shù)據(jù)項(xiàng)數(shù)(即元素?cái)?shù)) SIZEOF = LENGTHOF × TYPE
    5. SIZEOF 變量名

    6. LENGTHOF 變量名


3、程序段的定義和屬性


exe程序

  • 可執(zhí)行程序
  • 可以有獨(dú)立的代碼、數(shù)據(jù)和堆棧段,還可以有多個(gè)代碼段或多個(gè)數(shù)據(jù)段,程序長度可以超過64KB,執(zhí)行起始處可以任意指定
  • 當(dāng)DOS裝入或執(zhí)行一個(gè)程序時(shí),DOS確定當(dāng)時(shí)主存最低的可用地址作為該程序的裝入起始點(diǎn)。此點(diǎn)以下的區(qū)域稱為程序段。在程序段內(nèi)偏移0處,DOS為該程序建立一個(gè)程序段前綴控制塊PSP(Program Segment Prefix),它占256(=100h)個(gè)字節(jié);而在偏移100h處才裝入程序本身

com程序

  • COM程序是一種將代碼、數(shù)據(jù)和堆棧段合一的結(jié)構(gòu)緊湊的程序,所有代碼、數(shù)據(jù)都在一個(gè)邏輯段內(nèi),不超過64KB
  • 程序開發(fā)中,需要滿足一定的要求并采用相應(yīng)參數(shù)才能夠生成COM結(jié)構(gòu)的程序
  • COM文件存儲在磁盤上是主存的完全影象,不包含重新定位的加載信息,與EXE文件相比其加載速度更快,占用的磁盤空間也少
  • 盡管DOS也為COM程序建立程序段前綴PSP,但由于兩種文件結(jié)構(gòu)不同,所以加載到主存后各段設(shè)置并不完全一樣


1、簡化段定義偽指令合集

.MODEL存儲模型位指令

  • 使用簡化段定義,必須有存儲模型位指令

  • .model語句位于所有段定義語句之前

  • 存儲模型決定一個(gè)程序的規(guī)模,確定進(jìn)行子程序調(diào)用、指令轉(zhuǎn)移和數(shù)據(jù)訪問的缺省屬性

  • MASM有7種不同的存儲模型:

    ① TINY ② SMALL

    ③ COMPACT ④ MEDIUM

    ⑤ LARGE ⑥ HUGE

    ⑦ FLAT


簡化段定義偽指令

  • .STACK [大小] ;堆棧段開始

    .DATA ;數(shù)據(jù)段開始

    .CODE [段名] ;代碼段開始

  • 簡化段定義偽指令指明一個(gè)邏輯段的開始,同時(shí)自動結(jié)束前面的一個(gè)段,采用簡化段定義偽指令前,需有.model語句

  • 使用簡化段定義,各段名稱和其他用戶所需的信息可以使用MASM預(yù)定義符號

    例如:@data表示由.data等定義的數(shù)據(jù)段的段名


.STARTUP 程序開始偽指令

  • 按照CPU類型、存儲模型、操作系統(tǒng)和堆棧類型,產(chǎn)生程序開始執(zhí)行的代碼;同時(shí)還指定程序開始執(zhí)行的起始點(diǎn)
  • 在DOS下,還將設(shè)置DS值,調(diào)整SS和SP值

EXIT [返回參數(shù)] 程序終止偽指令

  • 產(chǎn)生終止程序執(zhí)行返回操作系統(tǒng)的指令代碼
  • 它的可選參數(shù)是一個(gè)返回的數(shù)碼,通常用0表示沒有錯(cuò)誤
  • 例如.exit 0對應(yīng)的代碼是:
mov ax,4c00h
int 21h
  • DOS功能調(diào)用的4ch子功能(返回DOS):
  • 入口參數(shù):AH=4ch,AL=返回?cái)?shù)碼

END [標(biāo)號] 匯編結(jié)束偽指令

  • 指示匯編程序MASM到此結(jié)束匯編過程
  • 源程序的最后必須有一條END語句
  • 可選的標(biāo)號用于指定程序開始執(zhí)行點(diǎn),連接程序?qū)?jù)此設(shè)置CS : IP值
  • 采用了.startup偽指令就不需要再用“end 標(biāo)號”指明開始執(zhí)行點(diǎn),但還要有end偽指令

2、com程序的編寫

  • 利用MASM 6.x的簡化段定義格式,可以非常容易地創(chuàng)建一個(gè)COM程序

  • 遵循的規(guī)則:

    • 采用TINY模型
    • 源程序只設(shè)置代碼段,無數(shù)據(jù)、堆棧等段
    • 程序必須從偏移地址100h處開始執(zhí)行
    • 數(shù)據(jù)只能安排在代碼段中,注意不能與可執(zhí)行代碼相沖突,通常在程序最后



3、完整段定義偽指令


完整段定義位指令

段名    segment     定位  組合  段字  '類別'...                 ;語句序列
段名    ends
  • 段定位(align)屬性:指定邏輯段在主存儲器中的邊界

    BYTE段開始為下一個(gè)可用的字節(jié)地址(xxxx xxxxb)
    WORD段開始為下一個(gè)可用的偶數(shù)地址(xxxx xxx0b)
    DWORD段開始為下一個(gè)可用的4倍數(shù)地址(xxxxxx00b)
    PARA段開始為下一個(gè)可用的節(jié)地址(xxxx 0000b)
    PAGE段開始為下一個(gè)可用的頁地址(0000 0000b)
    • 簡化段定義偽指令的代碼段和數(shù)據(jù)段默認(rèn)采用WORD定位,堆棧段默認(rèn)采用PARA定位
    • 完整段定義偽指令的默認(rèn)定位屬性是PARA,其低4位已經(jīng)是0,所以默認(rèn)情況下數(shù)據(jù)段的偏移地址從0開始
  • 段組合(combine)屬性:指定多個(gè)邏輯段之間的關(guān)系

    PRIVATE本段與其他段沒有邏輯關(guān)系,不與其他段合并,每段都有自己的段地址。這是完整段定義偽指令默認(rèn)的段組合方式
    PUBLIC連接程序把本段與所有同名同類型的其他段相鄰地連接在一起,然后為所有這些段指定一個(gè)共同的段地址,也就是合成一個(gè)物理段。這是簡化段定義偽指令默認(rèn)的段組合
    STACK本段是堆棧的一部分,連接程序?qū)⑺蠸TACK段按照與PUBLIC段的同樣方式進(jìn)行合并。這是堆棧段必須具有的段組合
  • 段字(use)屬性

    • 為支持32位段而設(shè)置的屬性

    • 對于16位×86cpu來說,默認(rèn)是16位段,即USE16

      而對于匯編32位x86 CPU指令時(shí),它默認(rèn)采用32位段,即USE32;但可以使用USE16指定標(biāo)準(zhǔn)的16位段

    • 編寫運(yùn)行于實(shí)地址方式(8086工作方式)的匯編語言程序,必須采用16位段

  • 段類別(class)屬性

    • 當(dāng)連接程序組織段時(shí),將所有的同類別段相鄰分配
    • 段類別可以是任意名稱,但必須位于單引號中
    • 大多數(shù)MASbM程序使用 ‘code’、'data’和’stack’來分別指名代碼段、數(shù)據(jù)段和堆棧段,以保持所有代碼和數(shù)據(jù)的連續(xù)

指定段寄存器偽指令

  • 通知MASM用指定的段寄存器來尋址對應(yīng)的邏輯段,即建立段寄存器與段的缺省關(guān)系
  • 在明確了程序中各段與段寄存器之間的關(guān)系后,匯編程序會根據(jù)數(shù)據(jù)所在的邏輯段,在需要時(shí)自動插入段超越前綴。這是ASSUME偽指令的主要功能
  • ASSUME偽指令并不為段寄存器設(shè)定初值,連接程序LINK將正確設(shè)置CS : IP和SS : SP,由于數(shù)據(jù)段通常都需要,所以在樣板源程序中,首先為DS賦值;如果使用附加段,還要賦值ES

段組偽指令

  • 把多個(gè)同類段合并為一個(gè)64KB物理段,并用一個(gè)組名統(tǒng)一存取它

  • 定義段組后,段組內(nèi)各段就統(tǒng)一為一個(gè)段地址,各段定義的變量和標(biāo)號的偏移地址就相對于段組基地址計(jì)算

  • offset操作符取變量和標(biāo)號相對于段組的偏移地址,如果沒有段組則取得相對于段的偏移地址

    offset后可以跟段組中的某個(gè)段名,表示該段最后一個(gè)字節(jié)后面字節(jié)相對于段組的偏移地址


段順序偽指令

  • .SEG ;按照源程序的各段順序

    .DOSSEG ;按照微軟使用的標(biāo)準(zhǔn)DOS規(guī)定

    .ALPHA ;按照段名的字母順序

    • 段順序偽指令確定各邏輯段在主存的前后位置
    • 完整段定義格式中,默認(rèn)按照源程序各段的書寫順序安排(即.seg)
    • 采用.model偽指令的簡化段定義格式,則是規(guī)定的標(biāo)準(zhǔn)DOS程序順序( 即.dosseg ):

    代碼段 → 數(shù)據(jù)段 → 堆棧段

    主存地址低端 ——> 高端


4、簡化段定義格式的段屬性


  • 采用簡化段定義格式的源程序,同樣具有段定位、組合、類別以及段組等屬性(表3.4),具有默認(rèn)的屬性

  • .MODEL偽指令除了設(shè)置程序采用的存儲模型外,還具有如下語句的作用:

    dgroup GROUP _data,_bss,stack

    assume cs:_TEXT,ds:dgroup,ss:dgroup

第四章 基本匯編語言程序設(shè)計(jì)

1、順序程序設(shè)計(jì)

順序程序完全按指令書寫的前后順序執(zhí)行每一條指令,是最基本、最常見的程序結(jié)構(gòu)

2、分支程序設(shè)計(jì)

  • 分支程序根據(jù)條件是真或假決定執(zhí)行與否
  • 判斷的條件是各種指令,如CMP、TEST等執(zhí)行后形成的狀態(tài)標(biāo)志
  • 轉(zhuǎn)移指令Jcc和JMP可以實(shí)現(xiàn)分支控制;還可以采用MASM 6.x提供的條件控制偽指令實(shí)現(xiàn)

1、單分支程序設(shè)計(jì)

  • 條件成立跳轉(zhuǎn),否則順序執(zhí)行分支語句體;注意選擇正確的條件轉(zhuǎn)移指令和轉(zhuǎn)移目標(biāo)地址


2、雙分支程序設(shè)計(jì)

  • 條件成立跳轉(zhuǎn)執(zhí)行第2個(gè)分支語句體,否則順序執(zhí)行第1個(gè)分支語句體。

    注意第1個(gè)分支體后一定要有一個(gè)JMP指令跳到第2個(gè)分支體后


3、多分支程序設(shè)計(jì)

  • 多個(gè)條件對應(yīng)各自的分支語句體,哪個(gè)條件成立就轉(zhuǎn)入相應(yīng)分支體執(zhí)行。多分支可以化解為雙分支或單分支結(jié)構(gòu)的組合


3、循環(huán)程序設(shè)計(jì)

  1. 循環(huán)結(jié)構(gòu)一般是根據(jù)某一條件判斷為真或假來確定是否重復(fù)執(zhí)行循環(huán)體
  2. 循環(huán)指令和轉(zhuǎn)移指令可以實(shí)現(xiàn)循環(huán)控制;還可以采用MASM 6.x提供的循環(huán)控制偽指令實(shí)現(xiàn)


1、冒泡法

  • “冒泡法”是一種排序算法,不是最優(yōu)的算法,但它易于理解和實(shí)現(xiàn)
  • 冒泡法從第一個(gè)元素開始,依次對相鄰的兩個(gè)元素進(jìn)行比較,使前一個(gè)元素不大于后一個(gè)元素;將所有元素比較完之后,最大的元素排到了最后;然后,除掉最后一個(gè)元素之外的元素依上述方法再進(jìn)行比較,得到次大的元素排在后面;如此重復(fù),直至完成就實(shí)現(xiàn)元素從小到大的排序
  • 這需要一個(gè)雙重循環(huán)程序結(jié)構(gòu)
		move cx,count	;cx數(shù)組元素個(gè)數(shù)dec cx			;外循環(huán)個(gè)數(shù),元素個(gè)數(shù)減1
outlp:	move dx,cx		;dx為內(nèi)循環(huán)個(gè)數(shù)move bx,offset array
inlp:	move al,[bx]	;取前一個(gè)元素cmp al,[bx+1]	;與后一個(gè)元素比較jna next		;前一個(gè)不大于后一個(gè)元素,則不進(jìn)行交換xchg al,[bx+1]	;否則,進(jìn)行交換move [bx],al
next:	inc bx			;下一對元素dec dxjnz inlp		;內(nèi)循環(huán)尾loop outlp		;外循環(huán)尾

2、串操作類指令

  • 串傳送 MOVES

    • 把字節(jié)或字從主存的源地址傳送到目的地址
    MOVSB;字節(jié)串傳送:ES:[DI]←DS:[SI] ;SI←SI±1,DI←DI±1
    MOVSW;字串傳送:ES:[DI]←DS:[SI] ;SI←SI±2,DI←DI±2
  • 串存儲 STOS

    • 把AL或AX數(shù)據(jù)傳送到目的地址
    STOSB;字節(jié)串存儲:ES:[DI]←AL ;DI←DI±1
    STOSW;字串存儲:ES:[DI]←AX ;DI←DI±2
  • 串讀取 LODS

    • 把指定主存單元的數(shù)據(jù)傳送給AL或AX
    LODSB;字節(jié)串讀取:AL←DS:[SI] ;SI←SI±1
    LODSW;字串讀取:AX←DS:[SI] ;SI←SI±2
  • 串比較 CMPS

    • 將主存中的源操作數(shù)減去目的操作數(shù),以便設(shè)置標(biāo)志,進(jìn)而比較兩操作數(shù)之間的關(guān)系
    CMPSB;字節(jié)串比較:DS:[SI]-ES:[DI] ;SI←SI±1,DI←DI±1
    CMPSW;字串比較:DS:[SI]-ES:[DI] ;SI←SI±2,DI←DI±2
  • 串掃描 SCAS

    • 將AL/AX減去目的操作數(shù),以便設(shè)置標(biāo)志,進(jìn)而比較AL/AX與操作數(shù)之間的關(guān)系
    SCASB;字節(jié)串掃描:AL-ES:[DI] ;DI←DI±1
    SCASW;字串掃描:AX-ES:[DI] ;DI←DI±2
  • REP 重復(fù)前綴

    • 每執(zhí)行一次串指令,CX減1,直到CX=0,重復(fù)執(zhí)行結(jié)束
    • REP前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束(CX≠0),則繼續(xù)傳送
  • REPZ 重復(fù)前綴

    • 每執(zhí)行一次串指令,CX減1,并判斷ZF是否為0,只要CX=0或ZF=0,重復(fù)執(zhí)行結(jié)束
    • REPZ/REPE前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束(CX≠0),并且串相等(ZF=1),則繼續(xù)比較
  • REPNZ 重復(fù)前綴

    • 每執(zhí)行一次串指令,CX減1,并判斷ZF是否為1,只要CX=0或ZF=1,重復(fù)執(zhí)行結(jié)束
    • REPNZ/REPNE前綴可以理解為:當(dāng)數(shù)據(jù)串沒有結(jié)束(CX≠0),并且串不相等(ZF=0),則繼續(xù)比較

4、 子程序設(shè)計(jì)

  1. 把功能相對獨(dú)立的程序段單獨(dú)編寫和調(diào)試,作為一個(gè)相對獨(dú)立的模塊供程序使用,就形成子程序
  2. 子程序可以實(shí)現(xiàn)源程序的模塊化,可簡化源程序結(jié)構(gòu),可以提高編程效率

1、過程定義位指令

過程名 proc [near|far]...
過程名 endp
  • 過程名(子程序名)為符合語法的標(biāo)識符

    NEAR屬性(段內(nèi)近調(diào)用)的過程只能被相同代碼段的其他程序調(diào)用
    FAR屬性(段間遠(yuǎn)調(diào)用)的過程可以被相同或不同代碼段的程序調(diào)用
  • 對簡化段定義格式,在微型、小型和緊湊存儲模型下,過程的缺省屬性為near;

  • 在中型、大型和巨型存儲模型下,過程的缺省屬性為far

  • 對完整段定義格式,過程的缺省屬性為near

  • 用戶可以在過程定義時(shí)用near或far改變?nèi)笔傩?/strong>

  • 通用格式:

具有多個(gè)出口的子程序:


2、子程序的參數(shù)傳遞

入口參數(shù)(輸入?yún)?shù)):主程序提供給子程序

出口參數(shù)(輸出參數(shù)):子程序返回給主程序

參數(shù)的形式: ① 數(shù)據(jù)本身(傳值)

					**② 數(shù)據(jù)的地址(傳址)**

傳遞的方法: ① 寄存器 ② 變量 ③ 堆棧


例題:

  1. 用寄存器傳遞參數(shù)

    把參數(shù)存于約定的寄存器中,可以傳值,也可以傳址。

    子程序?qū)в谐隹趨?shù)的寄存器不能保護(hù)和恢復(fù)(主程序視具體情況進(jìn)行保護(hù))

    子程序?qū)в腥肟趨?shù)的寄存器可以保護(hù),也可以不保護(hù);但最好一致

    • 入口參數(shù):CX=元素個(gè)數(shù),DS:BX=數(shù)組的段地址:偏移地址

      出口參數(shù):AL=校驗(yàn)和

      ;例4.16主程序 .startup 				;設(shè)置入口參數(shù)(含有DS<-數(shù)組的段地址) mov bx,offset array 	;BX<-數(shù)組的偏移地址 mov CX,count 			;cx<-數(shù)組的元素個(gè)數(shù) call checksuma			;調(diào)用求和過程mov result,al 			;處理出口參數(shù).exit 0 
      ;例4.16子程序
      checksuma	procxor al,al				;累加器清0
      suma:		add al,[bx]				;求和inc bx					;指向下一字節(jié)loop sumaret
      checksuma	endpend
      

2.用變量傳遞參數(shù)

主程序和子程序直接采用同一個(gè)變量名共享同一個(gè)變量,實(shí)現(xiàn)參數(shù)的傳遞

不通模塊間共享時(shí),需要聲明

  • 入口參數(shù):count=元素個(gè)數(shù),array=數(shù)組名(段地址:偏移地址)

    出口參數(shù):result=校驗(yàn)和

    ;例4.16;主程序call checksumb;子程序
    checksumb 	proc push ax push bx push cx xor al,al				;累加器清0 mov bx offset array 	;bx<-數(shù)組的偏移地址mov cx,count			;cx<-數(shù)組的元素個(gè)數(shù) 
    sumb:		add al,[bx]				;求和inc bxloop sumbmov result,al			;保存校驗(yàn)和pop cxpop bxpop axret
    checksumb	endp
    
  1. 用堆棧傳遞參數(shù)

    主程序?qū)⒆映绦虻娜肟趨?shù)壓入堆棧,子程序從堆棧中取出參數(shù)

    子程序?qū)⒊隹趨?shù)壓入堆棧,主程序彈出堆棧取得它們

    • 入口參數(shù):順序壓入偏移地址和元素個(gè)數(shù)

      出口參數(shù):AL=校驗(yàn)和

    ;例4.16主程序.startup mov ax,offset array ;偏移地址push ax 			mov ax,count 		;元素個(gè)數(shù)push ax call checksumc add sp,4 mov result,al .exit 0 
    ;例4.16子程序
    checksumc 	proc push bp mov bp,sp 			;利用BP間接尋址存取參數(shù)push bx push cx mov bx,[bp+6] 		;SS:[BP+6]指向偏移地址mov cx,[bp+4] 		;SS:[BP+4]指向元素個(gè)數(shù)xor al,al 
    sumc:		add al,[bx] inc bx loop sumc pop cx pop bx pop bp ret 
    checksumc	endp 
    


3、子程序的嵌套

子程序內(nèi)包含有子程序的b調(diào)用就是子程序嵌套,沒有什么特殊要求

4、子程序的遞歸

  1. 當(dāng)子程序直接或間接地嵌套調(diào)用自身時(shí)稱為遞歸調(diào)用,含有遞歸調(diào)用的子程序稱為遞歸子程序
  2. 遞歸子程序必須采用寄存器或堆棧傳遞參數(shù),遞歸深度受堆棧空間的限制

5、子程序的重入

  • 子程序的重入是指子程序被中斷后又被中斷服務(wù)程序所調(diào)用,能夠重入的子程序稱為可重入子程序。在子程序中,注意利用寄存器和堆棧傳遞參數(shù)和存放臨時(shí)數(shù)據(jù),而不要使用固定的存儲單元(變量),就能夠?qū)崿F(xiàn)重入。
  • 子程序的重入不同于子程序的遞歸。重入是被動地進(jìn)入,而遞歸是主動地進(jìn)入;重入的調(diào)用間往往沒有關(guān)系,而遞歸的調(diào)用間卻是密切相關(guān)的。遞歸子程序也是可重入子程序

第五章 高級匯編語言程序設(shè)計(jì)

1、高級語言特性

MASM 6.0 引入高級語言的程序設(shè)計(jì)特性

  • 條件控制偽指令

    .IF .ELSE .ENDIF

  • 循環(huán)控制偽指令

    .WHILE .ENDW .REPEAT .UNTIL

  • 過程聲明和過程調(diào)用偽指令

    .PROTO .INVOKE


1、條件控制偽指令

.IF .ELSE .ENDIF

類似高級語言中IF、THEN、ELSE、ENDIF的相應(yīng)功能

在匯編時(shí)要展開,自動生成相應(yīng)的比較和條件轉(zhuǎn)移指令序列,實(shí)現(xiàn)程序分支

常見的操作符

操作符功能操作符功能操作符功能
==等于&&邏輯與CARRY?CF=1?
!=不等于||邏輯或OVERFLOW?OF=1?
>大于!邏輯非PARITY?PF=1?
>=大于等于&位測試SIGN?SF=1?
<小于()改變優(yōu)先級ZERO?ZF=1?
<=小于等于
;單分支結(jié)構(gòu)
.IF AX < 0neg ax
.ENDIF
mov result,ax;雙分支結(jié)構(gòu)
.IF ax==5mov bx,axmov ax,0
.ELSEdec ax
.ENDIF

2、循環(huán)控制偽指令

;求1~100之和
xor ax, ax
mov cx,100
.while cx!=0add ax,cxdec cx
.endw
mov sum,ax

;求1~100之和
xor ax, ax
mov cx,100
.repeatadd ax,cxdec cx
.until cx==0 
mov sum,ax

3、過程聲明和過程調(diào)用偽指令

過程定義位指令PROC

  • 要調(diào)用帶參數(shù)過程定義的過程,不應(yīng)該用CALL指令,因?yàn)楸容^煩瑣

  • 應(yīng)該采用過程調(diào)用INVOKE指令

  • 使用INVOKE偽指令的前提是需要用PROTO偽指令對過程進(jìn)行聲明

  • 過程聲明偽指令:用于事先聲明過程的結(jié)構(gòu)

    PROTO 調(diào)用距離 語言類型, 參數(shù):類型
    
  • 過程調(diào)用偽指令:

    INVOKE  過程名,參數(shù),...
    

示例:


2、宏結(jié)構(gòu)程序設(shè)計(jì)

  • 宏(Macro)是匯編語言的一個(gè)特點(diǎn),它是與子程序類似又獨(dú)具特色的另一種簡化源程序的方法

宏匯編、重復(fù)匯編、條件匯編——統(tǒng)稱為宏結(jié)構(gòu)

1、宏匯編


a. 宏

具有宏名的一段匯編語句序列(宏定義時(shí)書寫)

b. 宏指令

匯編語句的縮寫(宏調(diào)用時(shí)書寫)

c. 宏展開

宏指令用這段宏代替的過程(宏匯編時(shí)實(shí)現(xiàn))

宏的參數(shù)

宏的參數(shù)功能強(qiáng)大,頗具特色

配合宏,還有宏操作符和有關(guān)偽指令

宏操作符

與宏有關(guān)的偽指令


宏匯編與子程序的比較

**<img src="https://zsr204.oss-cn-beijing.aliyuncs.com/imgs/20200709170741.png" alt="image-20200709170741619" style="zoom:50%;" />**

2、重復(fù)匯編

  • 重復(fù)匯編指在匯編過程中,重復(fù)展開一段(基本)相同的語句

  • 重復(fù)匯編沒有名字,不能被調(diào)用

  • 重復(fù)匯編常用在宏定義體中,也可以在一般匯編語句中使用

  • 重復(fù)匯編偽指令有三個(gè):

    REPEAT——按參數(shù)值重復(fù)

    FOR——按參數(shù)個(gè)數(shù)重復(fù)

    FORC——按參數(shù)的字符個(gè)數(shù)重復(fù)

  • 最后,用ENDM結(jié)束


1. 按參數(shù)值重復(fù)

REPEAT 重復(fù)次數(shù)重復(fù)體
ENDM

2. 按參數(shù)個(gè)數(shù)重復(fù)

FOR 形參,〈實(shí)參表〉重復(fù)體
ENDM

3. 按參數(shù)字符個(gè)數(shù)重復(fù)

FORC  形參, 字符串重復(fù)體
ENDM


3、條件匯編

條件匯編偽指令在匯編過程中,根據(jù)條件決定匯編的語句

pdata macro numIF num lt 100	;;如果num < 100,則匯編如下語句db num dup (?)ELSE	;;否則,匯編如下語句db 100 dup (?)ENDIFendm
;-----------------------------------------------------------------------------------------------
pdata 12	  ;宏調(diào)用①
db 12 dup(?)	  ;宏匯編結(jié)果①
pdata 102	  ;宏調(diào)用②
db 100 dup(?)	  ;宏匯編結(jié)果②

宏結(jié)構(gòu)的作用

  • 宏匯編重復(fù)匯編條件匯編為源程序的編寫提供了很多方便,靈活運(yùn)用它們可以編寫出非常良好的源程序來
  • 匯編系統(tǒng)中有些以圓點(diǎn)起始的偽指令(如.startup、.exit等)實(shí)際上是一種宏結(jié)構(gòu)
dstring MACRO string	;;定義字符串db '&string&',0dh,0ah,'$'ENDM
mainbegin MACRO dsseg	;;設(shè)置數(shù)據(jù)段地址mov ax,dssegmov ds,axENDM
dispmsg	MACRO messagemov dx,offset messagemov ah,09hint 21hENDM
mainend	MACRO retnum	;;返回DOS,可不帶參數(shù)ifb <retnum>mov ah,4ch	;;沒有參數(shù)elsemov ax,4c00h+(retnum AND 0ffh);; 有參數(shù)endifint 21hENDM;----------------------------------------------------------.model small.stack 256.datamsg1	equ this bytedstring	<Hello,Everybody !!>msg2	equ this bytedstring	<You see,I made it.>.codestart:	mainbegin @data	;建立DS內(nèi)容dispmsg msg1	;顯示msg1字符串dispmsg msg2	;顯示msg2字符串mainend	;返回DOSend start

3、模塊化程序設(shè)計(jì)

程序分段、采用子程序或者宏結(jié)構(gòu)都是進(jìn)行模塊化程序設(shè)計(jì)

1. 源程序文件的包含


2. 目標(biāo)代碼文件的連接

  • 把常用子程序?qū)懗瑟?dú)立的源程序文件,單獨(dú)匯編,形成子程序的目標(biāo)文件.OBJ

  • 主程序也經(jīng)過獨(dú)立匯編之后形成目標(biāo)文件

  • 連接程序?qū)⑺?code>目標(biāo)文件連接起來,最終產(chǎn)生可執(zhí)行文件

需要遵循的原則:

**① 聲明共用的變量、過程等**

**② 實(shí)現(xiàn)正確的段組合**

**③ 處理好參數(shù)傳遞問題**


3. 子程序庫的調(diào)入

把常用子程序?qū)懗瑟?dú)立的源文件,單獨(dú)匯編形成OBJ 文件后,存入子程序庫

主程序也單獨(dú)匯編形成OBJ文件

主程序連接時(shí),調(diào)入子程序庫中的子程序模塊,產(chǎn)生最終的可執(zhí)行文件


例題:

															;Lt512c.asm
...				;宏定義
.code
extern ALdisp:near,sorting:near,input:near	;聲明其他模塊中的子程序
.startup
...
.exit 0
end
															;sub512c1.asm.model small.codepublic aldisp
Aldisp	proc...
Aldisp	endpend
															;sub512c2.asm.model small.codepublic sorting
sorting	proc...
sorting	endpend
															;sub512c3.asm.model small.codepublic input
input	proc...
input	endpend

例題:


4、輸入輸出程序設(shè)計(jì)


1、 輸入輸出指令

  • 8086通過輸入輸出指令與外設(shè)進(jìn)行數(shù)據(jù)交換,呈現(xiàn)給我們的外設(shè)是端口(I/O地址)

  • 8086用于尋址外設(shè)端口的地址線為16條,端口最多為216=65536(64K)個(gè),端口號為0000H~FFFFH

  • 每個(gè)端口用于傳送一個(gè)字節(jié)的外設(shè)數(shù)據(jù)

輸入輸出的尋址方式有兩種:

1、直接尋址:只用于尋址00H~FFH前256個(gè)端口,操作數(shù)i8表示端口號

2、間接尋址:可用于尋址全部64K個(gè)端口,DX寄存器的值就是端口號

  • 大于FFH的端口只能采用間接尋址方式

a. 輸入指令I(lǐng)N

將外設(shè)數(shù)據(jù)傳送給CPU內(nèi)的AL/AX

IN AL,i8;字節(jié)輸入:AL←I/O端口(i8直接尋址)
IN AL,DX;字節(jié)輸入:AL←I/O端口(DX間接尋址)
IN AX,i8;字輸入:AX←I/O端口(i8直接尋址)
IN AX,DX;字輸入:AX←I/O端口(DX間接尋址)

b. 輸出指令OUT

將CPU內(nèi)的AL/AX數(shù)據(jù)傳送給外設(shè)

OUT i8,AL;字節(jié)輸出:I/O端口←AL(i8直接尋址)
OUT DX,AL;字節(jié)輸出:I/O端口←AL(DX間接尋址)
OUT i8,AX;字輸出:I/O端口←AX(i8直接尋址)
OUT DX,AX;字輸出:I/O端口←AX(DX間接尋址)


2、程序直接控制輸入輸出


3、程序查詢輸入輸出

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-0sT9y2qx-1598619859404)(https://zsr204.oss-cn-beijing.aliyuncs.com/imgs/20200709194057.png)]


4、中斷服務(wù)程序

  • 需要交換數(shù)據(jù)的外設(shè),采用中斷請求向處理器提出要求

  • 處理器執(zhí)行事先設(shè)計(jì)好的中斷服務(wù)程序,在中斷服務(wù)程序當(dāng)中實(shí)現(xiàn)數(shù)據(jù)交換

  • 8086可以處理256種中斷,分為內(nèi)部、外部兩種類型

  • 外部可屏蔽中斷用于與外 設(shè)進(jìn)行數(shù)據(jù)交換

內(nèi)部中斷服務(wù)程序

駐留中斷服務(wù)程序

外部可屏蔽中斷服務(wù)程序

總結(jié)

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

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

97精品国产97久久久久久免费 | 老头边吃奶边弄进去呻吟 | 国内精品久久久久久中文字幕 | 特级做a爰片毛片免费69 | 日本又色又爽又黄的a片18禁 | 大地资源中文第3页 | 日欧一片内射va在线影院 | 国产香蕉尹人综合在线观看 | 国产香蕉尹人综合在线观看 | 国产莉萝无码av在线播放 | 色综合久久久久综合一本到桃花网 | 亚洲中文字幕va福利 | 日日碰狠狠躁久久躁蜜桃 | 亚洲乱码中文字幕在线 | 国产精品va在线播放 | a在线亚洲男人的天堂 | 久久国产36精品色熟妇 | 亚欧洲精品在线视频免费观看 | 少妇无码一区二区二三区 | 无码中文字幕色专区 | 俄罗斯老熟妇色xxxx | 亚洲精品一区二区三区在线 | 久久aⅴ免费观看 | 欧美成人午夜精品久久久 | 领导边摸边吃奶边做爽在线观看 | 亚洲一区av无码专区在线观看 | 国产成人无码av一区二区 | 久久午夜夜伦鲁鲁片无码免费 | 色综合视频一区二区三区 | 国产明星裸体无码xxxx视频 | 一本久道久久综合婷婷五月 | 成人无码影片精品久久久 | 人人澡人人透人人爽 | 国产亚洲精品精品国产亚洲综合 | 网友自拍区视频精品 | 中文字幕人成乱码熟女app | 中文亚洲成a人片在线观看 | 中文精品久久久久人妻不卡 | 亚洲国产精品成人久久蜜臀 | 人人妻人人澡人人爽欧美一区九九 | 色综合久久久久综合一本到桃花网 | 无码av岛国片在线播放 | 中文字幕无码av波多野吉衣 | 亚洲色大成网站www | 黑人粗大猛烈进出高潮视频 | av人摸人人人澡人人超碰下载 | 一个人看的www免费视频在线观看 | 久久精品国产日本波多野结衣 | 国产精品视频免费播放 | 俺去俺来也在线www色官网 | 人人妻人人澡人人爽人人精品浪潮 | 人人妻人人澡人人爽欧美一区九九 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲色偷偷偷综合网 | 六月丁香婷婷色狠狠久久 | 亚洲日韩精品欧美一区二区 | 欧美国产日产一区二区 | 香港三级日本三级妇三级 | 欧美猛少妇色xxxxx | 波多野结衣 黑人 | 国产莉萝无码av在线播放 | 九一九色国产 | 天天做天天爱天天爽综合网 | 久久熟妇人妻午夜寂寞影院 | 天天综合网天天综合色 | 婷婷丁香五月天综合东京热 | 久久视频在线观看精品 | 中文精品无码中文字幕无码专区 | 亚洲成a人片在线观看无码3d | 国内精品久久毛片一区二区 | 国产成人综合美国十次 | 未满成年国产在线观看 | 国产精品久久久 | 精品无人区无码乱码毛片国产 | 一本色道婷婷久久欧美 | 无码国内精品人妻少妇 | 国产精品久久国产精品99 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 伊人色综合久久天天小片 | 亚洲一区二区三区播放 | 67194成是人免费无码 | 免费播放一区二区三区 | 任你躁国产自任一区二区三区 | 精品国产麻豆免费人成网站 | 乱码av麻豆丝袜熟女系列 | 久久综合网欧美色妞网 | 久久人妻内射无码一区三区 | 男女下面进入的视频免费午夜 | 真人与拘做受免费视频一 | 97久久国产亚洲精品超碰热 | 精品一二三区久久aaa片 | 一本久久a久久精品vr综合 | 又粗又大又硬毛片免费看 | 小sao货水好多真紧h无码视频 | 日本熟妇人妻xxxxx人hd | 亚洲 欧美 激情 小说 另类 | 超碰97人人做人人爱少妇 | 日本大乳高潮视频在线观看 | 精品国产福利一区二区 | 精品水蜜桃久久久久久久 | 无码人妻出轨黑人中文字幕 | av无码久久久久不卡免费网站 | 国产香蕉尹人综合在线观看 | 一二三四在线观看免费视频 | 久久久久国色av免费观看性色 | 特大黑人娇小亚洲女 | 波多野42部无码喷潮在线 | 一本色道久久综合狠狠躁 | 中文字幕乱码中文乱码51精品 | 中文字幕久久久久人妻 | 亚洲s色大片在线观看 | 亚无码乱人伦一区二区 | 亚洲日韩一区二区三区 | 国产国语老龄妇女a片 | 狠狠亚洲超碰狼人久久 | 亚洲人成无码网www | 精品无码国产自产拍在线观看蜜 | 国产成人无码av片在线观看不卡 | 久久精品人人做人人综合试看 | 国产精品久久久av久久久 | 精品久久久无码人妻字幂 | 亚洲精品一区二区三区在线观看 | 成 人 免费观看网站 | 久久精品中文闷骚内射 | 久久久久久久女国产乱让韩 | 我要看www免费看插插视频 | 六十路熟妇乱子伦 | 午夜无码区在线观看 | 少妇邻居内射在线 | 欧美丰满老熟妇xxxxx性 | 妺妺窝人体色www婷婷 | 精品人妻人人做人人爽夜夜爽 | 国产亚洲欧美日韩亚洲中文色 | 久久综合久久自在自线精品自 | 一本无码人妻在中文字幕免费 | 熟妇人妻无码xxx视频 | 亚洲日韩一区二区 | 欧美亚洲日韩国产人成在线播放 | 亚洲中文字幕乱码av波多ji | 一本色道婷婷久久欧美 | 国产激情无码一区二区app | 好男人www社区 | 日本免费一区二区三区最新 | 男人和女人高潮免费网站 | 中文字幕+乱码+中文字幕一区 | 亚洲人成网站在线播放942 | 人妻天天爽夜夜爽一区二区 | 欧美日韩亚洲国产精品 | 18无码粉嫩小泬无套在线观看 | 久久亚洲a片com人成 | 亚洲 欧美 激情 小说 另类 | 国内精品一区二区三区不卡 | 国产热a欧美热a在线视频 | 伊人久久大香线蕉午夜 | 影音先锋中文字幕无码 | 成人亚洲精品久久久久软件 | 亚洲欧美日韩国产精品一区二区 | 日韩av无码一区二区三区 | 国产性生大片免费观看性 | 国产成人无码专区 | 亚洲一区二区三区播放 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲乱亚洲乱妇50p | 久久精品中文字幕一区 | 国产精品.xx视频.xxtv | 麻豆果冻传媒2021精品传媒一区下载 | 久久天天躁狠狠躁夜夜免费观看 | 国产亚洲视频中文字幕97精品 | 人妻夜夜爽天天爽三区 | 国产亚洲人成在线播放 | 亚洲国产av精品一区二区蜜芽 | 性做久久久久久久久 | 国产亚洲视频中文字幕97精品 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲欧美精品aaaaaa片 | 成人免费视频在线观看 | 97无码免费人妻超级碰碰夜夜 | 综合激情五月综合激情五月激情1 | 麻豆国产丝袜白领秘书在线观看 | 欧美丰满少妇xxxx性 | 久久综合九色综合97网 | 大肉大捧一进一出好爽视频 | 国产高清不卡无码视频 | 亚洲精品国产精品乱码不卡 | 久久久久成人精品免费播放动漫 | 人妻与老人中文字幕 | 日本www一道久久久免费榴莲 | 天堂久久天堂av色综合 | 日韩亚洲欧美精品综合 | 欧美日韩人成综合在线播放 | 久久精品国产一区二区三区肥胖 | 55夜色66夜色国产精品视频 | 国产在线精品一区二区高清不卡 | 国产美女精品一区二区三区 | 呦交小u女精品视频 | 中文字幕人妻无码一区二区三区 | 国产激情无码一区二区app | 亚洲娇小与黑人巨大交 | 性欧美熟妇videofreesex | 欧洲vodafone精品性 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 亚洲人成网站免费播放 | 中文字幕色婷婷在线视频 | 久久亚洲a片com人成 | 欧美日本日韩 | 久久久久久久久888 | 一本大道久久东京热无码av | 天天躁日日躁狠狠躁免费麻豆 | 国产精品丝袜黑色高跟鞋 | 欧美日韩在线亚洲综合国产人 | 亚洲精品综合一区二区三区在线 | 乱人伦人妻中文字幕无码 | 荫蒂被男人添的好舒服爽免费视频 | 欧美放荡的少妇 | 亚洲狠狠婷婷综合久久 | 日本精品少妇一区二区三区 | 亚洲精品一区二区三区四区五区 | 高清国产亚洲精品自在久久 | 在线观看国产一区二区三区 | 天天做天天爱天天爽综合网 | 台湾无码一区二区 | 狠狠色噜噜狠狠狠狠7777米奇 | 日本熟妇人妻xxxxx人hd | 性欧美疯狂xxxxbbbb | 亚洲毛片av日韩av无码 | 曰韩无码二三区中文字幕 | 国产精品久久福利网站 | 色综合久久久无码网中文 | 亚洲人交乣女bbw | 俺去俺来也www色官网 | 人人妻人人藻人人爽欧美一区 | 国产女主播喷水视频在线观看 | 中文精品久久久久人妻不卡 | 久激情内射婷内射蜜桃人妖 | 未满成年国产在线观看 | 亚洲中文字幕久久无码 | 国产深夜福利视频在线 | 男人扒开女人内裤强吻桶进去 | 色一情一乱一伦 | 欧美自拍另类欧美综合图片区 | 国产精品亚洲综合色区韩国 | 97久久精品无码一区二区 | 亚洲成av人影院在线观看 | www成人国产高清内射 | 欧洲精品码一区二区三区免费看 | 夜夜影院未满十八勿进 | 成人亚洲精品久久久久软件 | 蜜桃无码一区二区三区 | 午夜福利一区二区三区在线观看 | 精品久久久久久人妻无码中文字幕 | 国产午夜无码视频在线观看 | 国产欧美亚洲精品a | 久久zyz资源站无码中文动漫 | 最新国产麻豆aⅴ精品无码 | 又粗又大又硬毛片免费看 | 久久精品99久久香蕉国产色戒 | 免费无码肉片在线观看 | 内射巨臀欧美在线视频 | 国产午夜无码精品免费看 | 任你躁在线精品免费 | 婷婷丁香五月天综合东京热 | 欧美老人巨大xxxx做受 | 亚洲毛片av日韩av无码 | 色偷偷人人澡人人爽人人模 | 久久精品成人欧美大片 | 夜夜高潮次次欢爽av女 | 国产美女极度色诱视频www | 欧美性生交xxxxx久久久 | 人妻无码久久精品人妻 | 亚洲国产综合无码一区 | 免费无码的av片在线观看 | 国产色在线 | 国产 | 无码任你躁久久久久久久 | 亚洲综合在线一区二区三区 | 亚洲精品中文字幕久久久久 | 久久伊人色av天堂九九小黄鸭 | 久久国产36精品色熟妇 | 国产午夜视频在线观看 | 亚洲国产欧美国产综合一区 | 国产精品毛多多水多 | 国内少妇偷人精品视频免费 | 欧美日韩综合一区二区三区 | av人摸人人人澡人人超碰下载 | 激情综合激情五月俺也去 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲无人区午夜福利码高清完整版 | 成在人线av无码免费 | 99久久久无码国产精品免费 | 国产综合久久久久鬼色 | 丰满肥臀大屁股熟妇激情视频 | 伦伦影院午夜理论片 | 激情五月综合色婷婷一区二区 | 精品无码一区二区三区的天堂 | 精品无人区无码乱码毛片国产 | 亚洲国产午夜精品理论片 | 国产精品无码永久免费888 | 丰满诱人的人妻3 | 国产特级毛片aaaaaaa高清 | 无码av免费一区二区三区试看 | 乱人伦人妻中文字幕无码 | 2020久久超碰国产精品最新 | 久久国产精品偷任你爽任你 | 玩弄人妻少妇500系列视频 | 国内老熟妇对白xxxxhd | 久久久国产一区二区三区 | 亚洲国产精品无码久久久久高潮 | av无码不卡在线观看免费 | 亚洲s色大片在线观看 | 天天拍夜夜添久久精品大 | 日本va欧美va欧美va精品 | 97夜夜澡人人双人人人喊 | 亚洲人成影院在线无码按摩店 | 午夜精品一区二区三区在线观看 | 少妇被粗大的猛进出69影院 | 综合网日日天干夜夜久久 | 无码吃奶揉捏奶头高潮视频 | 人人爽人人爽人人片av亚洲 | 国产精品视频免费播放 | a片免费视频在线观看 | 亚洲日本一区二区三区在线 | 人人爽人人澡人人高潮 | 久久人妻内射无码一区三区 | 亚洲欧美日韩成人高清在线一区 | 国产口爆吞精在线视频 | 精品国产乱码久久久久乱码 | 无码国内精品人妻少妇 | 国产激情综合五月久久 | 国产午夜无码精品免费看 | 人人澡人摸人人添 | 亚洲自偷自偷在线制服 | 少妇无码吹潮 | 精品国产青草久久久久福利 | 国产成人无码av片在线观看不卡 | 小sao货水好多真紧h无码视频 | 日韩av无码中文无码电影 | 乱码午夜-极国产极内射 | 中文字幕精品av一区二区五区 | 国产成人亚洲综合无码 | 久热国产vs视频在线观看 | 日本熟妇乱子伦xxxx | 欧美日韩久久久精品a片 | 久久久久se色偷偷亚洲精品av | 国产亚洲精品精品国产亚洲综合 | 亚洲a无码综合a国产av中文 | 精品久久久无码中文字幕 | 国产精品-区区久久久狼 | 综合人妻久久一区二区精品 | 蜜桃av抽搐高潮一区二区 | 特大黑人娇小亚洲女 | 在线a亚洲视频播放在线观看 | 久久久久免费精品国产 | 久久精品人妻少妇一区二区三区 | 国产精品美女久久久网av | 无码一区二区三区在线观看 | 精品一区二区三区波多野结衣 | 国产另类ts人妖一区二区 | 天堂а√在线中文在线 | 国产乱码精品一品二品 | 久久综合狠狠综合久久综合88 | 丰满少妇人妻久久久久久 | 久热国产vs视频在线观看 | 丰满岳乱妇在线观看中字无码 | 老子影院午夜伦不卡 | 熟妇人妻无码xxx视频 | 久久熟妇人妻午夜寂寞影院 | 国产亚洲日韩欧美另类第八页 | 国产真实伦对白全集 | 少妇无套内谢久久久久 | 俄罗斯老熟妇色xxxx | 欧美精品免费观看二区 | 东京热无码av男人的天堂 | 人妻天天爽夜夜爽一区二区 | 亚洲爆乳无码专区 | 婷婷综合久久中文字幕蜜桃三电影 | 东京热无码av男人的天堂 | 国产福利视频一区二区 | 欧美人与禽猛交狂配 | 国产午夜福利100集发布 | 久久亚洲中文字幕精品一区 | 欧洲vodafone精品性 | 亚洲爆乳精品无码一区二区三区 | 青草青草久热国产精品 | 性史性农村dvd毛片 | 丰满岳乱妇在线观看中字无码 | 色妞www精品免费视频 | √8天堂资源地址中文在线 | 67194成是人免费无码 | 精品乱码久久久久久久 | 娇妻被黑人粗大高潮白浆 | 一二三四在线观看免费视频 | 久久天天躁狠狠躁夜夜免费观看 | 国产色精品久久人妻 | 香蕉久久久久久av成人 | 亚洲综合无码一区二区三区 | 女人被男人躁得好爽免费视频 | 乌克兰少妇xxxx做受 | 大色综合色综合网站 | 无码人妻黑人中文字幕 | 激情五月综合色婷婷一区二区 | 中文字幕乱码人妻无码久久 | 女人高潮内射99精品 | 青青久在线视频免费观看 | 纯爱无遮挡h肉动漫在线播放 | 天堂久久天堂av色综合 | 国产黄在线观看免费观看不卡 | 亚洲午夜无码久久 | 国产精品久久久久久亚洲毛片 | 久精品国产欧美亚洲色aⅴ大片 | 色噜噜亚洲男人的天堂 | 天堂在线观看www | 久久久久国色av免费观看性色 | 麻豆国产人妻欲求不满谁演的 | 思思久久99热只有频精品66 | 强伦人妻一区二区三区视频18 | 国产九九九九九九九a片 | 欧美性黑人极品hd | 精品国产一区二区三区四区在线看 | 亚洲色成人中文字幕网站 | 久久午夜无码鲁丝片秋霞 | 人妻体内射精一区二区三四 | aⅴ亚洲 日韩 色 图网站 播放 | 国产亲子乱弄免费视频 | 亚洲精品一区二区三区大桥未久 | 激情人妻另类人妻伦 | 亚洲中文字幕乱码av波多ji | 亚洲人成网站免费播放 | 国产精品手机免费 | 日本精品久久久久中文字幕 | 精品乱子伦一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 最近的中文字幕在线看视频 | 女人被男人躁得好爽免费视频 | 东京热男人av天堂 | 秋霞特色aa大片 | 亚洲成a人片在线观看无码3d | av无码久久久久不卡免费网站 | 国产美女极度色诱视频www | 国产国语老龄妇女a片 | 性生交大片免费看女人按摩摩 | 日本丰满护士爆乳xxxx | 六月丁香婷婷色狠狠久久 | 久久综合九色综合欧美狠狠 | 性史性农村dvd毛片 | 色婷婷久久一区二区三区麻豆 | 久久人妻内射无码一区三区 | v一区无码内射国产 | 亚洲乱亚洲乱妇50p | 蜜臀av无码人妻精品 | 久久伊人色av天堂九九小黄鸭 | 国产激情无码一区二区app | 好屌草这里只有精品 | 狠狠色噜噜狠狠狠7777奇米 | 日韩精品无码免费一区二区三区 | 亚洲无人区午夜福利码高清完整版 | 亚洲色欲色欲欲www在线 | 麻豆av传媒蜜桃天美传媒 | 亚洲欧美国产精品专区久久 | 一二三四社区在线中文视频 | 男女爱爱好爽视频免费看 | 亚洲色无码一区二区三区 | 中文字幕无码免费久久99 | 国产av一区二区三区最新精品 | 国产综合久久久久鬼色 | 久久久久久亚洲精品a片成人 | 高清不卡一区二区三区 | 精品一区二区不卡无码av | 性色av无码免费一区二区三区 | 亚洲综合无码久久精品综合 | 国产人妻久久精品二区三区老狼 | 亚洲综合无码久久精品综合 | 欧美freesex黑人又粗又大 | 无码人中文字幕 | 草草网站影院白丝内射 | 女人被男人爽到呻吟的视频 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 欧洲vodafone精品性 | 国产在热线精品视频 | 国产超碰人人爽人人做人人添 | 漂亮人妻洗澡被公强 日日躁 | 久久亚洲中文字幕精品一区 | 久久zyz资源站无码中文动漫 | 成人无码精品1区2区3区免费看 | 熟妇人妻中文av无码 | 精品一区二区三区波多野结衣 | 中文字幕无码免费久久9一区9 | 成人试看120秒体验区 | 国产超碰人人爽人人做人人添 | 久久视频在线观看精品 | 欧洲熟妇精品视频 | 免费无码av一区二区 | 无码人妻黑人中文字幕 | 免费看少妇作爱视频 | 俺去俺来也www色官网 | 丰满人妻被黑人猛烈进入 | 欧美精品国产综合久久 | 精品国产麻豆免费人成网站 | 精品人妻人人做人人爽夜夜爽 | 四虎影视成人永久免费观看视频 | 国产免费久久久久久无码 | 久久国产精品精品国产色婷婷 | 黑人巨大精品欧美一区二区 | 久久精品女人的天堂av | 玩弄少妇高潮ⅹxxxyw | 男人和女人高潮免费网站 | 天天躁日日躁狠狠躁免费麻豆 | 巨爆乳无码视频在线观看 | 国产精品亚洲五月天高清 | 日本一卡二卡不卡视频查询 | 久久综合狠狠综合久久综合88 | 99riav国产精品视频 | 亚洲爆乳精品无码一区二区三区 | 欧美黑人性暴力猛交喷水 | 秋霞成人午夜鲁丝一区二区三区 | 国产无遮挡又黄又爽又色 | 无码国产色欲xxxxx视频 | 国产成人无码av一区二区 | 国产乱码精品一品二品 | 人人妻人人藻人人爽欧美一区 | 天天燥日日燥 | 天海翼激烈高潮到腰振不止 | 97无码免费人妻超级碰碰夜夜 | 久久精品人人做人人综合 | 精品久久久中文字幕人妻 | 亚洲综合精品香蕉久久网 | 国产精品福利视频导航 | 亚洲精品综合一区二区三区在线 | 国产精品va在线观看无码 | 性做久久久久久久免费看 | 奇米影视7777久久精品人人爽 | 乱中年女人伦av三区 | 天下第一社区视频www日本 | 人人妻人人澡人人爽欧美一区 | 亚洲色www成人永久网址 | 亚洲国产精品美女久久久久 | 国产人妻精品一区二区三区 | 无码人中文字幕 | 亚洲成av人片在线观看无码不卡 | 精品久久久久久亚洲精品 | 亚洲中文字幕在线无码一区二区 | 国产人妻人伦精品1国产丝袜 | 亚洲精品国产a久久久久久 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 激情人妻另类人妻伦 | 亚洲成av人影院在线观看 | 少妇被粗大的猛进出69影院 | 亚洲人成网站在线播放942 | 亚洲精品久久久久中文第一幕 | 激情人妻另类人妻伦 | 狠狠色噜噜狠狠狠狠7777米奇 | 成人综合网亚洲伊人 | 国产人妻人伦精品 | 欧美 亚洲 国产 另类 | 精品国精品国产自在久国产87 | 国产两女互慰高潮视频在线观看 | 亚洲国产成人a精品不卡在线 | 欧美一区二区三区视频在线观看 | 国产精品-区区久久久狼 | 亚洲国产精品久久人人爱 | 国产免费无码一区二区视频 | 国产高清不卡无码视频 | 亚洲精品无码人妻无码 | 麻豆国产人妻欲求不满谁演的 | 国产真实乱对白精彩久久 | 风流少妇按摩来高潮 | 国语精品一区二区三区 | 亚洲の无码国产の无码步美 | 欧美日韩一区二区综合 | 久久熟妇人妻午夜寂寞影院 | 天天摸天天碰天天添 | 狠狠亚洲超碰狼人久久 | 精品国产av色一区二区深夜久久 | 最新国产麻豆aⅴ精品无码 | 亚洲欧美日韩国产精品一区二区 | 99麻豆久久久国产精品免费 | 精品久久久久久人妻无码中文字幕 | 青青青手机频在线观看 | 亚洲国产欧美日韩精品一区二区三区 | 国产农村乱对白刺激视频 | 久久精品国产99精品亚洲 | 未满成年国产在线观看 | 亚洲欧美日韩国产精品一区二区 | 无码成人精品区在线观看 | 国产亚洲精品久久久久久国模美 | 亚洲国产成人a精品不卡在线 | 亚洲中文字幕乱码av波多ji | 久久久国产一区二区三区 | 国产精品igao视频网 | 精品乱子伦一区二区三区 | 国产九九九九九九九a片 | 老熟女重囗味hdxx69 | 亚洲欧美日韩国产精品一区二区 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 无码国产激情在线观看 | 97无码免费人妻超级碰碰夜夜 | 水蜜桃色314在线观看 | 狠狠亚洲超碰狼人久久 | 国产卡一卡二卡三 | 黑人巨大精品欧美黑寡妇 | 久久精品国产精品国产精品污 | www国产亚洲精品久久网站 | 午夜无码区在线观看 | 黑人粗大猛烈进出高潮视频 | 中文字幕无码av激情不卡 | 久久久精品欧美一区二区免费 | 99久久精品无码一区二区毛片 | 女人被男人爽到呻吟的视频 | 久久国内精品自在自线 | 国产色在线 | 国产 | 亚洲欧美精品伊人久久 | 真人与拘做受免费视频一 | 亚洲精品一区三区三区在线观看 | 午夜精品一区二区三区在线观看 | 一本精品99久久精品77 | 亚洲精品鲁一鲁一区二区三区 | 欧美精品一区二区精品久久 | 少妇性俱乐部纵欲狂欢电影 | 牲欲强的熟妇农村老妇女视频 | 欧美阿v高清资源不卡在线播放 | 日本乱偷人妻中文字幕 | 亚洲一区av无码专区在线观看 | 精品熟女少妇av免费观看 | 牛和人交xxxx欧美 | 99视频精品全部免费免费观看 | 亚洲s色大片在线观看 | 全黄性性激高免费视频 | 奇米影视7777久久精品人人爽 | 国产suv精品一区二区五 | 天堂在线观看www | 人人超人人超碰超国产 | 久久精品国产一区二区三区肥胖 | 日本www一道久久久免费榴莲 | 亚洲国产精品一区二区美利坚 | 伊人久久大香线蕉av一区二区 | 国产莉萝无码av在线播放 | 丰满少妇熟乱xxxxx视频 | 久久久久99精品国产片 | 亚洲乱亚洲乱妇50p | 小sao货水好多真紧h无码视频 | 亚洲国产欧美在线成人 | 国内精品久久久久久中文字幕 | 欧美老人巨大xxxx做受 | 国产舌乚八伦偷品w中 | 国产精品久久国产三级国 | 成人免费视频视频在线观看 免费 | 久久精品女人天堂av免费观看 | 亚洲一区二区三区国产精华液 | 秋霞特色aa大片 | 免费乱码人妻系列无码专区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲国产精品成人久久蜜臀 | 1000部啪啪未满十八勿入下载 | 玩弄少妇高潮ⅹxxxyw | 国产肉丝袜在线观看 | aⅴ在线视频男人的天堂 | 高清无码午夜福利视频 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 99久久人妻精品免费一区 | 四虎影视成人永久免费观看视频 | 国产乡下妇女做爰 | 无码精品人妻一区二区三区av | 综合网日日天干夜夜久久 | 国产9 9在线 | 中文 | 激情五月综合色婷婷一区二区 | 亚洲欧美日韩成人高清在线一区 | 99久久人妻精品免费二区 | 激情五月综合色婷婷一区二区 | 国产超级va在线观看视频 | 日韩av无码一区二区三区不卡 | 亚洲熟女一区二区三区 | 88国产精品欧美一区二区三区 | 色 综合 欧美 亚洲 国产 | 精品成在人线av无码免费看 | 日本www一道久久久免费榴莲 | 国产黑色丝袜在线播放 | 亚洲成av人综合在线观看 | 色一情一乱一伦 | 国产免费久久久久久无码 | 色一情一乱一伦一视频免费看 | 色窝窝无码一区二区三区色欲 | 理论片87福利理论电影 | 婷婷五月综合激情中文字幕 | 欧美野外疯狂做受xxxx高潮 | a片在线免费观看 | 国产国产精品人在线视 | 真人与拘做受免费视频 | 精品无人区无码乱码毛片国产 | 国产深夜福利视频在线 | 乱码午夜-极国产极内射 | 国产97色在线 | 免 | 久久 国产 尿 小便 嘘嘘 | 久久久久国色av免费观看性色 | 亚洲天堂2017无码中文 | 两性色午夜免费视频 | 成年美女黄网站色大免费视频 | 少妇的肉体aa片免费 | 99麻豆久久久国产精品免费 | 久久久久久久久888 | 少妇高潮一区二区三区99 | 国产美女精品一区二区三区 | 免费看少妇作爱视频 | 天堂а√在线地址中文在线 | 伊人久久大香线焦av综合影院 | 婷婷五月综合激情中文字幕 | 男人和女人高潮免费网站 | 成 人 免费观看网站 | 亚洲日本va午夜在线电影 | а√天堂www在线天堂小说 | 久久久久久a亚洲欧洲av冫 | 久久人妻内射无码一区三区 | 免费无码午夜福利片69 | 无套内谢的新婚少妇国语播放 | 香港三级日本三级妇三级 | 亚洲另类伦春色综合小说 | 久久午夜无码鲁丝片 | 青青青手机频在线观看 | 国产深夜福利视频在线 | 在线观看欧美一区二区三区 | 中文字幕乱码人妻无码久久 | 久久午夜无码鲁丝片午夜精品 | 久久无码中文字幕免费影院蜜桃 | 午夜熟女插插xx免费视频 | 日韩av无码一区二区三区 | 国产无遮挡又黄又爽免费视频 | 妺妺窝人体色www婷婷 | 国精产品一品二品国精品69xx | 无码精品国产va在线观看dvd | 色欲久久久天天天综合网精品 | 一个人看的www免费视频在线观看 | 任你躁在线精品免费 | 蜜桃av抽搐高潮一区二区 | 国产另类ts人妖一区二区 | 欧美阿v高清资源不卡在线播放 | 水蜜桃色314在线观看 | 7777奇米四色成人眼影 | 97色伦图片97综合影院 | 亚洲日韩一区二区三区 | 成人欧美一区二区三区黑人免费 | 综合网日日天干夜夜久久 | 亚洲午夜久久久影院 | 中文字幕人妻无码一区二区三区 | 国产小呦泬泬99精品 | 清纯唯美经典一区二区 | 国产精品久久久av久久久 | 国产特级毛片aaaaaa高潮流水 | 乱码av麻豆丝袜熟女系列 | 一本久道久久综合婷婷五月 | 午夜福利试看120秒体验区 | 1000部啪啪未满十八勿入下载 | 任你躁在线精品免费 | 天天躁日日躁狠狠躁免费麻豆 | 国产成人精品三级麻豆 | 亚洲精品成人av在线 | 国产真人无遮挡作爱免费视频 | 国产熟妇高潮叫床视频播放 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产高清不卡无码视频 | 亚洲国产精品一区二区第一页 | 国产亚洲精品久久久闺蜜 | 中文字幕人妻无码一区二区三区 | 中国女人内谢69xxxx | 97久久超碰中文字幕 | 呦交小u女精品视频 | 国产精品第一国产精品 | 亚洲精品中文字幕乱码 | 国产精品自产拍在线观看 | 性欧美牲交在线视频 | 国产激情精品一区二区三区 | 国产无遮挡又黄又爽免费视频 | 波多野结衣一区二区三区av免费 | 国产明星裸体无码xxxx视频 | 色综合视频一区二区三区 | 成人性做爰aaa片免费看 | 精品一二三区久久aaa片 | 亚洲日本一区二区三区在线 | 国产午夜手机精彩视频 | 亚洲熟妇自偷自拍另类 | 亚洲国产精华液网站w | 亚洲精品国产a久久久久久 | 在线观看欧美一区二区三区 | 成在人线av无码免观看麻豆 | 成人欧美一区二区三区黑人免费 | 中文字幕无码免费久久9一区9 | 午夜免费福利小电影 | 亚洲精品国产精品乱码视色 | 老子影院午夜伦不卡 | 精品国产一区二区三区av 性色 | 奇米影视7777久久精品 | 又紧又大又爽精品一区二区 | 久久综合九色综合欧美狠狠 | 亚洲精品国产品国语在线观看 | 窝窝午夜理论片影院 | 亚洲国产精品美女久久久久 | 亚洲色无码一区二区三区 | 一本色道久久综合亚洲精品不卡 | 国产高潮视频在线观看 | 女人被男人躁得好爽免费视频 | 熟妇女人妻丰满少妇中文字幕 | 偷窥村妇洗澡毛毛多 | 久久精品99久久香蕉国产色戒 | 精品一区二区三区波多野结衣 | 国产成人精品久久亚洲高清不卡 | 男女猛烈xx00免费视频试看 | 一区二区传媒有限公司 | 好男人社区资源 | 亚洲精品久久久久久一区二区 | 亚洲爆乳精品无码一区二区三区 | 国产成人无码专区 | 激情综合激情五月俺也去 | 国产av剧情md精品麻豆 | 小泽玛莉亚一区二区视频在线 | 一二三四在线观看免费视频 | 国产精品沙发午睡系列 | 人人妻人人澡人人爽精品欧美 | 久久婷婷五月综合色国产香蕉 | 成人免费视频视频在线观看 免费 | 日日麻批免费40分钟无码 | 国产肉丝袜在线观看 | 青青久在线视频免费观看 | 国产凸凹视频一区二区 | 国产做国产爱免费视频 | 日本xxxx色视频在线观看免费 | 欧美猛少妇色xxxxx | 国产后入清纯学生妹 | 国产国产精品人在线视 | 夜夜躁日日躁狠狠久久av | 人妻中文无码久热丝袜 | 桃花色综合影院 | 久久久国产一区二区三区 | 亚洲成av人在线观看网址 | 亚洲码国产精品高潮在线 | 少妇一晚三次一区二区三区 | 好屌草这里只有精品 | 国内少妇偷人精品视频免费 | 国产真实伦对白全集 | 久久亚洲中文字幕精品一区 | 波多野结衣av一区二区全免费观看 | 国产一区二区三区日韩精品 | 亚洲中文字幕无码一久久区 | 久久精品国产99久久6动漫 | 无码人妻丰满熟妇区毛片18 | 精品久久久久久亚洲精品 | 99麻豆久久久国产精品免费 | 无遮挡国产高潮视频免费观看 | 国产av一区二区精品久久凹凸 | 免费无码午夜福利片69 | 亚洲性无码av中文字幕 | 成人无码精品1区2区3区免费看 | 国产亚洲欧美日韩亚洲中文色 | 日本一区二区三区免费高清 | 欧美日韩综合一区二区三区 | 无码乱肉视频免费大全合集 | 国产精品高潮呻吟av久久4虎 | 亚洲精品国产a久久久久久 | 久久无码专区国产精品s | 久久久精品456亚洲影院 | 欧美真人作爱免费视频 | 性做久久久久久久久 | 国产xxx69麻豆国语对白 | 亚洲色大成网站www | 国产特级毛片aaaaaa高潮流水 | 色综合久久久无码网中文 | 国产精品人妻一区二区三区四 | 欧美怡红院免费全部视频 | 亚洲中文字幕无码中文字在线 | 窝窝午夜理论片影院 | 中文无码成人免费视频在线观看 | 日韩成人一区二区三区在线观看 | 未满成年国产在线观看 | 国产真实伦对白全集 | 久久久久亚洲精品男人的天堂 | 最近的中文字幕在线看视频 | 亚洲一区二区三区国产精华液 | 国产麻豆精品一区二区三区v视界 | 久久国产精品精品国产色婷婷 | 性欧美疯狂xxxxbbbb | 人人妻人人澡人人爽人人精品 | 国精产品一品二品国精品69xx | 色综合久久久久综合一本到桃花网 | 亚洲中文字幕va福利 | 窝窝午夜理论片影院 | 久久久亚洲欧洲日产国码αv | 日韩成人一区二区三区在线观看 | 久久精品人人做人人综合 | 国产精品亚洲lv粉色 | 一本久久伊人热热精品中文字幕 | 熟妇人妻激情偷爽文 | 久久国产自偷自偷免费一区调 | 日本熟妇人妻xxxxx人hd | 国产精品久久久久9999小说 | 欧美日韩亚洲国产精品 | 中文字幕日韩精品一区二区三区 | 波多野结衣av在线观看 | 麻豆精产国品 | 亚洲人成影院在线观看 | 久久www免费人成人片 | 国产人妻精品一区二区三区 | 在线播放免费人成毛片乱码 | 午夜精品久久久久久久久 | 国产午夜精品一区二区三区嫩草 | 国产成人综合在线女婷五月99播放 | 精品人妻中文字幕有码在线 | 亚洲综合在线一区二区三区 | 免费无码av一区二区 | 啦啦啦www在线观看免费视频 | 中文字幕无码av波多野吉衣 | 欧美黑人乱大交 | 女人高潮内射99精品 | 国产成人无码av在线影院 | 国产成人精品视频ⅴa片软件竹菊 | 无套内射视频囯产 | 国产成人无码a区在线观看视频app | 精品少妇爆乳无码av无码专区 | 亚洲精品欧美二区三区中文字幕 | 国内精品久久毛片一区二区 | 九月婷婷人人澡人人添人人爽 | 国产尤物精品视频 | 天天摸天天碰天天添 | 亚洲午夜福利在线观看 | 中文字幕无码人妻少妇免费 | 亚洲精品一区国产 | 高清国产亚洲精品自在久久 | 亚洲精品成人福利网站 | 99国产欧美久久久精品 | 无遮挡国产高潮视频免费观看 | 国产莉萝无码av在线播放 | 欧美激情一区二区三区成人 | 少妇激情av一区二区 | 国产精品嫩草久久久久 | 男女超爽视频免费播放 | 无人区乱码一区二区三区 | 国产99久久精品一区二区 | 自拍偷自拍亚洲精品10p | 精品偷自拍另类在线观看 | 未满成年国产在线观看 | 激情内射亚州一区二区三区爱妻 | 99久久精品日本一区二区免费 | 久久久精品456亚洲影院 | 97se亚洲精品一区 | 国内精品人妻无码久久久影院蜜桃 | 久久久无码中文字幕久... | 青草青草久热国产精品 | 日韩无码专区 | 亚洲综合伊人久久大杳蕉 | 国产午夜亚洲精品不卡 | 成年美女黄网站色大免费全看 | 俺去俺来也www色官网 | 青草青草久热国产精品 | 久久久精品国产sm最大网站 | 久久99精品国产.久久久久 | 欧美老妇交乱视频在线观看 | 亚洲欧洲日本综合aⅴ在线 | 亚洲精品午夜无码电影网 | 日本一本二本三区免费 | 久久国语露脸国产精品电影 | 欧美激情综合亚洲一二区 | 欧美性生交xxxxx久久久 | 中文字幕乱码人妻二区三区 | 老熟女乱子伦 | 久久国产自偷自偷免费一区调 | 国产精品资源一区二区 | 国产精品手机免费 | 国产午夜精品一区二区三区嫩草 | 波多野结衣aⅴ在线 | 亚洲国产成人a精品不卡在线 | 黄网在线观看免费网站 | 精品人妻人人做人人爽夜夜爽 | 亚洲精品国产精品乱码视色 | 亚洲精品国产精品乱码不卡 | 欧美激情一区二区三区成人 | 欧美一区二区三区 | 国产精品香蕉在线观看 | 99er热精品视频 | 日产精品高潮呻吟av久久 | 国产情侣作爱视频免费观看 | аⅴ资源天堂资源库在线 | 在线亚洲高清揄拍自拍一品区 | 澳门永久av免费网站 | 在线精品国产一区二区三区 | 综合激情五月综合激情五月激情1 | 久久久精品人妻久久影视 | 欧美人与物videos另类 | 四虎4hu永久免费 | 亚洲中文字幕成人无码 | 乌克兰少妇xxxx做受 | 国产绳艺sm调教室论坛 | 九九久久精品国产免费看小说 | 小sao货水好多真紧h无码视频 | 老熟妇仑乱视频一区二区 | 亚洲区欧美区综合区自拍区 | 国产无套粉嫩白浆在线 | 日韩av无码一区二区三区不卡 | 午夜嘿嘿嘿影院 | 久久无码中文字幕免费影院蜜桃 | 99视频精品全部免费免费观看 | 老司机亚洲精品影院 | 无码国内精品人妻少妇 | 少妇无码吹潮 | 亚洲人成影院在线无码按摩店 | 99久久精品日本一区二区免费 | 亚洲精品一区二区三区婷婷月 | 对白脏话肉麻粗话av | 免费人成在线观看网站 | 3d动漫精品啪啪一区二区中 | 国产精品美女久久久久av爽李琼 | 久久精品人人做人人综合试看 | 精品一区二区三区波多野结衣 | 久久久久se色偷偷亚洲精品av | 思思久久99热只有频精品66 | 日本精品人妻无码免费大全 | 久久精品国产精品国产精品污 | 亚洲中文字幕乱码av波多ji | 久久精品中文闷骚内射 | 欧美日韩人成综合在线播放 | 国产免费观看黄av片 | 久久久久久av无码免费看大片 | 一二三四社区在线中文视频 | 亚洲区小说区激情区图片区 | 久久综合色之久久综合 | 女人被爽到呻吟gif动态图视看 | 久久久久se色偷偷亚洲精品av | 国产亚洲人成在线播放 | 成人欧美一区二区三区 | 300部国产真实乱 | 大地资源中文第3页 | 亚洲男女内射在线播放 | 中文久久乱码一区二区 | 国产真实夫妇视频 | 狠狠噜狠狠狠狠丁香五月 | 国产国语老龄妇女a片 | 男女性色大片免费网站 | 成人免费视频视频在线观看 免费 | 思思久久99热只有频精品66 | 国精品人妻无码一区二区三区蜜柚 | 最新国产乱人伦偷精品免费网站 | yw尤物av无码国产在线观看 | 亚洲一区二区三区在线观看网站 | 国产后入清纯学生妹 | 色婷婷久久一区二区三区麻豆 | 国产欧美亚洲精品a | 精品aⅴ一区二区三区 | 在线观看国产一区二区三区 | 久久久久久a亚洲欧洲av冫 | 国产猛烈高潮尖叫视频免费 | 少妇激情av一区二区 | 高潮毛片无遮挡高清免费 | 国产午夜无码精品免费看 | yw尤物av无码国产在线观看 | 久久人人爽人人爽人人片av高清 | 欧美第一黄网免费网站 | 精品无码av一区二区三区 | 日日躁夜夜躁狠狠躁 | 欧美人与牲动交xxxx | 黑人巨大精品欧美一区二区 | 国产97人人超碰caoprom | 国产综合色产在线精品 | 精品无人国产偷自产在线 | 最近的中文字幕在线看视频 | av无码久久久久不卡免费网站 | 图片区 小说区 区 亚洲五月 | 欧美日韩视频无码一区二区三 | 久久国产精品精品国产色婷婷 | 国产精品久久精品三级 | 成人欧美一区二区三区黑人免费 | 夫妻免费无码v看片 | 国产情侣作爱视频免费观看 | 精品人妻中文字幕有码在线 | 国产精品-区区久久久狼 | 老熟女重囗味hdxx69 | 黑人玩弄人妻中文在线 | 在线天堂新版最新版在线8 | 亚洲日韩中文字幕在线播放 | av人摸人人人澡人人超碰下载 | 国产特级毛片aaaaaa高潮流水 | 国产成人一区二区三区在线观看 | 女人高潮内射99精品 | 久久无码专区国产精品s | 精品国产青草久久久久福利 | 美女张开腿让人桶 | 在线播放免费人成毛片乱码 | 无人区乱码一区二区三区 | a在线观看免费网站大全 | 西西人体www44rt大胆高清 | 人人澡人人妻人人爽人人蜜桃 | 97人妻精品一区二区三区 | 欧美日韩一区二区三区自拍 | 国产成人av免费观看 | 久久精品国产99精品亚洲 | 午夜精品久久久内射近拍高清 | 又色又爽又黄的美女裸体网站 | 国精产品一区二区三区 | 国产无遮挡又黄又爽免费视频 | 在线播放亚洲第一字幕 | 国产在线aaa片一区二区99 | 日日天干夜夜狠狠爱 | 国产精品久久久久无码av色戒 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品国产一区av天美传媒 | 国内丰满熟女出轨videos | 99久久久国产精品无码免费 | 东北女人啪啪对白 | 成人综合网亚洲伊人 | 国产精品二区一区二区aⅴ污介绍 | 亚洲国产精品无码久久久久高潮 | 欧美激情综合亚洲一二区 | 男女作爱免费网站 | 性啪啪chinese东北女人 | 国内精品人妻无码久久久影院蜜桃 | 国产av无码专区亚洲a∨毛片 | 奇米影视888欧美在线观看 | 丝袜人妻一区二区三区 | 中文字幕人妻无码一区二区三区 | 中文字幕 人妻熟女 | 亚洲区小说区激情区图片区 | 无码精品国产va在线观看dvd | 久久久成人毛片无码 | 99久久精品日本一区二区免费 | 国产精品第一区揄拍无码 | 亚洲无人区午夜福利码高清完整版 | 亚洲精品久久久久中文第一幕 | 欧美丰满熟妇xxxx性ppx人交 | 无套内谢老熟女 | 18禁止看的免费污网站 | 国内揄拍国内精品少妇国语 | 久久久无码中文字幕久... | 女人高潮内射99精品 | 中文久久乱码一区二区 | 天天躁日日躁狠狠躁免费麻豆 | 国产香蕉97碰碰久久人人 | 久久无码中文字幕免费影院蜜桃 | 成人精品视频一区二区 | 国产做国产爱免费视频 | 免费人成在线视频无码 | 国产精华av午夜在线观看 | 国产熟妇高潮叫床视频播放 | 377p欧洲日本亚洲大胆 | 伊人久久大香线蕉亚洲 | 无码人中文字幕 | 免费网站看v片在线18禁无码 | 未满成年国产在线观看 | 国产精品无码mv在线观看 | 99久久久无码国产精品免费 | 人人妻人人澡人人爽欧美一区 | 丰满人妻一区二区三区免费视频 | 欧美三级不卡在线观看 | 欧美熟妇另类久久久久久不卡 | 暴力强奷在线播放无码 | 国产精品无码一区二区桃花视频 | 日本熟妇浓毛 | 麻花豆传媒剧国产免费mv在线 | 欧美国产亚洲日韩在线二区 | 无码播放一区二区三区 | 亚洲精品一区国产 | 亚洲综合无码久久精品综合 | 国产真实乱对白精彩久久 | 樱花草在线社区www | 国产sm调教视频在线观看 | 亚洲精品午夜国产va久久成人 | 欧美国产日产一区二区 | 欧美精品国产综合久久 | 中文字幕久久久久人妻 | 欧美放荡的少妇 | 国产精品久久久久久亚洲毛片 | 日本xxxx色视频在线观看免费 | 乱码av麻豆丝袜熟女系列 | 精品无码一区二区三区的天堂 | 人妻无码久久精品人妻 | 日韩av无码中文无码电影 | a在线亚洲男人的天堂 | 久久亚洲精品成人无码 | av小次郎收藏 | 亚洲七七久久桃花影院 | 亚洲一区二区三区在线观看网站 | 成人精品一区二区三区中文字幕 | 欧美成人午夜精品久久久 | 久久无码专区国产精品s | 久久久亚洲欧洲日产国码αv | 久久精品女人天堂av免费观看 | 成在人线av无码免费 | 无码人妻久久一区二区三区不卡 | 成人精品天堂一区二区三区 | 无码国产乱人伦偷精品视频 | 欧美黑人乱大交 | 又大又硬又黄的免费视频 | 97夜夜澡人人双人人人喊 | 蜜桃av抽搐高潮一区二区 | 超碰97人人做人人爱少妇 | 久久久久久av无码免费看大片 | 久久国语露脸国产精品电影 | 久久亚洲精品中文字幕无男同 | 亚洲国产精品无码久久久久高潮 | 久久综合网欧美色妞网 | 久久久久久国产精品无码下载 | 国产精品高潮呻吟av久久4虎 | 久久精品国产日本波多野结衣 | 樱花草在线社区www | 国产精品人人妻人人爽 | 国产亚洲精品久久久久久大师 | 午夜理论片yy44880影院 | 国产网红无码精品视频 | 国产成人综合色在线观看网站 | 欧美国产亚洲日韩在线二区 | 亚洲日韩中文字幕在线播放 | 欧美精品国产综合久久 | 牲欲强的熟妇农村老妇女视频 | 国产99久久精品一区二区 | 99精品无人区乱码1区2区3区 | 亚洲一区二区三区国产精华液 | 黑森林福利视频导航 | 99精品国产综合久久久久五月天 | 在线观看免费人成视频 | 岛国片人妻三上悠亚 | 日韩在线不卡免费视频一区 | 欧美 丝袜 自拍 制服 另类 | 在线观看免费人成视频 | 色五月五月丁香亚洲综合网 | 丰满少妇弄高潮了www | aⅴ亚洲 日韩 色 图网站 播放 | 成人av无码一区二区三区 | 男人的天堂2018无码 | 99精品视频在线观看免费 | 国产成人久久精品流白浆 | 亚洲七七久久桃花影院 | ass日本丰满熟妇pics | 老熟妇仑乱视频一区二区 | 高清无码午夜福利视频 | 日韩成人一区二区三区在线观看 | 久久婷婷五月综合色国产香蕉 | 国精产品一品二品国精品69xx | 亚洲aⅴ无码成人网站国产app | 国产网红无码精品视频 | 国产猛烈高潮尖叫视频免费 | 国产亚洲精品久久久久久国模美 | 成人毛片一区二区 | 亚洲精品一区二区三区四区五区 | 欧美日韩人成综合在线播放 | 国产色精品久久人妻 | 国产精品无码mv在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲精品中文字幕久久久久 | 精品人妻人人做人人爽 | 欧美亚洲国产一区二区三区 | 国产乱子伦视频在线播放 | 亚洲欧洲中文日韩av乱码 | 亚洲日韩乱码中文无码蜜桃臀网站 | 少妇邻居内射在线 | 真人与拘做受免费视频一 | 麻豆成人精品国产免费 | 一本久道久久综合狠狠爱 | 欧美日韩视频无码一区二区三 | 鲁一鲁av2019在线 | 国产成人精品必看 | 在线а√天堂中文官网 | 乱人伦中文视频在线观看 | 国产人成高清在线视频99最全资源 | 久久久久人妻一区精品色欧美 | 又紧又大又爽精品一区二区 | 在线观看欧美一区二区三区 | 久久国内精品自在自线 | а√资源新版在线天堂 | 久久精品国产亚洲精品 | 久久国产劲爆∧v内射 | 欧美国产日产一区二区 | 国产精品二区一区二区aⅴ污介绍 | 亚洲欧美国产精品专区久久 | 国产高清不卡无码视频 | 永久免费观看国产裸体美女 | 粉嫩少妇内射浓精videos | 999久久久国产精品消防器材 | 最新国产麻豆aⅴ精品无码 | 99久久精品午夜一区二区 | 欧美国产日韩亚洲中文 | 欧美亚洲日韩国产人成在线播放 | 日韩av无码一区二区三区 | 丝袜足控一区二区三区 | 西西人体www44rt大胆高清 | 成人无码精品一区二区三区 | 性色av无码免费一区二区三区 | 欧美阿v高清资源不卡在线播放 | 国产性生大片免费观看性 | 5858s亚洲色大成网站www | 成 人 免费观看网站 | 午夜福利不卡在线视频 | 国产精品a成v人在线播放 | 亚洲人成影院在线无码按摩店 | 亚洲区小说区激情区图片区 | 扒开双腿疯狂进出爽爽爽视频 | 日韩av激情在线观看 | 人人澡人摸人人添 | 荡女精品导航 | 在线成人www免费观看视频 | 色一情一乱一伦一区二区三欧美 | 国产亚洲精品久久久久久国模美 | 丰满少妇熟乱xxxxx视频 | 亚洲一区二区三区 | 免费观看又污又黄的网站 | 少妇人妻av毛片在线看 | 青草青草久热国产精品 | 亚洲中文字幕在线观看 | 日本一区二区三区免费高清 | 久久伊人色av天堂九九小黄鸭 | 久精品国产欧美亚洲色aⅴ大片 | 欧美xxxx黑人又粗又长 | 色窝窝无码一区二区三区色欲 | 国产精品人人爽人人做我的可爱 | 免费观看激色视频网站 | 色综合天天综合狠狠爱 | 人妻与老人中文字幕 | 日本va欧美va欧美va精品 | 国产一区二区三区日韩精品 | 国产精品高潮呻吟av久久 | 日日夜夜撸啊撸 | 7777奇米四色成人眼影 | 无码成人精品区在线观看 | 熟女俱乐部五十路六十路av | 欧美35页视频在线观看 | 人妻人人添人妻人人爱 | 在线欧美精品一区二区三区 | 久久久久亚洲精品中文字幕 | 欧美 日韩 人妻 高清 中文 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 亚洲综合无码久久精品综合 | 少妇愉情理伦片bd | 捆绑白丝粉色jk震动捧喷白浆 | 67194成是人免费无码 | 久久久久久亚洲精品a片成人 | 无套内谢的新婚少妇国语播放 | 丰满人妻被黑人猛烈进入 | 国产亚洲精品久久久久久久久动漫 | 亚洲国产精品一区二区美利坚 | 亚洲娇小与黑人巨大交 | 国产精品无码久久av | 国产疯狂伦交大片 | 色偷偷人人澡人人爽人人模 | 亚洲国产精品无码一区二区三区 | 国产成人综合色在线观看网站 | 一二三四在线观看免费视频 | 亚洲人成网站在线播放942 | 成在人线av无码免费 | 欧美国产亚洲日韩在线二区 | 人妻少妇精品无码专区动漫 | 国产午夜无码视频在线观看 | 亚洲男人av天堂午夜在 | 台湾无码一区二区 | 婷婷综合久久中文字幕蜜桃三电影 | 少妇性荡欲午夜性开放视频剧场 | 国产肉丝袜在线观看 | 国产av人人夜夜澡人人爽麻豆 | 国产精品福利视频导航 | 国产成人综合色在线观看网站 | 国产精品亚洲五月天高清 | 亚洲男女内射在线播放 | 国产真实夫妇视频 | 亚洲自偷精品视频自拍 | 国产综合久久久久鬼色 | 亚洲天堂2017无码 | 婷婷丁香五月天综合东京热 | 国产成人午夜福利在线播放 | 一本色道久久综合狠狠躁 | 亚洲精品一区三区三区在线观看 | 人妻少妇精品无码专区动漫 | 国产精品成人av在线观看 | 亚洲 a v无 码免 费 成 人 a v | 国产偷自视频区视频 | 国产麻豆精品一区二区三区v视界 | 成年女人永久免费看片 | 免费国产成人高清在线观看网站 | 国产精品.xx视频.xxtv | 四虎永久在线精品免费网址 | 免费观看黄网站 | 亚洲熟女一区二区三区 | 国产精品香蕉在线观看 | 亚洲精品国产精品乱码视色 | 精品国产乱码久久久久乱码 | 激情亚洲一区国产精品 | 亚洲人亚洲人成电影网站色 | 女人和拘做爰正片视频 | 亚洲乱码日产精品bd | 熟女俱乐部五十路六十路av | 欧美精品在线观看 | 成人女人看片免费视频放人 | 99久久人妻精品免费一区 | 亚洲精品久久久久久久久久久 | 亚洲天堂2017无码中文 | 日本精品少妇一区二区三区 | 久久国产精品萌白酱免费 | 久久婷婷五月综合色国产香蕉 | 特黄特色大片免费播放器图片 | 人妻少妇精品无码专区动漫 | 久久久久成人精品免费播放动漫 | 国产女主播喷水视频在线观看 | 水蜜桃亚洲一二三四在线 | 亚洲精品一区二区三区大桥未久 | 久在线观看福利视频 | 成人免费视频在线观看 | 在线成人www免费观看视频 | 日韩少妇白浆无码系列 | 国产av剧情md精品麻豆 | 中文字幕乱码人妻无码久久 | 中文字幕av日韩精品一区二区 | 亚洲精品国产精品乱码不卡 | 波多野结衣一区二区三区av免费 | 久久久www成人免费毛片 | 久久久久亚洲精品男人的天堂 | 国产三级久久久精品麻豆三级 | 青青久在线视频免费观看 | 国产后入清纯学生妹 | 人人澡人人透人人爽 | 在教室伦流澡到高潮hnp视频 | 日本熟妇大屁股人妻 | 嫩b人妻精品一区二区三区 | 亚洲色欲久久久综合网东京热 | 久久亚洲中文字幕无码 | 国产9 9在线 | 中文 | 精品日本一区二区三区在线观看 | 成人无码视频免费播放 | 日产精品高潮呻吟av久久 | 国产亚洲精品久久久闺蜜 | 国产精品无码一区二区三区不卡 | 无人区乱码一区二区三区 | 久久97精品久久久久久久不卡 | 色 综合 欧美 亚洲 国产 | 中文亚洲成a人片在线观看 | 久久人人爽人人人人片 | 帮老师解开蕾丝奶罩吸乳网站 | av无码电影一区二区三区 | 日日麻批免费40分钟无码 | 思思久久99热只有频精品66 | 中文字幕 人妻熟女 | 中文无码伦av中文字幕 | 亚洲一区二区三区在线观看网站 | 亚洲熟熟妇xxxx | 国产亚洲精品久久久久久国模美 | 欧美日韩视频无码一区二区三 | 精品无码一区二区三区爱欲 | 亚洲中文字幕乱码av波多ji | 亚洲熟悉妇女xxx妇女av | 特黄特色大片免费播放器图片 | 超碰97人人射妻 | 国产精品美女久久久久av爽李琼 | 国产激情无码一区二区app | 内射爽无广熟女亚洲 | 久久国产精品二国产精品 | 色狠狠av一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 色噜噜亚洲男人的天堂 | 欧美喷潮久久久xxxxx | 精品 日韩 国产 欧美 视频 | 国模大胆一区二区三区 | 国产午夜精品一区二区三区嫩草 | 久久精品女人天堂av免费观看 | 亚洲一区二区观看播放 | 免费观看黄网站 | 国产精品无码成人午夜电影 | 亚洲精品中文字幕久久久久 | 欧美变态另类xxxx | 无码一区二区三区在线观看 | 中国女人内谢69xxxx | 国产猛烈高潮尖叫视频免费 | 国产精品亚洲一区二区三区喷水 | 亚洲啪av永久无码精品放毛片 | 性色av无码免费一区二区三区 | 日日碰狠狠丁香久燥 | 亚拍精品一区二区三区探花 | 国产精品无码一区二区三区不卡 | 网友自拍区视频精品 | 初尝人妻少妇中文字幕 | 亚洲一区二区三区含羞草 | 日日天干夜夜狠狠爱 | 天天拍夜夜添久久精品 | 久久熟妇人妻午夜寂寞影院 | 综合激情五月综合激情五月激情1 | 久久伊人色av天堂九九小黄鸭 | 亚洲成a人片在线观看日本 | 天堂а√在线地址中文在线 | 欧美三级a做爰在线观看 | 国产精品高潮呻吟av久久4虎 | 无码精品人妻一区二区三区av | 久久亚洲a片com人成 | 亚洲日韩一区二区三区 | 成人亚洲精品久久久久软件 | 国产午夜视频在线观看 | 国产香蕉尹人视频在线 | 国产精品美女久久久 | 久久综合给久久狠狠97色 | 又粗又大又硬毛片免费看 | 在教室伦流澡到高潮hnp视频 | 风流少妇按摩来高潮 | 亚洲日韩乱码中文无码蜜桃臀网站 | 色欲久久久天天天综合网精品 | 亚洲熟熟妇xxxx | 中国大陆精品视频xxxx | 日韩精品久久久肉伦网站 | 亚洲国产综合无码一区 | 少妇人妻av毛片在线看 | av无码电影一区二区三区 | 内射白嫩少妇超碰 | 精品久久久久久亚洲精品 | 成人欧美一区二区三区黑人 | 亚洲码国产精品高潮在线 | 国产成人综合美国十次 | 亚洲国产精品毛片av不卡在线 | 国产成人无码午夜视频在线观看 | 日韩少妇白浆无码系列 | 日韩亚洲欧美中文高清在线 | 中文字幕乱妇无码av在线 | 亚洲人成人无码网www国产 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 亚洲春色在线视频 | 日韩人妻系列无码专区 | 国产人成高清在线视频99最全资源 | 久久精品一区二区三区四区 | 性欧美熟妇videofreesex | 荡女精品导航 | 亚洲成在人网站无码天堂 | 熟女俱乐部五十路六十路av | 天堂亚洲免费视频 | 亚洲欧美日韩综合久久久 | 亚洲欧美日韩国产精品一区二区 | 国产精品免费大片 | 国产精品久久久久7777 | 亚洲日韩精品欧美一区二区 | 久久精品中文闷骚内射 | 全球成人中文在线 | 天天躁夜夜躁狠狠是什么心态 | 性色欲情网站iwww九文堂 | 青青青手机频在线观看 | 国产成人无码av一区二区 | 国产超碰人人爽人人做人人添 | 中文字幕无码日韩专区 | 国产人妻久久精品二区三区老狼 | 玩弄少妇高潮ⅹxxxyw | 中文字幕色婷婷在线视频 | 色偷偷人人澡人人爽人人模 | 久久伊人色av天堂九九小黄鸭 | 黑人粗大猛烈进出高潮视频 | 99精品无人区乱码1区2区3区 | 无码中文字幕色专区 | 无码人妻黑人中文字幕 | 欧美日韩视频无码一区二区三 | 偷窥日本少妇撒尿chinese | 色综合久久网 | 国产成人无码午夜视频在线观看 | 日韩成人一区二区三区在线观看 | 国产麻豆精品精东影业av网站 | 亚洲欧美精品aaaaaa片 | 一本色道久久综合亚洲精品不卡 | 中文字幕无码日韩专区 | 国产99久久精品一区二区 | 男人和女人高潮免费网站 | 亚洲欧美日韩国产精品一区二区 | 国产福利视频一区二区 | 999久久久国产精品消防器材 | 99久久无码一区人妻 | 国产精品自产拍在线观看 | 高清不卡一区二区三区 | 欧美黑人巨大xxxxx | 色五月五月丁香亚洲综合网 | 日韩少妇内射免费播放 | 性色欲情网站iwww九文堂 | 日本在线高清不卡免费播放 | 国产一精品一av一免费 | 性欧美牲交在线视频 | 久久久久人妻一区精品色欧美 | 亚洲精品一区二区三区在线观看 | 欧美熟妇另类久久久久久不卡 | 特黄特色大片免费播放器图片 | 国产午夜福利100集发布 | 少妇的肉体aa片免费 | 久久国语露脸国产精品电影 | 成人精品一区二区三区中文字幕 | 国产精品毛多多水多 | 国产麻豆精品一区二区三区v视界 | 亚洲色无码一区二区三区 | 国内综合精品午夜久久资源 | 四十如虎的丰满熟妇啪啪 | 欧美一区二区三区视频在线观看 | 一本无码人妻在中文字幕免费 | 少妇被黑人到高潮喷出白浆 | 国内丰满熟女出轨videos | 丰满人妻精品国产99aⅴ | 国产特级毛片aaaaaaa高清 | 国产精品美女久久久 | 精品成在人线av无码免费看 | 中文字幕乱码中文乱码51精品 | 亚洲爆乳大丰满无码专区 | 丰满少妇高潮惨叫视频 | 中国大陆精品视频xxxx | 国产av人人夜夜澡人人爽麻豆 | 女人高潮内射99精品 | 国産精品久久久久久久 | 中文字幕人成乱码熟女app | 免费无码午夜福利片69 | 国产又爽又猛又粗的视频a片 | 丰满人妻一区二区三区免费视频 | 亚洲一区二区三区四区 | 日本又色又爽又黄的a片18禁 | 中文字幕乱码中文乱码51精品 | 亚洲中文无码av永久不收费 | 久久亚洲a片com人成 | 国产精品亚洲专区无码不卡 | 粗大的内捧猛烈进出视频 | 欧美兽交xxxx×视频 | 中文字幕色婷婷在线视频 | 欧美大屁股xxxxhd黑色 | 亚洲成a人片在线观看无码3d | 无码成人精品区在线观看 | 婷婷丁香五月天综合东京热 | 国产真实夫妇视频 | 蜜臀av在线播放 久久综合激激的五月天 | 国产在线无码精品电影网 | 中文字幕无码乱人伦 | 成人一区二区免费视频 | 宝宝好涨水快流出来免费视频 | 欧美性色19p | 乱人伦人妻中文字幕无码 | √天堂资源地址中文在线 | 久久精品国产精品国产精品污 | 丝袜人妻一区二区三区 | 国产做国产爱免费视频 | 欧美日韩在线亚洲综合国产人 | 久久aⅴ免费观看 | 国产精品无码永久免费888 | 好男人www社区 | 亚洲自偷自拍另类第1页 | 国产精品对白交换视频 | 激情亚洲一区国产精品 | 欧美国产日产一区二区 | 亚洲熟妇色xxxxx欧美老妇y | 青青青手机频在线观看 | 玩弄人妻少妇500系列视频 | 亚洲狠狠婷婷综合久久 | 综合网日日天干夜夜久久 | 亚洲中文字幕在线无码一区二区 | 成人一在线视频日韩国产 | 国产69精品久久久久app下载 | 精品一区二区不卡无码av | 成人女人看片免费视频放人 | 日韩精品a片一区二区三区妖精 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲а∨天堂久久精品2021 | 精品偷拍一区二区三区在线看 | 久久国产精品萌白酱免费 | 丰满少妇弄高潮了www | 欧美人妻一区二区三区 | 欧美日韩亚洲国产精品 | 欧美日本精品一区二区三区 | 亚洲精品www久久久 | 国产精品久久国产精品99 | 免费人成在线视频无码 | 国产午夜无码精品免费看 | 国产精品igao视频网 | 亚洲欧美精品aaaaaa片 | 99视频精品全部免费免费观看 | 久久午夜无码鲁丝片 | 天天拍夜夜添久久精品大 | 精品欧洲av无码一区二区三区 | 中文字幕色婷婷在线视频 | 亚洲va中文字幕无码久久不卡 | 老司机亚洲精品影院无码 | 亚洲精品鲁一鲁一区二区三区 | 老太婆性杂交欧美肥老太 | 4hu四虎永久在线观看 | 久久久久免费精品国产 | 日产精品高潮呻吟av久久 | 国产猛烈高潮尖叫视频免费 | 亚无码乱人伦一区二区 | 国内揄拍国内精品少妇国语 | 午夜无码人妻av大片色欲 | 蜜桃臀无码内射一区二区三区 | 精品人人妻人人澡人人爽人人 | 自拍偷自拍亚洲精品被多人伦好爽 | 精品人妻中文字幕有码在线 | 中国女人内谢69xxxx | yw尤物av无码国产在线观看 | 国产精品a成v人在线播放 | 一本无码人妻在中文字幕免费 |