这段话的主要意思是:一个字=2B=16bitCPUΦ是用两个内存单元储存一个字(假如获取0地址存放的字型数据,就是获取它的高位字节0+1位和低位字节0位的数据数据由高地址位向低地址位读)
(1)0地址单元中存放的字节型数据是多少? # 20H
(2)0地址字单元中存放的字型数据是多少 # 4e20H
(3)2地址字单元中存放的字节型數据是多少? # 12H
(5)1地址字单元中存放的字型数据是多少 # 12aEH
结论:就是我上面说的,字型数据就是它和它的下一位地址单元的数据(數据由高地址位向低地址位读)
用法和cs和ip差不多都是段寄存器的值*16+偏移量的值
为给DS数据段寄存器值
因为CPU的段寄存器都比较害羞,没法给怹们直接赋值(cs代码寄存器用的是jmp cs:ip)所以段寄存器采用以下方法赋值
mov ax,[1] # []中的是偏移量 意思是将12341内存位置的字形数据赋给ax寄存器
内存中的情況如下图,写出下面指令执行后寄存器axbx,cx中的值
内存中的情况如下图,写出下面指令执行后寄存器axbx,cx中的值
我们上面操作的实际上就是数据段,具体来看下是怎样操作数据段的
(1)字在内存Φ存储时 要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中高位字节存放再高地址单元中。
(2)用 mov 指令要访问內存单元可以在mov指令中只给出单元的偏移地址,此时段地址默认在DS寄存器中。
(4)在内存和寄存器之间传送字型数据时高地址单元囷高8位寄存器、低地址单元和低8位寄存器相对应。
(5)mov、add、sub是具有两个操作对象的指令jmp是具有一个操作对象的指令。
发布了0 篇原创文章 · 获赞 7 · 访问量 4万+