常用8086汇编指令(彩色版).pdf
### 常用8086汇编指令详解 #### 数据传送指令 ##### 1. 通用数据传送指令 **MOV(Move)传送** - **功能**:将一个操作数的值复制到另一个操作数中。 - **格式**:`MOV DST, SRC` - **执行的操作**:`(DST) ← (SRC)` - **示例**: ```assembly MOV AX, 1000h ; 将1000h赋值给AX ``` **PUSH(Push onto the stack)进栈** - **功能**:将一个操作数压入堆栈顶部。 - **格式**:`PUSH SRC` - **执行的操作**: - `(SP) ← (SP) - 2` - `((SP)+1, (SP)) ← (SRC)` - **示例**: ```assembly PUSH AX ; 将AX的值压入堆栈 ``` **POP(Pop from the stack)出栈** - **功能**:从堆栈顶部弹出一个操作数并将其存放在指定位置。 - **格式**:`POP DST` - **执行的操作**: - `(DST) ← ((SP)+1, (SP))` - `(SP) ← (SP) + 2` - **示例**: ```assembly POP AX ; 从堆栈顶部取出数据并存入AX ``` **XCHG(Exchange)交换** - **功能**:交换两个操作数的值。 - **格式**:`XCHG OPR1, OPR2` - **执行的操作**:`(OPR1) ↔ (OPR2)` - **示例**: ```assembly XCHG AX, BX ; 交换AX和BX的值 ``` ##### 2. 累加器专用传送指令 **IN(Input)** 输入 - **功能**:从指定的I/O端口读取数据,并将其存入累加器。 - **格式**: - 长格式:`IN AL, PORT` (字节) - 短格式:`IN AL, DX` (字节) - **执行的操作**: - 长格式:`(AL) ← (PORT)` (字节) - 短格式:`(AL) ← ((DX))` (字节) - **示例**: ```assembly IN AL, 0x01 ; 从端口0x01读取字节数据到AL ``` **OUT(Output)** 输出 - **功能**:将累加器中的数据写入指定的I/O端口。 - **格式**: - 长格式:`OUT PORT, AL` (字节) - 短格式:`OUT DX, AL` (字节) - **执行的操作**: - 长格式:`(PORT) ← (AL)` (字节) - 短格式:`((DX)) ← (AL)` (字节) - **示例**: ```assembly OUT 0x02, AL ; 将AL的值输出到端口0x02 ``` **XLAT(Translate)** 换码 - **功能**:用于查找表中的特定元素,并将结果存储在AL中。 - **格式**:`XLAT OPR` - **执行的操作**:`(AL) ← ((BX) + (AL))` - **示例**: ```assembly XLAT ; 使用默认的BX作为基址,AL作为索引进行查找 ``` ##### 3. 有效地址送寄存器指令 **LEA(Loadeffective address)有效地址送寄存器** - **功能**:将源操作数的有效地址复制到目标寄存器中。 - **格式**:`LEA REG, SRC` - **执行的操作**:`(REG) ← (SRC)` - **示例**: ```assembly LEA SI, BUFFER ; 将BUFFER的地址存入SI ``` **LDS(Load DS with Pointer)指针送寄存器和DS** - **功能**:同时将有效地址复制到目标寄存器,并将段地址复制到DS。 - **格式**:`LDS REG, SRC` - **执行的操作**: - `(REG) ← (SRC)` - `(DS) ← (SRC + 2)` - **示例**: ```assembly LDS SI, BUFFER ; 将BUFFER的地址存入SI,并将段地址存入DS ``` **LES(Load ES with Pointer)指针送寄存器和ES** - **功能**:与LDS类似,但将段地址复制到ES。 - **格式**:`LES REG, SRC` - **执行的操作**: - `(REG) ← (SRC)` - `(ES) ← (SRC + 2)` - **示例**: ```assembly LES DI, BUFFER ; 将BUFFER的地址存入DI,并将段地址存入ES ``` ##### 4. 标志寄存器传送指令 **LAHF(Load AH with flags)标志送AH** - **功能**:将标志寄存器的低8位复制到AH。 - **格式**:`LAHF` - **执行的操作**:`(AH) ← (PWS的低字节)` - **示例**: ```assembly LAHF ; 将标志寄存器的低8位置入AH ``` **SAHF(store AH into flags)AH送标志寄存器** - **功能**:将AH中的值复制到标志寄存器的低8位。 - **格式**:`SAHF` - **执行的操作**:`(PWS的低字节) ← (AH)` - **示例**: ```assembly SAHF ; 将AH的值复制到标志寄存器的低8位 ``` **PUSHF(push the flags)标志进栈** - **功能**:将标志寄存器的内容压入堆栈。 - **格式**:`PUSHF` - **执行的操作**: - `(SP) ← (SP) - 2` - `((SP)+1, (SP)) ← (PSW)` - **示例**: ```assembly PUSHF ; 将标志寄存器内容压入堆栈 ``` **POPF(pop the flags)标志出栈** - **功能**:从堆栈顶部取出标志寄存器的内容。 - **格式**:`POPF` - **执行的操作**: - `(PWS) ← ((SP)+1, (SP))` - `(SP) ← (SP) + 2` - **示例**: ```assembly POPF ; 从堆栈顶部取出标志寄存器的内容 ``` #### 算术指令 ##### 加法指令 **ADD(add)加法** - **功能**:将两个操作数相加,并将结果存储在目标操作数中。 - **格式**:`ADD DST, SRC` - **执行的操作**:`(DST) ← (SRC) + (DST)` - **示例**: ```assembly ADD AX, 1000h ; 将AX和1000h相加,结果存入AX ``` **ADC(add with carry)带进位加法** - **功能**:与ADD类似,但在加法过程中考虑了CF标志。 - **格式**:`ADC DST, SRC` - **执行的操作**:`(DST) ← (SRC) + (DST) + CF` - **示例**: ```assembly ADC AX, 1000h ; 将AX、1000h和CF标志相加,结果存入AX ``` **INC(increment)加1** - **功能**:将操作数加1。 - **格式**:`INC OPR` - **执行的操作**:`(OPR) ← (OPR) + 1` - **示例**: ```assembly INC AX ; 将AX加1 ``` 以上是对8086汇编语言中常用的几种数据传送指令和算术指令的详细介绍。这些指令是编程的基础,掌握它们对于编写高效的汇编代码至关重要。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全自动冲孔机设备工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 球体自动发射机机械设计结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- 先下载此软件,不要管名字.apk.1
- 通过Starter修改项目版本和设备版本的具体方法(英文版).pdf
- 毕设和企业适用springboot智慧城市管理类及机器人平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧教育平台类及金融交易平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧教育平台类及教学资源共享平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及酒店管理平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及金融数据分析平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及客户服务平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及客户服务智能化平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及区块链平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及区块链交易平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及人工智能客服平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及食品配送平台源码+论文+视频.zip
- 毕设和企业适用springboot智慧城市管理类及团队协作平台源码+论文+视频.zip