汇编语言 assembly language

一、单片机(51)的汇编和计算机的汇编有什么区别? 单片机(51)的汇编和计算机的汇编有什么区别? - 知乎

二、一步步教你编写汇编程序

一步步教你编写汇编程序

三、汇编语言入门教程

汇编语言入门教程 - 阮一峰的网络日志

四、段地址左移4位相当于十六进制左移1位

汇编(三)段地址、偏移地址、内存单元、寄存器、CS、IP、代码段、debug、实验题-阿里云开发者社区

段地址和偏移地址寻址范围_“段地址 x 16 + 偏移地址 = 物理地址”的本质含义:..._GrapeDoor的博客-CSDN博客

1)比如段地址为:1234H,将段地址左移4位,就是针对段地址的二进制形式左移4位。而4个二进制数刚好表示一个16进制数,也就是左移4位就相当于十进制的乘16,十六进制的乘10.
1234H = 1 0010 0011 0100B,然后左移4位,就加4个0
就得到 1 0010 0011 0100 0000B换算成16进制就是12340H,就相当于成2的4次方,2的次方刚好是16,所以,就是相当于乘十进制的16.不知道你有没有看懂。

2)8086/8088有20条地址线,它的直接寻址能力为1MB。也就是在一个系统中可以有多达1MB的存储器,地址从00000H—FFFFFH。给定任意一个20位物理地址,就可以从中取出需要的指令和操作数。但是8086/8088CPU只能进行16位运算。与地址有关的寄存器SP、IP、BP、SI、DI也都是16位的,所以对地址的运算也只能是16位的。对于8086/8088来说,无论采用哪种寻址方式,寻找操作数的范围最大是2^16,也就是64K。如何才能形成20位的物理地址呢。系统先将1MB存储器以64KB为范围分成若干段。在寻址一个具体物理地址时,由一个基本地址再加上由SP或IP等可由CPU处理的16位偏移量来形成20位物理地址(通过用段寄存器+SP或IP寄存器  两个寄存器来形成20位物理地址)。

3)

(1)1MB=1024KB,1KB=1024B(字节)。

(2)1MB=1024KB=1024×1024B=1048576B。

五、区别指令和数据

指令周期
冯诺依曼计算机是根据指令周期的不同阶段,来区分从内存中取出的是指令还是数据。
存储器中的每段存储空间都会有一个地址,每个指令都包括一段操作数和一段空间地址,cpu会根据操作数去处理地址所指的数据。
一般计算机先读取存储器最开始的内容(这一部分是指令),然后加载操作系统后由操作系统对硬盘文件系统结构(即是数据)以判断其他数据和指令的位置。

指令周期分为4个部分
取指周期,这个周期取出的是指令{操作码,地址码}
间接寻址周期,找到有效地址(内存物理地址)
执行周期,这个周期取出的就是数据
中断周期,检查有没有中断信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值