汇编学习中的小问题
mov al, ;al=0读取10000h单元的内容,程序如下:
movbx,1000h
mov ds,bx
mov al,;这里表示偏移地址为0的内容
这两个地方我就有疑惑了,谢谢帮忙解答!
movbx,1000h ;BX;=1000H
mov ds,bx ;DS:=1000H
mov al,; ;AL;= DS: 就是1000:0段地址*16加偏移就是10000h{:1_1:} 如果要读取内存单元的内容,程序是这样的啊:
mov ax,1000h
mov ds, ax
movbx,0
mov al,;或者mov al,ds:0
这个跟mov al,的区别是什么 没有mov al,这种表达方式吧,而且BX放到AL是放不进去的,只能保存低8位
另外mov al,ds:0和mov al,效果是一样的,对内存里的数据进行操作的时候那个数字一定要加上中括号“[]”,否则就是单纯的把数据存放到寄存器中,而不是将内存中的数据转移到寄存器中了 追寻 发表于 2012-10-27 16:07 static/image/common/back.gif
如果要读取内存单元的内容,程序是这样的啊:
mov ax,1000h
mov ds, ax
mov al,;或者mov al,ds:0
这个跟mov al,的区别是什么
===========================
BX寄存器的值是0,在这里 mov al,等于 mov al,,结果一样。
再就是mov sl,ds:0 这种格式是错误的!
补充内容 (2012-10-28 11:19):
打错字了,是mov al,ds:0 把a打成s了。。。sorry!!
页:
[1]