汇编语言 (王爽) 第二章笔记
汇编语言
- 寄存器
- 寄存器的分类
- 几条常用的汇编指令
- 物理地址
- 段寄存器
- CS和IP
- 修改CS,IP指令
- debug常用命令:
- 内存中字的存储
寄存器
寄存器的分类
8086CPU有14个寄存器,分别是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
通常我们常用的寄存器是AX,BX,CX,DX,这四类寄存器称为通用寄存器,用来存放一般数据
几条常用的汇编指令
汇编指令 | 控制CPU完成的操作 |
---|---|
mov ax,01 | 将01送入寄存器AX |
mov ah,78 | 将78送入寄存器AH |
add ax,8 | 将寄存器AX的数值加上8 |
mov ax,bx | 将寄存器BX的内容送到寄存器AX |
物理地址
8086CPU的物理地址计算方法:物理地址=段地址*16+偏移地址,由地址加法器完成
当8086CPU要读写内存时:
- 相关部件提供两个16位的地址,即段地址和偏移地址
- 段地址和偏移地址通过内部总线送入一个称之为地址加法器的部件
- 地址加法器将两个16位的地址合成一个20位的物理地址
- 地址加法器通过内部总线将20位的物理地址送入输入输出控制电路
- 输入输出控制电路将20位物理地址送上地址总线
- 20位的物理地址被地址总线送入存储器
段寄存器
段寄存器用于存放CPU的段地址
段地址有:CS,DS,SS,ES
CS和IP
- CS为代码段寄存器
- IP为指令指针寄存器
在任意时刻,CPU将CS:IP指向的内容当做指令执行
修改CS,IP指令
我们如何修改CS,IP指令呢?
显然,CPU必须提供相应的指令,而修改CS,IP的指令,8086CPU给我们提供了jmp指令,弱项修改CS,IP指令,可以有如下操作:jmp 段地址:偏移地址
例如:jmp 2AE3:3执行后 CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令
指令中段地址修改CS,偏移地址修改IP,而若想只修改IP,还可以通过jmp ax来修改,jmp ax 好似 mov IP,ax,但是切记,mov IP,ax是不合法的指令,在这里只是为了能更好的理解jmp ax
debug常用命令:
命令 | 作用 |
---|---|
R | 查看,改变CPU寄存器的内容 |
D | 查看内存中的内容 |
E | 改写内存器中的内容 |
U | 将内存中的机器指令翻译成汇编指令 |
T | 执行一条机器指令 |
A | 以汇编指令的格式在内存中写入一条机器指令 |
内存中字的存储
CPU中,用16位的寄存器来存储一个字,高8位存放在高位字节,低8位存放在低位字节。在内存中存储时,由于内存单元是字节单元,所以一个字要用两个连续地址的内存单元来存放
因此,我们提出字单元的概念:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成
汇编语言 (王爽) 第二章笔记相关推荐
- 汇编语言 王爽第二版 总结
汇编语言 王爽第二版 总结,所以内容都是8086的 summary asssembly ,汇编总结 why: 最初始的编程语言就是使用打孔机,打出来的0 1 代码,然后把卡片插入到电脑中运行然后 看输 ...
- 汇编语言王爽第二版-课后答案以及解析
检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位. (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 . (3)1KB的存储器可以存 ...
- 汇编语言 王爽 第四版 第二章 检测点2.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点2.2 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH . 最小肯定是偏移地址为0, ...
- 汇编语言 王爽 第四版 第三章 检测点3.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点3.2 1 补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中. mov ax,1 ...
- 汇编语言 王爽 第四版 第六章 检测点6.1
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点6.1 1 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序: assume cs:codesg cod ...
- 《Spring Recipes》第二章笔记:Creating Beans by Invokin...
2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Creating Beans by Invoking an Insta ...
- 《Spring Recipes》第二章笔记:Customizing Bean Initiali...
2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Customizing Bean Initialization and ...
- 汇编语言——王爽版 总结
汇编语言-王爽summary<考试复习版> 摆烂一学期,期末抱佛脚 只针对必要内容总结,并非按目录总结 文章目录 汇编语言-王爽summary<考试复习版> `只针对必要内容总 ...
- 【汇编语言 王爽】实验14代码
实验需求如下: 编程,以"年/月/日 时:分:秒"的格式显示时间 注意:CMOS RAM中储存着系统的配置信息,除了保存时间信息的单元外,不要向其他单元写入内容,否则将引起一些系统 ...
- 算法图解第二章笔记与习题(选择排序)
算法图解第二章笔记与习题(选择排序) 文章目录 算法图解第二章笔记与习题(选择排序) 2.2 数组和链表 2.2.1 链表 2.2.2 数组 2.2.3 数组和链表的读取.插入和删除操作的时间复杂度 ...
最新文章
- SAP RFC-RFC概述
- 2017夏季达沃斯今日开幕,人工智能元素尤其突出
- 使用 System.Net.Http.Json 简化 HttpClient 的使用
- 从WildFly 9(子系统)中运行OkHttpClient
- 小程序中 使用fixed自定义弹窗时,底部长页面禁止滚动
- 【转】字符串和浮点数格式化输出小结
- 举例一种计算机病毒,电脑病毒介绍及举例
- kali破解wifi 密码(仅供学习)
- 树莓派控制PCF8591 AD/DA模块
- java环信后端接口
- 好趣艺术设计部落网页制作案例
- 大数据可视化设计开发方案调研
- 杜邦接口还有一个跟他相反的叫什么_日本新晋网红“Imma”出道,虚拟技术还能玩出什么花样?...
- 树莓派3b程序控制无人机 (一)——电脑连树莓派
- 数字化工厂实现的未来之道——工程数据数字化移交解决方案
- 2022年起重机司机(限桥式起重机)考试题模拟考试题库及模拟考试
- CRUD Operations Using the Generic Repository Pattern and Dependency Injection in MVC
- labview霍夫曼编码_为什么霍夫曼编码好?
- Nginx系列:后端服务应用健康检测
- Node.js篇01-安装与配置,基本使用,服务器,项目搭建,调试
热门文章
- ipv4: inet初始化过程
- 编写程序C语言 用递归法求n,用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n...
- 【Y忍冬草】Halcon:基于卡尔曼滤波的交通监控
- python初始循环_01_Python初始知识(一)
- 2018:VR产业新机遇
- eigen库相关函数 .replicate()
- vue html2canvas文字重叠,vue中使用html2canvas方法,设置背景,字体重叠问题解决方法...
- 集中抄表系统前景分析
- qt 之QToolButton
- 区块链安全入门笔记(五) | 慢雾科普