3.寄存器(内存访问)

  1. CPU中,用16位来存储一个字。高8位存放高位字节,低8位存放低位字节。
  2. 内存存储中,内存单元是字节单元(1单元=1字节),则一个字要用两个地址连续的内存单元存放。
  3. 内存存储中,高位字节,和低位字节是相对的,指令指向的是低位字节。
  4. 字单元,即存放一个字型数据(16位=2字节)的内存单元,由两个地址连续的内存单元组成。
  5. 8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址
  6. MOV指令的几种种功能:
    • 将数据直接送入寄存器 mov ax,1000H
    • 将一个寄存器中的内容送入另一个寄存器 mov ax,bx;mov ds,ax
    • 将一个内存单元中的内容送入寄存器 mov ax,[...]
    • 将寄存器中的内容送入内存单元 mov [...],ax
    • ...
  7. “[...]”表示一个内存单元,“[...]”中的内容则表示内存单元的偏移地址。
  8. 8086CPU中,不能给DS寄存器直接赋值,需要通过通用寄存器间接赋值,如“段地址-->通用寄存器-->DS寄存器”。
  9. add指令表示相加,sub指令表示相减。
  10. [address]便是一个偏移地址为address的内存单元。
  11. mov、add、sub是具有两个操作对象的指令。jmp是具有一个操作对象的指令。
  12. 是一种具有特殊的访问方式的存储空间,它的特殊性就在于,先进后出的特性。
  13. 8086CPU提供了入栈和出栈指令,最基本的两个是PUSH(入栈)POP(出栈)。
  14. 8086CPU的入栈和出栈操作都是以字(2字节)为单位进行的。
  15. 8086CPU中,有两个寄存器,段寄存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中。
  16. 任意时刻,SS:SP指向栈顶元素
  17. PUSH入栈时,SP=SP-2(1字),栈顶从高地址向低地址方向增长,出栈时则SP=SP+2.
  18. 栈为空时,栈中没有元素,也就不存在栈顶元素,所以SS:SP只能指向最底部单元下面的单元
  19. 8086CPU不能保证我们对栈的操作不会超界,它只知道栈顶在何处(有SS:SP指示),并不知道这个栈有多大。
  20. push和pop指令可以有如下形式:
    • push  寄存器
    • pop   寄存器
    • push  段寄存器
    • pop   段寄存器
    • push  内存单元
    • pop   内存单元
  21. 请灵活,仔细运用CS:IP(指令),DS:[...](数据),SS:SP(栈)
    • 对于数据段,将它的段地址放在DS中,用mov,add,sub等访问内存单元的指令时,CPU就将我们第一的数据段内容当成数据来访问。
    • 对于代码段,将它的段地址放在CS中,将段中的第一条执行的指令的偏移地址放在IP中,这样CPU就会执行代码段中的指令
    • 对于栈段,将它的段地址放在SS中,将栈顶单元的偏移地址放在SP中,这样CPU在需要进行栈操作时,比如push,pop指令时,就将栈段当成栈空间来用了。

转载于:https://www.cnblogs.com/zxj159/archive/2012/12/10/2811380.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式。在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高。接下来千锋小编分享的广州HTML5大前端学习就给大家…

POJ 2152 Fire

算是我的第一个树形DP 的题: 题目意思:N个城市形成树状结构。现在建立一些消防站在某些城市;每个城市有两个树形cost(在这个城市建立消防站的花费),limit ; 我们要是每个城镇都是安全的&#xf…

php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

GET: 请求指定的页面信息,并返回实体主体。HEAD: 只请求页面的首部。POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。PUT: 从客户端向服务器传送的数据取代指定的文档的内容。DELETE: …

python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...

我不确定我完全理解你的问题,但我认为下面的例子可以满足你的要求。服务器可以断开旧用户的连接,为新用户提供服务。在服务器端:#!/usr/bin/env pythonimport socketimport multiprocessingHOST 127.0.0.1PORT 50007# you can do your real…

dede搜索php在哪,dede搜索页面怎么调用及相关搜索调用

dede搜索页面怎么调用,那几天有事情,所以导致博客几天都一直没有更新,之前我们讲过dede内容页面和dede列表模板的调用,今天我们一起来学习下搜索页面的调用,很多做企业站朋友们都不知道dede的搜索页怎么仿,…

电脑中病毒后被隐藏的文件的显示

用批处理或DOS更改属性。批处理就是建个记事本,输入attrib -h -s -r %~dp0\*.* /s /d,然后另存为随便.bat,把它放到那些隐藏文件夹外面(不是里面),然后双击打开,等它自己关闭窗口就好了转载于:h…

HDU 3555 - Bomb

