汇编语言----处理机控制指令及伪指令
一.处理机控制指令
指令包括
标志处理指令:CLC,STC,CMC,CLD,STD,CLI,STI
处理即机控制指令 HLT,NOP,WAIT,ESC,LOCK
重点掌握:CLC,STC,CMC,CLD,STD,CLI,STI,NOP
;使用格式
clc ;复位进位标志位 CF<-0
stc ;置位进位标志位 CF<-1
cmc ;求反进位标志位 CF<-~CF
cld ;复位方向标志位 DF<-0 串操作指令中使用
std ;置位方向标志位 DF<-1
cli ;复位中断标志位 IF<-0 用于控制可屏蔽中断的允许和静止
sti ;置位中断标志位 IF<-1
NOP ;空操作,但是占用一个字节存储单元,空耗一个指令执行周期
HLT ;使CPU进入暂停状态,此时CPU不执行任何操作。可用来程序中等待中断,一般不使用
LOCK ;指令前缀,可用放在任何指令前。在当前指令未执行完,8086输出引脚被封锁,其他控制器不能控制总线
ESC 6位立即数,reg/mem ;把浮点指令交给浮点处理器
二.伪指令
伪指令不同于汇编指令,汇编指令有对应CPU能够识别的机器码,而伪指令由编译器识别(反汇编得不到这个东西)
1.assume:说明段所对应的段寄存器
使用实示例:assume cd:codeseg
2.段定义:segment...ends
使用示例:
codeseg segment
...
codeseg ends
3.源程序结束:end
编译程序在编译时编译到end时会停止编译
4.变量定义:DB,DW,DD
使用示例:
data segmentvar dd 100001h ;定义了一个双字 var为变量名代表了偏移地址dw 100h ;定义了字变量db 0h ;定义了字节变量
data endsstack segment dw 0,0,0,0,0,0,0,0 ;每个0都是占字空间
stack ends
汇编语言----处理机控制指令及伪指令相关推荐
- 8086CPU指令系统 串操作指令和处理机控制指令
串操作指令和处理机控制指令小节 串操作指令 1,常见的串操作指令 处理机控制指令 1,标志位操作指令 2,同步控制指令 3,暂停及空操作指令 前言:公号 「编程有料」后台回复 "大礼包&qu ...
- c55x 汇编语言指令,[转载]关于TMS320C55x的汇编语言中的.sym伪指令
.sym name, value[, type, storage class, size, tag, dims] .sym伪指令用来定义一个全局变量.局部变量或一个函数符号.它有若干个参数允许你对这个 ...
- 汇编语言 循环控制指令
循环控制指令是一组增强型的条件转义指令,用来控制一个程序段的重复执行,重复次数由CX寄存器中的内容决定.这类指令的字节数均为2,第1字节是操作码,第2字节是8位偏移量,转移的目标都是短标号. LOOP ...
- 汇编语言-015(PROC伪指令定义参数方式、EXTERNDEF、INCLUDE 、EXTERN 、INVOKE、PROC、PROTO 、MOVSB 、MOVSD 、CMPSD )
1:使用PROC伪指令定义参数方式不通过寄存器传参,计算数组之和 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DW ...
- 汇编语言--div指令,伪指令dd
1.div指令是除法指令 (1)除数:有8位和16位两种,在一个reg或内存单元中 (2)被除数:默认放在AX或(DX和AX)中, 如果除数是8位,被除数则为16位,默认在AX中存放: 如果除数是16 ...
- ARM汇编语言之符号定义伪指令
今天看了一个汇编的例子,因为刚涉及ARM汇编,很多地方不懂,所以看到不懂的就觉得一个.GBLA.GBLL和GBLS在学习单片机C51汇编的时候没有遇到过,很是陌生. GBLA.GBLL和GBLS这三个 ...
- 王爽著的《汇编语言》第3版笔记
王爽著的<汇编语言>(第3版)于2013年出版,虽然是2013年出版的,但书中部分内容感觉已过时: (1). 基于intel 8086 CPU介绍,intel 8086是英特尔公司上个世纪 ...
- 汇编语言笔记(王爽)
目录 @[TOC](目录) 通用寄存器 CS和IP 修改CS.IP的指令 小 结 内存中的字的存储 小结 SI和DI [bx+si]和[bx+di] [bx+si+idata]和[bx+di+idat ...
- 【Anki 牌组+Markdown笔记分享】汇编语言
汇编语言笔记 第一章 基础知识 1.1 进位计数制与不同基数的数之间的转换 1.1.1 二进制数 1.1.2 二进制数和十进制之间的转换 1.1.3 十六进制数及其与二进制.十进制数之间的转换 1.2 ...
最新文章
- 如何为你的代码选择一个开源协议
- 数据中心成为生态系统向绿色氢经济转变的催化剂
- c++ requests网络请求库
- 数据列过滤条件常用处理
- mysql查询每个机构下的账号总数_MySQL高可用方案:实践篇
- 栈对象、堆对象、静态对象的比较
- 异常重试_Spring-Retry重试实现原理
- Android调试技巧之Eclipse行号和Logcat
- 在c语言中引用数组元素时,其数组下标的数据类型允许是什么
- ***PHP 去除换行符
- Packet Tracer 5.0实验(四) 利用三层交换机实现VLAN间路由
- modprobe命令使用方法
- oracle full table scan,ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN
- c语言 原码反码和补码
- 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 软件工程师关注的播客
- CSS3 基础(1)——选择器详解
- Linux上的查找命令之locate查找
- MFC CListCtrl实现双击编辑
- 配置Cisco ASA 5512 公网访问ASDM 详解