计算机专业必考之计算机指令设计格式

计算机指令设计格式

例题:

0d0b8ec1fccf4763b0c704f393733308.jpg

 

1.设相对寻址的转移指令占3个字节,第一字节为操作码,第二,第三字节为相对偏移量,

数据在存储器以低地址为字地址的存放方式。

每当CPU从存储器取出一个字节时候,自动完成(PC)+1-PC

(1)PC当前值为240,要求转移到290(十进制),转移指令的第二,第三字节机器代码:

取出三字节后PC为243;

相对偏移量为290-243=47;

即二进制数00101111;转换为16进制补码;2FH;

由于是低字节存储,第二字节2FH,第三字节00H;两字节即为二进制数0000000000101111

(2)PC当前值为240(十进制),要求转移到200(十进制),转移指令的第二,第三字节机器代码:

2fb68b8fead84b1eba1e77d00af6d215.jpg

 

取出三字节后PC为243

200-243=-43;

二进制数原码为00101011

补码为:11010100+1=11010101

即D5H(H后缀表示十六进制)

从上到下:栈地址由高地址到低地址。

SP指针一直指向栈顶,入栈后SP=SP-t,出栈SP=SP+t;t取值与编址方式相关,按字编址,t为1;

按字节编址,t为字长位数/8;

例题:

双字长直接寻址的子程序调用指令,第一个字为操作码和地址码,第二个字为地址码5000H,假设PC值为2000H,SP内容为0100好,栈顶内容为2746H,存储器按字节编址,进栈操作是先执行SP=SP-t;后存入数据

求CALL指令被执行后与子程序返回后

PC,SP和栈顶的内容?CALL指令占4个字节;

e66995a56e7f4154b71b55bfa6cd8f7c.png

 

(1)CALL执行后

PC为5000H

SP为SP-2=00FEH(16进制为4位,一位为二进制的两位,二进制共16位,16/8=2字节)

栈顶的内容为2004H;

(2)子程序返回后

PC为2004H,(2000-2003存放CALL指令)

SP为0100H;(出栈)

栈顶内容为2746H

例题:

某机字长16位,存储器寻址空间128位字,变址时候偏移量为-64~+63,16个通用寄存器都可以作为变址寄存器,设计一套指令格式,满足下列寻址要求

a5109ea4adba484bbb804ef4d36cffad.png

 

(1)直接寻址的二地址指令3条

直接寻址是地址直接作为操作数,

128位字,即2^7,即有7位,两地址有14位,剩下2位为操作码地址,00,01,11作为3条指令的操作码,剩下的11用来区分其他;

(2)变址寻址的一地址指令6条

变址寻址即选择变址寄存器作存储操作数,16个通用寄存器都可以作为变址寄存器占4位(2^4=16),变址时候偏移量为-64~+63占7位,剩下五位作为操作码,操作码前两位是11(与(1)区分),6条即11000-11101,

(3)寄存器寻址的二地址指令8条

地址占7位,寄存器寻址即4位区分16个寄存器,两个寄存器地址,共8位,剩下8位是操作码。操作码前5位11110与之前的区分((2)中操作码是11000-11101,),剩下的3位实现8条指令,

(4)直接寻址的一地址指令12条

7位地址位实现一地址128位存储空间字。剩下9位,比(3)指令位拓展了一位,与(3)中的剩下8位指令位结合,组成16位操作码,以11111作为特征位,剩下的0000-1011,一共12位,

(5)零地址指令32条

操作数没有,后5位实现32.

 

 

                                                      

 

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

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

相关文章

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.1,2 SPI驱动实验-SPI协议介绍

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

计算机组成原理易混淆知识点总结(持续更新)

目录 1.机器字长,存储字长与指令字长 2.指令周期,机器周期,时钟周期 3.CPI,IPS,MIPS 4.翻译程序和汇编程序 5.计算机体系结构和计算机组成的区别和联系 6.基准程序执行得越快说明机器的性能越好吗? 1.机器字长,存储字长与指令字长 不同的机器三者…

AI智能体|扣子Coze文生图功能接入微信公众号

大家好,我是无界生长。 AI智能体|扣子Coze文生图功能接入微信公众号本文分享了如何将Coze平台的文生图功能接入微信公众号的详细操作流程,包括创建图像流、创建并配置Bot、设置提示词和开场白、调试、发布等步骤。如果看完还没学会的话&…

网页图片加载慢的求解指南

网页/图片加载慢的求解指南 一、前言与问题描述 今天刚换上华为的HUAWEI AX3 Pro New,连上WIFI后测速虽然比平时慢,但是也不算太离谱,如下图所示: 估计读者们有也和作者一样,还没意识到事情的严重性😁。 …

08Django项目--用户管理系统--查(前后端)

