汇编总结2

一、寄存器

一个典型的cpu是由运算器,控制器,寄存器等器件组成的。

内部总线实现CPU内部各个器件之间的联系

外部总线实现cpu和主板上其他器件的联系

AX,BX,CX,DX通用寄存器

SI,DI,BP,SP基址和变址寄存器

CS,SS,DS,ES段寄存器

IP,FLAGS指令指针和标志寄存器

通用寄存器

8086cpu中,寄存器AX,BX,CX,DX通常用于存放一般性数据,称为通用寄存器,每个寄存器都是16位

为了和早期CPU兼容每一个寄存器都拆成了两个寄存器单独使用

AX分为AH和AL

字在寄存器中的存放

一个字由两个字节组成可以存在一个16位寄存器

字的高八位:存放于通用寄存器的高八位寄存器

字的低八位:存放于通用寄存器的低八位寄存器

MOV AX,20000  ; (AX)=4E20H

                             (AH)=4EH

                             (AL)=20H

 

汇编指令

mov ax,18   将18送入寄存器AX   AX=18

add ax,8 将寄存器AX中的数值加上8  AX=AX+8

mov ax,bx 将寄存器bx中的数据送入寄存器ax  AX=BX

add ax,bx 将AX和BX中的数值相加,结果存放在AX中 AX=AX+BX

mov ax,bl 是错误的指令原因是指令的两个操作对象位数不一样

物理地址

cpu访问内存单元时要给出内存单元的地址

所有的内存单元构成的存储空间是一个一维的线性空间。每一个内存单元在这个空间中都有唯一的地址,这个唯一的的地址称为物理地址。

8086的内部用两个16位地址通过计算合成得到一个20位的物理地址。

如:1230H*16+00C8H=123C8H

  段地址*16+偏移地址=物理地址

123CH*16+0008H=123C8H

理解成段的起始物理地址是:123C0H

段地址:偏移地址 1230:00C8或123C:0008

可以根据需要,将地址连续、起始物理地址为16倍数的一组内存单元当做一个段使用

CS和IP

CS:代码段寄存器,用于存放代码段的[段地址]

IP:指令指针寄存器,用于存放cpu将要读取的指令在代码段中的偏移地址

CS:IP对应的物理地址存放的cpu将要读取的指令

CS*16+IP是指令的物理地址

计算机工作的步骤

cpu基于CS:IP,计算出物理地址,然后得到相应的内存单元读取指令,送到指令缓冲区

cpu自动修改IP的值,IP=IP+所读取指令的长度,从而为下一条指令读取做准备

执行指令 转到第一步

IP和CS值的修改不能通过mov指令实现,需要借助转移指令(jmp,call)

同时修改CS IP的内容:jmp 段地址:偏移地址

比如jmp 2AE3:3 ;CS<-2AE3H

                             IP<-3H

只修改IP内容:jmp 某一合法寄存器

比如jmp AX ;IP<-AX

 

转载于:https://www.cnblogs.com/yxy98/p/9935102.html

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

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

相关文章

创业者具备的五大技能_一、如今大学生创业需要具备哪些知识与技能?

我参加过两次互联网&#xff0b;大赛&#xff0c;分别获得过省赛的金奖与银奖&#xff0c;还曾参加山东省大大小小比赛26场&#xff0c;金奖累计获得12次。对当代创业的大学生所应具备哪些基本素质深有体会。&#xff08;1&#xff09;技能&#xff1a;1、自我认知及科学规划能…

c语言定时器回调函数的参数,定时器的简单实现即回调函数的运用

&#xfeff;&#xfeff;这两天在 研究回调函数就想实现简单的定时器&#xff0c;如下是鄙人的程序望指教。ios#include #include using namespace std;app#define MAXNUM 256函数typedef void (*timerProcessFunc)(void*);spatypedef struct{unsigned int id;int timeout; /…

BZOJ3387栅栏行动

首先&#xff0c;很容易想到Dp。设f[i][0]表示第i个栅栏走左边的最短路&#xff0c;f[i][1]表示第i个栅栏走右边的最短路。 所以&#xff0c;我们要找一个刚好在第i个栅栏的左右边界下面的栅栏。如图所示&#xff1a; 则有&#xff1a; f[i][0] min(f[k][0] |Left[i] - Left[…

udacity开源的数据_评论:Udacity数据分析师纳米学位计划

udacity开源的数据by David Venturi大卫文图里(David Venturi) 评论&#xff1a;Udacity数据分析师纳米学位计划 (Review: Udacity Data Analyst Nanodegree Program) Udacity’s Data Analyst Nanodegree program was one of the first online data science programs in the …

凌晨四点钟深圳的风景

科比有过一句很励志的故事&#xff1a;凌晨四点钟洛杉矶的风景。 很多人把科比当成榜样&#xff0c;不仅仅因为他精湛的球技&#xff0c;更是因为他远超常人的职业精神。 其实做到这一点&#xff0c;并不难&#xff0c;难的是坚持。坚持那么早时间起床&#xff0c;坚持十年如一…

小程序沉浸式_古北水镇红叶祭嵌入戏精学院 全新文旅沉浸模式让游客嗨起来...

2020年10月17日-24日&#xff0c;古北水镇第二届红叶祭火热来袭。今年除了“超级漫展二次元度假”的模式&#xff0c;古北水镇与顶级沉浸互动体验运营方——INX戏精学院合作&#xff0c;在深度体验空间的同时&#xff0c;加入了互动式的实景游戏体验&#xff0c;通过演员互动&a…

