刚学汇编的新手请教个问题。关于 mov al , [0]
本帖最后由 loop 于 2011-5-29 23:26 编辑mov bx,1000H
mov ds,bx
mov al,
今天刚学了DS和address,一直没看懂mov al, 这句,al不是AX的低位吗,就算给1000H加偏移地址为什么加给al呢???{:soso__10363323154519607490_1:} 是把当前数据段地址的偏移地址为0的内存上的东东赋给传说中的ax寄存器的低8位al所以就是这样子啦同学你明白了吗 本帖最后由 liuhui88126 于 2011-5-25 22:53 编辑
这样理解,
就是把段地址为DS,偏移地址为【0】处得内存单元中的字节数据放入AX中,为什么是字节数据呢,因为前面是AL,AL为8位,只能存放一个内存单元,假设ds:处得数据为01,ah=0,al=0 执行完之后呢,AX=0001,懂了没有?
还有,你那个不是给ds加偏移地址,是把偏移地址中的数据给al,,你滴,明白? 是个内存单元1000H是不能直接放入ds中使用的 要通过通用寄存器才能放进ds中bx是个通用寄存器所以mov bx,1000H 就是先把段地址为1000放入通用寄存器bx中 mov ds,bx就是通过bx之手把段地址放入ds(注:cs是断码段寄存器,ds是数据段寄存器,ss是栈段寄存器)然后mov al, al是ax的后半部分一个完整的ax使用高8位ah和低8位al组成 如果只提示你把一个偏移地址的内存单元为的话看图就是第一个0的的数据时20h一般的内存单元都是用字的形式来存储的 所以他会把1的数据也拉进去形成4E20H 如果只取al的话他就会不管前面的而是直接把20H取走了然后后便如果有断码的话就很容易理解了;P
页:
[1]