![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
汇编语言基础
学习单片机时需要汇编语言的基础,为此在学习汇编语言时做的一些笔记。
川愚
知小而谋强
展开
-
单片机基础之汇编语言入门学习(十一) 串操作指令 转移指令 处理器控制指令
一、串操作类指令”串“就是内存中一段地址相连的字节或字;串操作,也叫数据块操作;可实现存储器数据间的直接传送;8086有5中基本串操作:MOVS 串传送指令CMPS 串比较指令SCAS 串扫描指令LODS 取串指令STOS 存串指令1.串传送指令 MOVS串传送有2种格式:(1)MOVSB字节传送;把数据段中SI寻址的数据传送到附加段种DI寻址的存储区域中;然后修改SI、DI。MOVSW 字传送(ES:DI)<-(DS:SI)(SI)<-(SI) +/.原创 2021-04-03 19:06:35 · 1103 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(十) 逻辑运算和移位运算
位操作类指令一、逻辑运算指令有以下五种指令:AND 逻辑”与“指令TEST 测试指令OR 逻辑”或“指令XOR 逻辑”异或“指令NOT 逻辑”非“指令那么什么是位?其实就是我们的二进制 0或者1。一个字节是8位,对于0001 0010来说,如果用16进制表示就是 12H。1、”与“指令 AND格式:AND dest,src;功能: (dest)<-(dest)^(src)src:立即数、通用寄存器、存储器。dest:通用寄存器、存储器两操作数不能同为存储器操作数.原创 2021-04-03 17:39:16 · 2316 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(九) 算术运算类指令
算术运算类指令包括以下四种指令加法指令减法指令乘法指令除法指令1、加法指令8086具有5条加法指令:ADD 加法指令ADC 带进位加法指令INC 加1指令AAA 加法ASCII调整指令DAA 加法十进制调整指令1.(1)无进位加法指令 ADD指令格式: ADD dest,src;功能:(dest)<-(dest)+(src) src: 立即数,通用寄存器,存储器 dest:通用寄存器,存储器例如: ADD CL,10 ADD DX,SI.原创 2021-04-03 11:53:01 · 2786 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(八) 数据传送指令
常见的汇编指令可以分为以下六类数据传送指令算术运算指令逻辑运算和移位指令串操作指令转移指令处理器控制指令数据传送类指令包括: 通用传送指令; 累加器专用传送指令 地址传送指令; 标志传送指令;1、通用传送指令①基本传送指令(MOV)指令格式:MOV DST,SRC;源操作数和目的操作数可用前述6种寻址方式的任何一种。操作:将SRC内容付给、、赋给DST。所有通用传送指令都不影响标志位。注意:不能用MOV指令实现以下传递(1)储存器操作数之间不能直接.原创 2021-04-03 00:47:42 · 1638 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(七) 七种寻址方式
七种寻址方式寻址方式可以分为:①立即数寻址方式②寄存器寻址方式③存储器寻址方式 (而存储器又可以分以下五种方式) 直接寻址方式 寄存器间接寻址方式 寄存器相对寻址方式 基址加变址寻址方式 相对加基址变址寻址方式1、立即数寻址操作数为立即数,直接存放在指令的操作数字段中。立即数寻址时,只允许源操作数为立即数,目标操作数必须是寄存器或存储器,其作用是给寄存器或存储单元赋值。在汇编中,立即数不能作为指令中的第一操作数。例如:MOV AL,80HM.原创 2021-04-02 23:19:13 · 3328 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(六)指令简介 寻址方式介绍
指令一般来说指令是由两部分组成,即操作码和操作数。操作码:是用来给出该指令应完成何种操作;操作数:用来描述该指令的操作对象。在指令中操作码是不可缺少的,但操作数可以没有,也可以有一个操作数或两个操作数。根据操作数的个数,指令格式可以分为一下几种:1、零操作数指令指令格式中没有操作数或操作数是**隐含约定**的。2、一操作数指令指令格式中有一个操作数,或还有一个隐含的操作数。(实际上是双操作数)。3、二操作数指令指令中由两个操作数,其中一个为**目的操作数**,另一个为**源操作数*原创 2021-04-01 21:51:48 · 646 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(五) 标志寄存器
**标志寄存器**标志位状态标志: 用于记录程序运行结果的状态信息 CF ZF SF PF OF AF控制标志: 用于控制处理器执行指令 DF IF TF状态标志CF进位标志:当运算结果的最高有效位有进位(加法)或借位(减法)的时候,进位标志置1,ZF 零标志:看最低字节即后8位的数值是否全部为0.SF 符号标志: 一般是看有符号的运算,看最低字节即后8位的最高位D7 有符号:-128~127PF奇偶标志:看.原创 2021-03-31 23:45:13 · 1143 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(四) 物理地址 逻辑地址 段寄存器与逻辑段
一个存储单元有一个物理地址,还有多个逻辑地址物理地址:就是一个存储单元的编号;每个物理存储单元都有一个20位编号;8086CPU物理地址范围:00000H~FFFFFH (16进制)(寻址空间:2^20 = 1M)(2^10 = 1024b = 1kb)逻辑地址:在用户编程时,采用逻辑地址,形式为: 段基地址:段内偏移地址物理地址:将逻辑地址左移4位,加上偏移地址就得到20位物理地址例如逻辑地址: 1230:100物理地址: 12400(1230*10H+1.原创 2021-03-31 17:23:46 · 2784 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(三) CS:IP
**物理地址**1、通常文件中至少有两个段:代码段:存储程序的指令一般可读、不可写、可执行数据段:存储程序中要用到的数据一般可读、可写、可执行想要运行一个程序,首先要将我们的代码段加载到内存当中,然后CPU找到程序的代码段加以执行,那么CPU是如何找到代码段在内存中的位置呢?这就需要用到物理地址。物理地址 = 基础地址 + 偏移地址 基础地址 = 段地址x10H在8086机中,任意时刻,CPU将CS:IP指向的内容作为即将执行的指令段寄存器8086CP.原创 2021-03-31 00:17:58 · 741 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(二)寄存器 及 简单汇编指令
程序的简要运行流程1、程序加载到内存中2、CPU找到程序即将执行指令位置,并执行程序那么CPU是如何找到程序即将执行指令位置呢?–需要使用寄存器(CS:IP)寻址来确定即将执行指令位置什么是寄存器寄存器是CPU内的组成部分。有限存储容量的高速存储部件,他们可以用来暂存指令、数据和地址。存在于CPU中用于存储数据速度快数量有限寄存器简介一个二进制数 = 1位;8位=1字节;2字节=1字8086CPU含有16个寄存器,所有的寄存器都是16位的,可以存放两个字节,即存放一个字。原创 2021-03-30 23:45:00 · 788 阅读 · 0 评论 -
单片机基础之汇编语言入门学习(一)存储器 CPU
README这篇文章写于在作者上《单片机及接口技术》这门课时,老师讲到了单片机汇编语言,刚刚开始接触学习到汇编,想到特别整理下来,当作日后的笔记,希望对大家也有所帮助。计算机工作流程存储器、CPU存储器:用于存储数据并在需要时提供数据外部存储器:硬盘、光盘等内部存储器: RAM:内存条 ROM: BIOS芯片外部存储器主要用于存储数据,容量需要比较大,运行慢内部存储器的容量比较小,运行快RAM:随机存储器(断电之后内容消失)ROM:只读存储器(其中内容断电之后.原创 2021-03-30 22:51:20 · 566 阅读 · 1 评论