又拍云刘平阳,理性竞争下的技术品牌提升之道

云服务市场趋渐平稳&#xff0c;在这种情况下&#xff0c;就需要通过对某一项技术的深入应用来实现服务的精致化。同时&#xff0c;对品牌的打造和包装也必不可少。\\又拍云在2010年开始提供云服务&#xff0c;经过多年的发展&#xff0c;以及市场策略的转变&#xff0c;决定对…

编写代码的工作在哪找_编写事件代码如何帮助我获得了出色的工作

编写代码的工作在哪找Everyone kept telling me about the importance of networking, but it was always something I blew off. I’m pretty quiet and introverted, particularly when meeting strangers. I thought I just wasn’t built for networking.每个人都在不断告诉…

int x = 0x13 c语言,2004年7月全国高等教育自学考试微型计算机原理与接口技术试题...

课程代码&#xff1a;02205第一部分 C语言程序设计一、单项选择题(在每小题的四个备选答案中&#xff0c;选出一个正确答案&#xff0c;并将正确答案的序号填在题干的括号内。每小题2分&#xff0c;共10分)1.4位无符号二进制数表示的数的范围是( )。A.0&#xff5e;9999 B.…

iOS开发简单高效的数据存储

在iOS开发过程中&#xff0c;不管是做什么应用&#xff0c;都会碰到数据保存的问题&#xff0c;你是用什么方法来持久保存数据的&#xff1f;这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题&#xff0c;而且大家对这个问题的热情持续高涨。本文主要从概念上把“数据…

Oracle中Date和Timestamp的区别

Date和Timestamp精度不一样&#xff1a; 01&#xff09;Timestamp精确到了秒的小数点&#xff08;如&#xff1a;2018-11-13 16:40:03.698&#xff09;&#xff1b; 02&#xff09;Date只精确到整数的秒&#xff08;如&#xff1a;2018-11-13 16:40:03&#xff09; 转载于:http…

table偏见和HTML仇外心理

by Anthony Ng由Anthony Ng <table>偏见和HTML仇外心理 (<table> prejudice and HTML xenophobia) I was looking over some HTML with a student the other day when we stumbled onto a <table>.前几天&#xff0c;当我偶然发现一个<table>时&#…

回滚机制_【巨杉数据库SequoiaDB】巨杉 Tech | 并发性与锁机制解析与实践

01概述数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时&#xff0c;在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据&#xff0c;破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。…

Android系统源码学习——源码目录结构介绍

2019独角兽企业重金招聘Python工程师标准>>> Android 4.0源码目录结构: 本文介绍Android源码目录结构&#xff0c;以便读者理清Android编译系统核心代码在Android源代码的位置。 Android源码体积非常庞大&#xff0c;由Dalvik虚拟机、Linux内核、编译系统、框架代码…

简答题c语言文件操作顺序,计算机基础与程序设计2012年4月真题试题(02275)

计算机基础与程序设计2012年4月真题试题与答案解析(02275)计算机基础与程序设计2012年4月真题试题与答案解析(02275)&#xff0c;本试卷总共100分。一、单项选择题(本大题共20小题.每小题1分&#xff0c;共20分)在每小题列出的四个备选项中只有一个是符合题目要求的&#xff0c…

汇编实验3

1.运行如下代码&#xff1a; assume cs:codecode segment mov ah,2 mov dl,3 add dl,30h int 21h mov ah,2 mov dl,6 add dl,30h int 21h mov ah,4ch int 21hcode endsend 进行汇编运行之后结果为&#xff1a; 将第四行和第九行的寄存器dl的值修改之后代码如下&#xff1a; a…

听了一堂《**学院》的课,我也是醉了

这还是首席讲师的ppt&#xff0c;这说话咋感觉&#xff0c;不像是技术出身&#xff0c;反倒是MongoDB的销售人员呢。 这说话&#xff0c;不大讲相对&#xff0c;净他妈的 绝对&#xff0c;这水平&#xff0c;我真醉了。 这牛逼吹得&#xff0c;啧啧啧。 我还是看书吧。 转载于:…

react 组件引用组件_React Elements VS React组件

react 组件引用组件A few months ago I posted to Twitter what I thought was a simple question:几个月前&#xff0c;我在Twitter上发布了一个我认为简单的问题&#xff1a; What surprised me wasn’t the joint confusion around this question, but rather the amount o…

appium 环境搭建(不推荐安装此版本appium,推荐安装appium desktop)

一&#xff1a;安装node.js 1、双击这个软件 2、一键安装&#xff0c;全都下一步&#xff0c;不要私自更改安装路径 3、打开cmd&#xff0c;输入npm&#xff0c;出现如下截图表示成功 二&#xff1a;安装appium 1、双击appium-installer.exe 2、一键安装&#xff0c;全都下一步…

二级c语言上机题库及解析,2013年计算机二级C语言上机题库及答案解析(3)

填空题给定程序中&#xff0c;函数fun的功能是:在形参ss所指字符串数组中&#xff0c;查找含有形参substr所指子串的所有字符串并输出&#xff0c;若没找到则输出相应信息。ss所指字符串数组中共有N个字符串&#xff0c;且串长小于M。程序中库函数strstr(s1, s2)的功能是在 s1串…