用户工具

站点工具


assembly:register2

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
assembly:register2 [2024/03/20 17:01] 争当好青年assembly:register2 [2024/03/23 09:56] (当前版本) – [5. 数据段] 争当好青年
行 1: 行 1:
 ====== 4.寄存器(内存访问)====== ====== 4.寄存器(内存访问)======
-===== -#1 二级标题 ===== + 
-==== - 三级标题 ==== +===== -# 字在内存中的存储 ===== 
-=== - 四级标题 ===+ 
 +==== - 字单元 ==== 
 + 
 +一个字要用两个地址连续的内存单元存放。 
 + 
 +<wrap em>字单元</wrap>:存放一个字型数据<wrap lo>(16位)</wrap>的内存单元,由两个地址连续的内存单元组成。 
 + 
 +<wrap em>低地址单元</wrap> 
 + 
 +<wrap em>高地址单元</wrap> 
 + 
 +<wrap em>字单元起始地址</wrap> 
 +==== - 单元与字单元区别  ==== 
 + 
 +N地址单元 与 N地址<wrap hi>字</wrap>单元 
 + 
 +{{:assembly:3.1内存中字的存储.jpg?600|}} 
 + 
 +===== -# DS和[address] ===== 
 + 
 +<wrap em>DS寄存器</wrap>:通常用来存放要访问数据的段地址,cpu<wrap hi>自动获取ds中的数据</wrap>为内存单元的段地址。 
 + 
 +8086CPU无法将数据直接送去段寄存器,无法使用 mov ds,1000H 
 + 
 +^  寄存器              |  CPU  ^  内存   ^ 
 +|  mov 内存单元地址,寄存器名                ||| 
 +|  内存                CPU  |  寄存器 
 +|  mov 寄存器名,内存单元地址                ||| 
 + 
 +[...]表示一個内存单元,[0]偏移地址是0 
 + 
 +<wrap hi>mov [0],al</wrap>:al到10000H的数据传送。 
 + 
 +===== -# 字的传送  ===== 
 + 
 +{{:assembly:3.3.jpg?600|}} 
 + 
 +{{:assembly:问题3.4_.jpg?600|}} 
 + 
 +===== -# MOV ADD SUB指令 ===== 
 + 
 +==== - MOV ===
 + 
 +^ mov  | 寄存器   ^ 数据    ^ 
 +|      | 寄存器   | 寄存器   | 
 +|      | 寄存器   | 内存单元 
 +|      | 内存单元  | 寄存器   | 
 +|      | 段寄存器  | 寄存器   | 
 +|      | 寄存器   | 段寄存器 
 +|      | 内存单元  | 段寄存器 
 +|      | 段寄存器  | 内存单元 
 + 
 +==== - ADD ==== 
 + 
 +==== - SUB ==== 
 + 
 +===== -# 数据段 ===== 
 + 
 +<wrap em>数据段:</wrap>一组长度为N(N≤64KB)、地址连续、起始地址为16的倍数的内存单元 
 + 
 +<wrap hi>123B</wrap>0H - <wrap hi>123B</wrap>9H 段地址123BH 长度为10个字节
assembly/register2.1710925261.txt.gz · 最后更改: 2024/03/20 17:01 (外部编辑)