汇编语言 手记1

机器语言-汇编语言-高级语言

汇编语言特点:

1 与硬件相关

2 与机器指令一一对应

3 须详细描述如何做

4 可移植性差

CPU功能结构:

  总线接口部件BIU

  执行部件EU

CPU寄存器结构:

  数据寄存器

  指针及变址寄存器

  段寄存器

  控制寄存器

总线接口单元BIU----完成CPU与主存储器或外围设备之间的信息传送

执行单元EU----完成指令的执行

两个单元独立,并行工作,使指令的读取与执行部分重叠,提高了指令的执行速度----指令流水线结构

数据寄存器(可以字或字节形式访问,例如AX的高字节、低字节分别用AH/AL表示)

AX累加器 存放操作数和结果

BX基址寄存器 存放偏移量

CS计数寄存器 循环中计数

DX数据寄存器 双字长时与AX组合成32位数

指针和变址寄存器(存放地址的偏移量,也可以存放操作数 但只能以字为单位访问)

SP堆栈指针寄存器

BP基址指针寄存器

SI源变址寄存器

DI目的变址寄存器

段寄存器(存放相应段的段基址(段首址的高16位))

CS 代码段寄存器

DS 数据段寄存器

SS 栈段寄存器

ES 附加段寄存器

控制寄存器

IP 指令指针寄存器:即程序计数器,向下一条指令在代码段中的偏移量

PSW程序状态寄存器:记录系统运行中的各种状态和信息。由各种标志位构成,反映运算后的结果特征,将影响某种指令的执行。

20条地址线,最大为1MB

以字节为单位变址,即一个字节数据占用一个存储单元

以字为单位存储数据时,占相邻两个单元,高8位存放在高地址字节,低8位存放在低地址字节

字单元的地址用它的低地址来表示

访主存指令中应指出是字节访问还是字访问

字单元的地址一般为偶数

段概念的引入

16位寄存器如何表示20位的地址?

  采用存储器地址分段的方法

段是最大长度为64kb的内存储器块

段的起始地址低4位必须为0

用户可以用同时使用4个段,段间可以邻接,重叠或不相邻

代码段存放当前程序的指令代码

数据段存放程序涉及的源数据或结果

堆栈段是以“先入后出”为原则的数据区

附加段是辅助数据区,存放串或其他数据

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏along的开发之旅

xargs的使用

前段时间查自己的代码行数时, 用了”find . -name “*.cs” | xargs wc -l“, 但是对xargs在这里的作用有点不了解, 因为网上资...

942
来自专栏happyJared

Linux私房菜:走进bash

减号-可用于连接一些特殊的stdin和stdout,像这个文件压缩和解压缩的示例:tar -cvf - /home | tar -xvf - -C /tmp/h...

882
来自专栏数据之美

shell 学习笔记(17)

声明:转载需署名出处,严禁用于商业用途! 1601.关于rsync相同文件后 du 大小不一样的问题: 不一样大小很正常,因为文件系统的block...

3028
来自专栏python学习之旅

Python笔记(十一):多线程

(二)和(三)不感兴趣的可以跳过,这里参考了《深入理解计算机系统》第一章和《Python核心编程》第四章 (一)      多线程编程 一个程序包含多个子任务,...

4147
来自专栏GreenLeaves

JS模块加载系统设计V1

一、require模块 +function() { var path = location.protocol + "//" + loca...

2055
来自专栏朱慕之的博客

单元测试

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块的最小单位来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。...

812
来自专栏Linux驱动

第1阶段——uboot分析之查找命令run_command函数和命令定义过程(6)

本节主要学习,run_command函数命令查找过程,命令生成过程 1.run_command函数命令查找过程分析: 在u-boot界面中(main_loop(...

2446
来自专栏Jimoer

JVM学习记录-线程安全与锁优化(一)

线程:程序流执行的最小单元。线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I...

752
来自专栏JavaEE

Java面试题 - 01

其实对于大多数刚入门的初级程序员来说,写代码都还停留在复制粘贴修改阶段(我也一样),虽然可以复制粘贴的时候看上去很厉害了,其实都是假象。面试的时候可能面试官随便...

1513
来自专栏好好学java的技术栈

java基础提升篇:深入浅出Java多线程

1272

扫码关注云+社区

领取腾讯云代金券