【学习笔记】-汇编语言3

第三章:寄存器(内存访问)

字单元概念
由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节

1.一个字型数据占两个字节
2.0地址(低位)字单元中存放的字型数据应该从1地址(高位)开始往0地址读
3.任何两个地址连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元

DS和[address]

DS寄存器,常用来存放要访问的数据的段地址

解读
mov bx,1000H
mov ds,bx
mov al,[0]
这三条指令将1000:0(10000H)中的数据读到al中。

1.[···]表示一个内存单元,[0]中的0表示内存单元的偏移地址。
2.指令执行时,CPU自动读取ds中的数据为内存单元的段地址
3.要将数据送入ds寄存器时必须要有一个寄存器进行中转(硬件设计问题,不必深究)如mov ds,1000H非法

数据段

我们可以将一组长度为N(N<=64KB)、地址连续、起始地址为16倍数的内存单元当作专门存储数据的内存空间,从而定义了一个数据段

mov ax,123BH
mov ds,ax ;将123BH送入ds中,作为数据段的段地址
mov al,0 ;用al存放累加结果
add al,[0];将数据段第一个单元(偏移地址为0)中的数值加到al中
add al,[1] ;同上
add al,[2] ;同上

小结

1.字在内存中存储时,要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。

2.[address]表示一个偏移地址为address的内存单元
一般情况下bx,si,di的段地址默认在ds中
sp,bp的段地址默认在ss中(不同的是sp有自加自减能力)

3.数据和程序表达上没有区别,只跟存储的地方有关
存在数据段中就是数据存在代码段中就是代码

检测点3.1 (P55)
CS:IP
计算地址方法:CS左移一位加IP

8086cpu的入栈和出栈操作都是以字为单位进行的
任意时刻ss:sp指向栈顶元素

push ax执行过程:
  • sp=sp-2,ss:sp指向当前栈顶的上一个字单元(两字节),并以它为新的栈顶
  • 将ax中的内容送入ss:sp指向的内存单元处,ss:sp此时指向新栈顶。

pop ax过程为先调数据再变地址

编程的时候只能自己操心栈顶超界问题,CPU只知道栈顶在哪,并不知道大小是多少

push,pop指令针对数据进行操作,实质上是一种内存传送指令。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值