zoukankan      html  css  js  c++  java
  • 汇编语言(一)

    汇编语言

    第一章 基础知识

    每一种微处理器都有自己的机器指令集(汇编语言), 由于很长的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:以汇编指令格式在内存中写入一条机器指令
  • 相关阅读:
    git
    switch切换
    js object 常用方法总结
    pod install速度慢的终极解决方案
    MacBook Pro 初体验
    LINQ以及LINQ to Object 和LINQ to Entities
    WebService/WCF/WebAPI 之间的区别
    owin
    回车和刷新以及Ctr+F5的区别
    ASP.NET Core 启动流程图
  • 原文地址:https://www.cnblogs.com/zuoanfengxi/p/12300726.html
Copyright © 2011-2022 走看看