汇编语言-- 段寄存器DS[Address]初识
一、前提
1.汇编语言中mov指令可以完成两种传送 :1).将数据直接送入寄存器中。2).将一个寄存器的内容送入到另一个寄存器。
2.8086CPU不支持将数据直接放入到段寄存器中。
3.执行指令时,8086CPU自动获取ds中的数据为内存单元。
4.mov指令中的[]说明操作对象是一个内存单元。[]中的数表示偏移地址,段地址默认放在ds中。
5.定位一个内存单元的地址需要段地址和偏移地址。
二、问题
请实现将10000H地址中的数据存入到a1中。
三、解答
mov bx,1000H //这里相当于是做一个中转,将1000H送入到一般的寄存器中,因为上述前提2。
mov ds, bx //将1000H作为数据传送到ds中。1000H是数据,相当于ds的段地址。思考前提3
mov al,[0] //得到偏移地址为0(思考4)和段地址(思考3),完成传送
四、扩展
1.如何将al中的数据送入到内存单元10000H中。
答:mov bx,1000H mov ds, bx mov [0],al