汇编语言(一)

汇编语言

第一章 基础知识

每一种微处理器都有自己的机器指令集(汇编语言), 由于很长的1与0难以辨别与记忆,所以诞生汇编语言
操作:寄存器BX的内容送到AX中
机器指令:1000100111011000
汇编指令:mov ax,bx

汇编语言由汇编指令伪指令其他符号(后两者都不对应机器码)
分别对应:机器码的助记符编译器执行+,-,*,/由编译器识别

在存储器(内存)和磁盘上,指令和数据没有区别,都是二进制信息。CPU在工作的时候把有的信息看作指令,有的信息看做数据

1000100111011000->89D8H(为了直观计算机在显示数据多用十六进制数)(数据)
1000100111011000->mov ax,bx(指令)

一个存储器即一个存储单元,一个Byte,即8个二进制位

1KB=1024B=2^10B,1MB=1024KB=2^20B,1GB=1024MB=2^30B,1TB=1024GB=2^40B

CPU对数据进行读写操作

*存储单元的地址(地址信息)->地址总线(地址线的集合)(线是导线)
*器件的选择,读或写命令(控制信息)->控制总线(控制线的集合)
*读或写的数据(地址信息)->数据总线(数据线的集合)

mov ax,[3]//[3]=>*3,3号地址单元的内容

第二章 寄存器

8086的CPU所有的寄存器都是16位,首先通用寄存器AX,BX,CX,DX,每一个可以被拆为两个

字节(byte)和字(word):8,16bit 字分为高低字节

数据传送(mov指令)      
mov ax,1a

mov ax,bx

增加指令  


add ax ,1a

add ax,bx

CS和IP

CS和IP是8086CPU中两个最为关键的寄存器,CS:IP指向CPU即将执行好的指令,修改CS:IP指令jmp 段地址:偏移地址,比如jmp 2AE3:3,此外,jmp ax 在含以上可以认为是IP=AX

8086CPU工作过程

  • 1.从CS:IP指向内存单元读取指令,读取的指令进入指令缓存器
  • 2.IP指向下一条指令
  • 3.执行指令(转到步骤1)
  • Debug命令:

    • R:查看,改变CPU寄存器的内容
    • D:查看内存中的内容
    • E:改写内存中的内容
    • U:将内存中的机器指令翻译成汇编指令
    • T:执行一条机器指令
    • A:以汇编指令格式在内存中写入一条机器指令
原文地址:https://www.cnblogs.com/zuoanfengxi/p/12300726.html