在debug中:
mov ax,11 把11H送入寄存器ax
mov bx,[11] 把偏移地址为11H的内存中的内容写入ax
debug中只可以输入16进制数据
在masm的编译中
mov ax,11 把11或BH送入寄存器ax(默认输入10进制)
mov ax,[11] 把BH送入寄存器ax,同上;
若要表示处理内存,必须显式给出段地址
mov ax,ds:11 或
mov ax,ds:[11] 均表示从偏移地址11的内存处写入ax
或者偏移地址由另一个寄存器给出
mov bx,11
mov ax,[bx] 注:寄存器bx作为偏移地址,必须用中括号括起来[],否则编译不通过
提示为非法寄存器使用。但常数作为偏移地址无此严格要求,不加中括号也可以
(另补充:给masm写源程序,常数不能以字母开头,需要前面加 0 ,如
mov ax,0ah mov ax,0ffffH)
对照下面的例子,验证上述结论是正确的

谢谢王爽老师及广大热心网友。知识不属于我们个人,更属于一个时代
本文详细解析了MASM中关于寄存器操作(mov ax, 11 vs mov ax, [11])的区别,以及如何正确处理内存地址(ds:11 vs ds:[11]),并通过实例验证了偏移地址使用规则。
1060

被折叠的 条评论
为什么被折叠?



