当前位置: 代码迷 >> 汇编语言 >> !菜有关问题
  详细解决方案

!菜有关问题

热度:5041   发布时间:2013-02-26 00:00:00.0
!!!!菜问题
assume cs:code 
code segment 
mov ax,0ffffh 
mov ds,ax 
mov bx,6 
mov al,[bx] 
mov ah,0 
mov cx,3 
s: add dx,ax 
loop s 
mov ax,4c00h 
int 21h 
code ends 
end 
这里的mov bx,6 
  mov al,[bx]
可不可以直接写成mov al ,6
书上这样写的,我觉得是不是复杂化了?


------解决方案--------------------------------------------------------
呵呵 我好像没见过 能将立即数作为地址来传送的
------解决方案--------------------------------------------------------
探讨

mov ax,【0】表达不是对的吗?是将默认段地址ds,偏移地址位0的内存单元的内容闯到ax?
为什么mov ax,【6】不行、
??

------解决方案--------------------------------------------------------
这样写:
Assembly code
mov al, byte ptr ds:[6]
------解决方案--------------------------------------------------------
不可以,基址变址的值只能放到bx,si,di这三个寄存器里;
所以【】内可以是
(1)单独使用,如:bx,si,di
(2)组合使用,如:bx+si,bx+di,bx+3,bx+si+3,si+3,di+3
值得注意的是si和di不能同时使用,如:di+si,bx+si+di
  相关解决方案