读书人

!菜有关问题

发布时间: 2012-02-27 10:00:22 作者: rapoo

!!!!菜问题
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

读书人网 >汇编语言

热点推荐