第一道数位dp&#xff0c;属于基础模板&#xff0c;又自卑小时没学好数数了&#xff0c;只是不清楚为什么大家的dp定义都是相同的&#xff0c;很显然么&#xff0c;难道我写的是怪胎。。。 /* ID:esxgx1 LANG:C PROG:hdu3555 */ #include <cstdio> #include <cstring&…

浏览器angent分析工具

cz.mallat.uasparser.UserAgentInfo info null; info uasParser.parse(userAgent);转载于:https://www.cnblogs.com/yaohaitao/p/6048011.html

python2协程_python中的协程(二)

协程1、协程&#xff1a;单线程实现并发在应用程序里控制多个任务的切换保存状态优点&#xff1a;应用程序级别速度要远远高于操作系统的切换缺点&#xff1a;多个任务一旦有一个阻塞没有切&#xff0c;整个线程都阻塞在原地&#xff0c;该线程内的其他的任务都不能执行了一旦引…

python相减函数subs,SUBS(subs是什么函数)

matlab中subs()是符号计算函数&#xff0c;详细用法可以在Matlab的Command Windows输入&#xff1a;help subs。subs()函数表示将符号表达式中的某些符号变量替换为指定的新的变.f1subs(f,t,t3); f2subs(f1,t,2*t); f3subs(f2,t,-t); subplot(2,2,1);ezplot(f,[-8,8]);。subs是…

hdu--1075--字典树||map

做这题的时候 我完全没想到 字典树 就直接用map来做了 - 我是有 多不 敏感啊~~ 然后去 discuss 一看 很多都是说 字典树的问题.... 字典树 给我感觉 它的各个操作的意思都很清晰明了 直接手写 不那么容易啊。。 晚些 时候 试下来写------用map写是真心方便 只要注意下那么\n的吸…

归档七

课后作业1 运行 TestInherits.java &#xff0c;观察输出&#xff0c;总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码&#xff0c;调用GrandParent的另一个构造函数。 class Grandparent { public Grandparent() { System.out.println("GrandParent Creat…

php的类装载的步骤,设计PHP自动类装载功能

在使用面向对象方法做PHP开发时&#xff0c;可能会经常使用到各个路径中的类文件&#xff0c;这就需要大量的 include 或 require&#xff0c;而 PHP 提供了一个比较快捷的方式&#xff0c;就是利用函数 __autoload 可以编程实现动态的类装载功能&#xff0c;这样就不需要手动的…

python 重定向 ctf_3.CTF——python利用工具

web AWD 攻与防CTF线下赛主要考察代码审计能力及运维能力&#xff0c;代码审计发现漏洞&#xff0c;python写利用漏洞&#xff0c;运维发现可疑攻击目标&#xff0c;异常流量&#xff0c;异常权限&#xff0c;重要业务备份与还原。用运维的知识加固系统与业务。当被人攻击以后&…

网站首页幻灯片

Js页面: View Code /** * 大眼睛广告轮播 */ var indexEye {autoTime: 0,init: function () {var eyeObj $("#dyj_pics a:eq(0) img:eq(0)");eyeObj.attr("src", eyeObj.attr("data-imgSrc"));eyeObj.load(function () {indexEye.autoTime se…

【java】错误 找不到或无法加载主类

很诡异&#xff0c;class文件夹下的class文件没有了&#xff0c;删除文件夹 &#xff0c;重新编译下。。。转载于:https://www.cnblogs.com/merlini/p/3892719.html

Qt之QAbstractItemView视图项拖拽(二)

一、需求说明 上一篇文章Qt之QAbstractItemView视图项拖拽(一)讲述了实现QAbstractItemView视图项拖拽的一种方式&#xff0c;是基于QDrag实现的&#xff0c;这个类是qt自己封装好了的&#xff0c;所以可定制性也就没有了那么强&#xff0c;最明显的是&#xff0c;这个类在执…

电脑控制苹果手机_必备神器,电脑控制手机

序一款电脑端的神器&#xff0c;它可以任意的操纵你的手机。****QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备&#xff0c;并进行显示和控制。不需要root权限。单个应用程序最多支持16个安卓设备同时连接。同时支持GNU/Linux&#xff0c;Windows和MacOS三大主流桌面平台。…

php未定义要怎样做,php-Behat-未定义的功能步骤

我设置了一个简单的测试场景来学习behat,但是我遇到了一些问题.我正在关注THIS教程.这是我的专题节目&#xff1a;Feature: showThis is a behat feature to test the article pages.##TODOScenario: I want to view a detailed article pageGiven I am logged inAnd Im on &qu…

CentOS 命令大全 (转)

1、查看系统使用端口并释放端口 [rootmy_nn_01 WEB-INF]# lsof -w -n -i tcp:80 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24065 root 34u IPv6 269149 TCP *:http (LISTEN) [rootmy_nn_01 WEB-INF]# kill -9 24065 2、以KB/MB形式显示文件列表…