对应视频链接点击直达 TOC 一些朋友加我Q反馈,希望有每个阶段的完整项目代码,那从今天开始,我会上传完整的项目代码。 用户管理,简而言之就是用户的增删改查。 08项目点击下载,可直接运行(含数据库&…

PHP框架 Laravel

现在因为公司需求,需要新开一个Laravel框架的项目,毫无疑问,我又被借调过去了,最近老是被借调,有点阴郁,不过反观来看,这也是好事,又可以复习和巩固一下自己的知识点,接下…

大数据开发面试题【Spark篇】

115、Spark的任务执行流程 driver和executor,结构式一主多从模式, driver:spark的驱动节点,用于执行spark任务中的main方法,负责实际代码的执行工作;主要负责:将代码逻辑转换为任务、在executo…

编译qt5.15.2(mac/windows)的mysql驱动(附带编译好的文件)

文章目录 0 背景1 编译过程2 福利 0 背景 因为需要连接到mysql数据库,所以需要连mysql驱动。 1 编译过程 1,打开文件/Users/mac/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/sqldrivers.pro,注释掉QMAKE_USE mysql; 如…

国产【Jetson Xavier NX】——从裸机到深度学习开发环境配置

1、设置系统从固态硬盘启动 英伟达官方NX出厂是直接将SD卡(64/128G)烧录系统作为系统盘使用,国产NX出厂是将系统配置在8G内存中,在后续使用中需配置大量开发包,故将系统设置为从固态硬盘启动。 参考链接 https://blo…

vue3中使用svg图标

安装依赖 npm i vite-plugin-svg-icons -D vite.config.ts中添加配置 主要为指定svg图标存放路径以及命名方式 import { defineConfig } from vite import vue from vitejs/plugin-vue import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path;…

總結力學_3

參考: 陈曦<<力学讲义>>http://ithatron.phys.tsinghua.edu.cn/downloads/mechanics.pdf 10 非惯性系 10.1 匀加速平动非惯性系 10.2 定轴匀速转动非惯性系 可以更好刻劃總結力學_2的有心力運動、質點系的運動的工具! 11 线性系统 11.1 线性系统、11.2 受迫…

【深入理解Python中的装饰器】

文章目录 前言装饰器的基本概念带参数的装饰器类作为装饰器结论 前言 装饰器是Python中一个非常强大且灵活的特性&#xff0c;它允许程序员在不修改原函数代码的情况下&#xff0c;增加或修改函数的行为。装饰器本质上是一个接受函数作为参数并返回一个新函数的函数。本文将深…

点击登录按钮先检测输入框的规则检测(vue组合式)

<template><el-form :model"user" :rules"rules" ref"loginForm" label-width"auto" style"max-width: 600px"><el-form-item label"用户名" prop"name"><el-input v-model"…

【Linux-LCD 驱动】

Linux-LCD 驱动 ■ Framebuffer 简称 fb■ LCD 驱动程序编写■ 1、LCD 屏幕 IO 配置■ 2、LCD 屏幕参数节点信息修改■ 3、LCD 屏幕背光节点信息■ 4、使能 Linux logo 显示 ■ 设置 LCD 作为终端控制台■ 1、设置 uboot 中的 bootargs■ 2、修改/etc/inittab 文件 ■ LCD 背光…

ROS的noetic版本

设置 sources.list 执行下面命令&#xff0c;设置从清华源下载 ROS 软件包。 sudo sh -c echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list设置密钥 sudo apt-key adv --keyse…

鸿蒙知识点总结

1 Stage模型应用程序包结构 在开发态&#xff0c;一个应用包含一个或者多个Module&#xff0c;可以在DevEco Studio工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元&#xff0c;包含了源代码、资源文件、第三方库及应用/服务配置文件&#xff0c;每一…

快速上手 HuggingFace

HuggingFace HuggingFace 是类似于 GitHub 的社区&#xff0c;它主要提供各种的模型的使用&#xff0c;和 github 不同的是&#xff0c;HuggingFace 同时提供了一套框架&#xff0c;进行模型推理&#xff0c;模型训练、和模型库文件的管理等等。本文将介绍&#xff0c;如何快速…

【MySQL精通之路】全文搜索(9)-全文解析器-MeCab

主博客&#xff1a; 【MySQL精通之路】全文搜索功能-CSDN博客 目录 1.介绍 2.安装MeCab Parser插件 3.创建使用MeCab分析器的FULLTEXT索引 4.MeCab Parser空间处理 5.MeCab分析程序停止字处理 6.MeCab Parser术语搜索 7.MeCab分析程序通配符搜索 8.MeCab语法分析器短语…

echarts学习篇

一、使用echarts 1.引入 Apache ECharts <!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <!-- 引入刚刚下载的 ECharts 文件 --> <script src"echarts.js"></script> </head> </html> 2.…

深度神经网络——什么是自动编码器?

自动编码器 自动编码器&#xff08;Autoencoders&#xff09;是无监督学习领域中一种重要的神经网络架构&#xff0c;它们主要用于数据压缩和特征学习。 自动编码器的定义&#xff1a; 自动编码器是一种无监督机器学习算法&#xff0c;它通过反向传播进行训练&#xff0c;目标…