zoukankan      html  css  js  c++  java
  • 第三章总结

    1.在内存中字的存储方式

    在8086CPU中:高位字节放在较高的地址单元内,低地址内存单元中存放字型数据的低位字节。(小端法

    2.DS寄存器:存储数据段的段地址。

    例:mov bx,1000H

    mov ds,bx

    mov al,[0]

    就可以将10000H(1000:0)中的数据读入al中。

    注意:在8086CPU中不支持直接将数据直接送入段寄存器的操作。(即:不可mov  ds,1000,这一点上同CS,IP)

    3.mov,add,sub汇编指令。

    mov指令,功能:赋值

    add指令,功能:相加

    sub指令,功能:相减,sub ax,bx (功能相当于C语言中ax-=bx)

    汇编指令 用法 例子
    mov

    mov 寄存器,数据

    mov 寄存器,寄存器

    mov 寄存器,内存单元

    mov 内存单元,寄存器

    mov 段寄存器,寄存器

    mov ax,8

    mov ax,bx

    mov ax,[0]

    mov [0],ax

    mov ds,ax

    add

    add 寄存器,数据

    add 寄存器,寄存器

    add 寄存器,内存单元

    add 内存单元,寄存器

    add ax,8

    add ax,bx

    add ax,[0]

    add [0],ax

    sub

    sub 寄存器,数据

    sub 寄存器,寄存器

    sub 寄存器,内存单元

    sub 内存单元,寄存器

    sub ax,9

    sub ax,bx

    sub ax,[0]

    sub [0],ax

    push

    push 寄存器

    push 段寄存器

    push 内存单元

    push ax

    push ds

    push [0]

    pop

    pop 寄存器

    pop 段寄存器

    pop 内存单元

    pop ax

    pop ds

    pop[0]

    4数据段:定义:将一组长度为N(N<=64KB),地址连续,起始地址为16的倍数内存单元作为专门储存数据的内存空间。

    5栈

    定义:将一组长度为N(N<=64KB),地址连续,起始地址为16的倍数内存单元当作栈空间来使用。

    特性:先入后出LIFO(Last In First Out),就如同一个一段封口的管子,只能在一端进行放东西和取东西的操作。

    指令:入栈指令 PUSH,出栈指令POP(用法见上表)

    SS:堆栈段寄存器,用来储存栈底位置

    SP:表示栈顶指针,指向栈顶地址

    SS:SP始终指向栈顶

    POP执行时,先将SS:SP指向的内存空间的值赋值给POP的操作对象。然后SP指针+2

    PUSH执行

    由于8086CPU不进行越界检查(这点和C语言类似),所以容易发生越界问题。

    栈段的最大空间为64KB(2^16-1)

  • 相关阅读:
    springboot自定义jar打包不能导入到项目中
    ajax上传文件+传json数据
    cooladmin vitevue3 打包部署 nginx代理设置
    istio 安装
    logging
    orm 多对多
    shell 多线程
    舒服的jenkins子节点
    phpfpm coredump
    drf 自定义异常
  • 原文地址:https://www.cnblogs.com/asm085/p/9870514.html
Copyright © 2011-2022 走看看