关于为什么立即数不能直接存入段寄存器的一些设想

2024-02-12 07:30

本文主要是介绍关于为什么立即数不能直接存入段寄存器的一些设想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

** 关于为什么立即数不能直接存入段寄存器的一些设想**

由8086的内部结构我们可以知道8086微处理器为了充分使用总线以提高程序的执行速度被设计成为两个独立的功能部件:EU和BIU,如下图所示在这里插入图片描述
我们可以看出,立即数存放在指令队列缓冲器中,而指令队列缓冲器并不能直接和BIU中的段寄存器直接链接,而是需要将数据传入通用寄存器(数据寄存器)中,然后通过16位的数据总线传入到段寄存器中,所以指令MOV DS ,1008H是错误的。要改写成MOV AX,1008H;MOV DS,AX。

这篇关于关于为什么立即数不能直接存入段寄存器的一些设想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702008

相关文章

python 在pycharm下能导入外面的模块,到terminal下就不能导入

项目结构如下,在ic2ctw.py 中导入util,在pycharm下不报错,但是到terminal下运行报错  File "deal_data/ic2ctw.py", line 3, in <module>     import util 解决方案: 暂时方案:在终端下:export PYTHONPATH=/Users/fujingling/PycharmProjects/PSENe

ccp之间是不可以直接进行+,-的,要用ccpSub和ccpAdd。

1.  http://www.cnblogs.com/buaashine/archive/2012/11/12/2765691.html  上面有好多的关于数学的方面的知识,cocos2dx可能会用到的 2.学到了   根据tilemap坐标得到层上物体的id int oneTiled=flagLayer->tileGIDt(tilePos);

把Tiled中做出的地图弄到项目中~~就是懒,为了以后直接复制写过来

1.现在.h中声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中加入tileMap = CCTMXTiledMap::create("MyTileMap.tmx"); CCTMXLayer* backLayer = tileMap->layerNamed("Tile L

直接得到Json串,转换为字典

0.新创建一个json文件,把json串拷贝到里面 1.先通过MainBundle找到资源对应的路径 2.将文件转换为NSData 3.通过NSJSonSerization得到字典 NSString*fileName=[[NSBundle mainBundle] pathForResource:@"myJson" ofType:@"json"];           NS

Modbus初学者教程,第三章:modbus寄存器说明

第三章:modbus寄存器说明 寄存器种类 Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。Modbus寄存器是指一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。寄存器的意义如下表所示。 Modbus协议定义了设备间的数据传输方式,包括数据格式和通信规则。Modbus寄存器是协议中用

Android编程入门笔记,代码可以直接复制

1.按钮 public class Sample1_1_Activity extends Activity {     /** Called when the activity is first created. */     @Override     public void onCreate(Bundle savedInstanceState) {         super.o

Python 算法交易实验72 QTV200第一步: 获取原始数据并存入队列

说明 最近的数据流往前进了一步,我觉得基本可以开始同步的推进QTV200了。上次规划了整体的数据流,现在开始第一步。 内容 1 结构位置 这是上次的总体图: 以下是这次要实现的一小部分: 从结构上,这个是整体数据流的起点,系统因为这些不断 运行的数据才开始“动”了起来,可以称为源点。 2 规范与约束 源点是基于每分钟的节拍从外界读取数据,这部分目前我没用用付费接口(数据的需求量很

java编程:命令行输入的三个整数判断是否构成三角形,不能就抛异常。

写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出 异常IllegalArgumentException,显示异常信息“a,b,c不能构成三角形”, 如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 附源代码: package 异常;public class Sa

虚拟机不能联网的问题

如果虚拟机在NAT模式下不能联网的话,有可能是你的计算机服务里面的VMwareNAT service,VMware DHCP Service没启动。