8086汇编 学习1

汇编语言

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

机器语言到汇编语言

  • 机器语言是机器指令的集合、是一台机器可以正确执行的命令、由一串二进制数表示,例 01010000。

  • 汇编语言

    • 汇编语言的主体是汇编指令
    • 汇编指令和机器指令的差别在于指令的表示方法上
    • 汇编指令是机器指令便于记忆的书写格式
    • 汇编指令是机器指令的助记符
  • 机器指令与汇编指令对比

    机器指令: 1000100111011000
    操作:将寄存器BX的内容送到AX中
    汇编指令:MOV AX, BX
    

寄存器

8086寄存器组都是16位的寄存器
根据用途分为

  • 数据寄存器
  • 地址寄存器
  • 段寄存器
  • 控制寄存器

寄存器

  1. 数据寄存器
    数据寄存器中每个俱存其又可以分为2个8位的寄存器
    分别为AH,AL,BH,BL,CH,CL,DH,DL.
    H表示高字节(高8位)寄存器
    L表示低字节(低8位)寄存器
    例如:用 AX 寄存器存放一个字 1234H,表示为 (AX)=1234H,即高字节 12 放在 AH,低字节 34 放在 AL 中。
  2. 地址寄存器
    地址寄存器包括指针和变址寄存器(SP,BP,SI,DI)四个16位的寄存器
    可以用来存放存储器操作数的偏移地址,也可以作为通用寄存器使用
  3. 段寄存器
    8086CPU有4个16位的段寄存器
    • CS代码段寄存器
    • DS数据段寄存器
    • ES附加段寄存器
    • SS堆栈段寄存器
  4. 控制寄存器
    控制寄存器包括IP和FLAGS(又称为PSW程序状态字)两个16位寄存器,用于控制程序的执行
    IP指令指针寄存器,用于存放代码段中的偏移地址,指出当前正在执行指令的下一条指令所在单元的偏移地址
    FLAGS标志寄存器中的某位代表CPU的1个标志,表示出CPU的某种执行状态,最低位为D0,最高位为D15。

寻址方式

  1. 数据寻址:访问所需要的数据(操作数)
  2. 指令寻址:一条指令执行后,确定执行的下一条指令的位置
    汇编指令由操作码字段和操作数字段构成
    对于双操作指令,第一个操作数称为目的操作数,表示操作后的结果;第二个操作数称为源操作数,表示来源操作数。

img

8086汇编基本指令

功能上分类:
一、 数据传送指令:MOV、XCHG、LEA、LDS、LES、PUSH、POP、PUSHF、POPF、CBW、CWD、CWDE。
二、 算术指令:ADD、ADC、INC、SUB、SBB、DEC、CMP、MUL、DIV、DAA、DAS、AAA、AAS。
三、 逻辑指令:AND、OR、XOR、NOT、TEST、SHL、SAL、SHR、SAR、RCL、RCR、ROL、ROR。
四、 控制转移指令:JMP、Jcc、JCXZ、LOOP、LOOPZ、LOOPNZ、LOOPNE、CALL、RET、INT。
五、 串操作指令:MOVS、LODS、STOS、CMPS、SCAS。
六、 标志处理指令:CLC、STC、CLD、STD。
七、 32位CPU新增指令

 posted on 2020-10-05 13:34  My_serendipity  阅读(157)  评论(0编辑  收藏  举报