汇编语言整理

本文详细介绍了8086汇编语言中数据的定义,如DB和DW伪指令,以及操作数的类型,包括寄存器、立即数和存储器操作数。讲解了段寄存器、通用寄存器的用途,并阐述了直接寻址、间接寻址和各种寻址模式。此外,还重点讨论了MOV指令的限制和使用注意事项,以及汇编语言中常用的算术、逻辑和控制指令,如ADD、MUL、SUB、LOOP等。最后提到了字符串操作指令和I/O操作,如INT 21H的功能。
摘要由CSDN通过智能技术生成

用DB定义的数据,每个数据占用1B的存储器。可以出现用单或双引号括起来的单个或多个字符,每个字符占1B,按照它们出现的顺序用ASCII代码存储。DUP称为“重复定义符”,表示定义若干个相同的数据。伪指令DW用来定义字数据,每个数据占用2B,数据的高位存放在地址较大的单元里。注意:用DW定义字符串时,只能是两个,而用DB定义时,没有这个限制。

操作数:有3种类型的操作数:寄存器操作数、立即数操作数和存储器操作数。

寄存器操作数又包括段寄存器和通用数据、地址寄存器。段寄存器:CS,DS,SS,ES。通用数据寄存器:AX,BX,CX,DX。通用地址寄存器:SP,BP,SI,DI。在这么多的寄存器中,只有4个寄存器可以用来间接寻址:BX,BP,SI,DI(在8086中)。在这之中,默认情况下,BP与段寄存器SS搭配,其余3个与DS搭配。

立即数寄存器:二进制、十进制或十六进制常数,可求值的表达式、字符、标号等都可以用作操作数。

存储器操作数:它是由段基址和偏移地址组成。大多数情况下,指令使用DS寄存器的内容作为操作数的段基址,所以指令中不需要再指出段基址。为此,常常在程序开始处把数据段的段基址装入DS寄存器中。段基址的问题解决了。剩下的就是偏移地址的问题了。存储器的偏移地址可以由几个部分组合而成,合成后得到的偏移地址称作有效地址。指出偏移地址的方法有两种:直接的和间接的。所谓直接地址就是在指令里直接写出存储单元偏移地址。注意点:当变量名A定义之后,它的属性就确定下来了,而直接地址[0000H]却没有固定的属性,它可以代表字节地址,也可以代表字地址甚至是双字地址。所谓间接地址就是把存储单元的偏移地址事先装入某个寄存器中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汇编语言是一种低级的计算机语言,它直接与计算机硬件进行交互。下面是汇编语言的基础知识整理: 1. 汇编语言的作用:汇编语言用于编写底层程序,如操作系统、驱动程序和嵌入式系统等。 2. 汇编语言的特点:汇编语言是一种符号化的机器语言,使用助记符来代替二进制指令,使程序更易读和理解。 3. 寄存器:寄存器是汇编语言中最基本的数据存储单元,用于存储数据和执行运算。常见的寄存器有通用寄存器、指针寄存器和标志寄存器等。 4. 指令:汇编语言的指令是对计算机硬件进行操作的命令。指令包括数据传输指令、算术运算指令、逻辑运算指令和控制指令等。 5. 内存访问:汇编语言通过内存地址来读取和存储数据。内存地址由段地址和偏移地址组成,通过段地址和偏移地址可以唯一确定内存中的一个位置。 6. 标志位:标志位是标记计算机状态的标志位,用于判断运算结果是否满足某些条件。常见的标志位有零标志位、进位标志位和溢出标志位等。 7. 标号和跳转:汇编语言中可以使用标号来标记程序中的位置,通过跳转指令可以根据条件或无条件地跳转到指定的标号处。 8. 子程序和栈:子程序是一段独立的代码块,可以在程序中被多次调用。栈是一种后进先出的数据结构,用于保存程序执行过程中的临时数据和返回地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值