汇编语言第三章总结

第三章中,我们从访问内存的角度了解学习几个寄存器

下面将知识点总结如下:

一、16位寄存器存储一个字,就要用高8位存放高位字节,低8位存放低位字节

0为低地址单元,1为高地址单元,表示数据4E20H(20000),起始地址是0,即是0地址字单元

存储用两个单元,逆序存放,而存储字节只用一个单元

二、mov al,[0]  表示将内存单元内容存入寄存器,【】中的0表示偏移地址,DS寄存器,存放访问数据的段地址

用mov指令只能通过如

mov bx,1000

mov ds,bx

为DS寄存器赋值,8086CPU不支持将数据直接送入段寄存器的操作

mov [0],al  可以将数据从寄存器送入内存单元

mov 段寄存器,寄存器 / mov 寄存器,段寄存器  都可执行

mov 内存单元,段寄存器

mov 段寄存器,内存单元  都可执行

三、编程时可将一组内存单元用ds存放段地址从而定义为一个数据段,再用偏移地址访问具体单元

四、栈:最后进入这个空间的数据最先出去

入栈push 和出栈pop都是以为单位

栈顶的段地址存放在SS中,偏移地址存放在SP中,任意时刻SS:SP指向栈顶元素

push ax  1.SP=SP-2    2.将ax内容送入SS:SP指向的栈内存

pop ax    1..将SS:SP指向的栈内存送入ax  2.SP=SP+2

空栈时,SS:SP指向栈最底部单元下面的单元(最底部字单元偏移地址+2)

五、8086CPU没有寄存器检测越界

六、push和pop可以传送段寄存器或者内存单元,如:

push ds

pop [0]

段地址在指令执行时,从DS获得

七、push、pop等栈操作指令,修改的只是SP,即栈顶变化范围最大为0~FFFFH

八、可以将长度为N(N≤64KB)的一组地址连续,起始地址为16的倍数的内存单元定义为栈段,同时将SS:SP指向定义的栈段

九、1.代码段CS、IP   2.栈段SS、SP  3.数据段DS  的指向将内存做为不同用处

原文地址:https://www.cnblogs.com/msag/p/9886714.html

时间: 2024-10-28 07:29:59

汇编语言第三章总结的相关文章

汇编语言第三章知识梳理及思考

第三章 内存访问的角度学习寄存器 3.1内存中字的存储 0号单元是低地址单元,1号单元是高地址单元. 问题: (1)0地址单元(字节单元)中存放的字节型数据是多少?20H (2)0地址字单元中存放的字型数据是多少?4E20 (3)2地址字单元中存放的字节型数据是多少?12H (4)2地址单元中存放的字型数据是多少?0012H (5)1地址字单元中存放的字型数据是多少?124EH 结论:任何两个连续的内存单元,N号单元和N+1号单元,可以将它们看成一个地址为N的字单元中的高位字节单元N+1和低位字

汇编语言第三章小结

第三章 内存访问 字数据在内存中的存储 1.      内存以字节为单位,划分为若干个单元 2.      字数据的存-取原则:高-高  低-低(小端法) 即: ① 字数据的低位字节存放在低地址内存单元 字数据的高位字节存放在高地址内存单元 ② 取低地址内存单元地址作为字数据地址 例1: 字数据124EH的地址是( 1 ) 字数据3020H存入内存后地址为4,则4存放( 30H ),3存放( 20H ) 例2: 从地址单元1取出一个 (1)     字节数据为:  4EH (2)     字数据

汇编语言第三章

一.知识点(博主自认为关键的几点) 1.把值存入段寄存器ds:需通过先给数据寄存器值(ax, bx, cx, dx),再送入ds中 如: mov ax,2000 mov ds,ax 2.字数据的存取原则: 字数据的低位字节存放在低地址内存单元:高位则放于高位地址:(小端法) 如:124EH在内存中的存放位置如下: (且地址为[1]) 3.关于mov指令值得注意的一点,当作为第二个操作数的常数最高位为a-f时,前面要加0 4.SS:SP,与ds相同,ss也不能直接送值 二.小测试 栈的使用主要需要

汇编语言:第三章 寄存器(内存访问)

3.1内存中字的存储 CPU中寄存器是16位的,可以用高低字节存储一个字,但是每个内存单元是8位的,只能存储一个字节, 所以内存中用相邻2个内存单元存储一个字的高低字节 如:20000数值(4E20H)在地址0的内存单元数值为20H,在地址1的内存单元数值为4EH 两个内存单元存储一个字型数据叫做一个字单元, 字单元的起始地址为N就叫N地址字单元,表示一个字的低字节在地址N的内存单元,高字节在地址N+1的内存单元 任意连续的2个内存单元都可以组成一个字单元 3.2 DS和 [address] C

汇编语言第三章——寄存器(内存访问)

1.内存中字的存储 高位字节存放在高地址单元中,地位字节存放在低地址单元中. 将起始地址为N的字单元简称为N地址字单元. 2.DS和[address] 8086CPU自动取DS中的数据为内存单元的段地址. 8086CPU不支持将数据直接送入段寄存器的操作. 3.字的传送 mov ax,[0]:字型数据传送 mov al,[0]:字节数据传送 原因:高位字节存放在高地址单元中,地位字节存放在低地址单元中. 4.mov,add,sub指令 mov指令的几种形式: mov 寄存器,数据 mov 内存单

汇编语言 第三章 寄存器

3.1 内存中字的存储: 在内存存储时,由于内存单元是字节单元(一个单元存放一个字节),所以一个字要用两个地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节则会存放在高地址的单元中. 字单元,即存放一个字型数据的内存单元,由两个地址连续的内存单元组成.高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节. 3.2 Ds和address: CPU想要读取一个内存单元时,必须先给出这个内存单元的地址.8086中有一个DS寄存器,通常用来存放要用的数据的段

汇编语言 第三章 寄存器(内存访问)

1.字数据在内存中的存储 (1)内存以字节为单位划分为若干个单元. (2)字在储存时要用两个地址连续的内存单元来存放. (3)字数据的存-取原则:高-高,低-低.即小端法,低位字节存放在低地址内存单元,高位字节存放在高地址内存单元,并且取低地址内存单元地址作为字数据地址. (4)在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器.低地址单元和低8为寄存器相对应. 2.数据在内存单元和CPU之间的传送 (1)执行命令时,默认情况下,8086自动取寄存器DS中的值为内存单元的段地址. 1)将

汇编语言 第三章

3.1 内存中字的存储:CPU中,用16位寄存起来存储一个字.高8位存放高位字节,低8位存放低位字节.在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节存放在高地址单元中. 字单元的概念:字单元,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成. 3.2 DS和[address]:8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址. 指令执行时,8086CPU自动

汇编语言程序设计第三章

第三章 寄存器(内存访问) 1 内存中字的存储 1个字=2个字节,如从0开始存放20000(4E20H),20.4E分别表示1个字节,内存中字的存储如下图所示: 任何两个地址连续的内存单元(0.1.2......),N号单元和N+1号单元,可以看成两个内存单元.比如说上图中的0内存单元(字节单元),存放的是字节型数据,就是20H(十进制的32):0地址字单元,存放字型数据,就是4E20H. 任何两个地址连续的内存单元,N号单元和N+1号单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字