对,家方括号的就是存储器。存储器内放的是十六进制的数,一个16进制的数化为2进制数就是4位,【1200H】是占16位,【BX】是存储器,BX就是16位寄存器了,BX由8位寄存器BH和BL组成,多看看书就会明白的
计算机中的内容就是一些0和1的组合,其本身没有任何含义。至于类型啊、字母、数字等,都是人为赋予的,或者说怎样解释。
教材、老师讲的,不可不信,但也不可笃信。关于存储器操作数的默认数据类型,没有默认这一说。各种编译器对数据类型做了一些规定,你按着规定来定义和使用数据就不会出错。DEBUG是调试软件,不是编译器,当然也就没有数据类型的规定,需要明确指定数据类型。
DEBUG不知道MOV [SI],5的5是多少位的,8位正确,16位也对,32位也不错,所以需要明确指定数据类型。而寄存器则不同,寄存器是有固定位数的,只要源操作数不超过它们能够容纳的数据范围,就不会出错,如,
MOV AL,5
MOV BX,5
MOV ECX,5
都是正确的。
请参考
mov eax, dword ptr[var]
ax叫做寄存器操作数,指定数据的位置在eax寄存器
dword ptr[var] 叫做存储器操作数,指定数据位置在var变量的地址上
mov op1,op2 中的op1和op2叫做操作数
mov叫做指令,指令决定对操作数如何处理
op1 op2如何选择以及选择的准则就是寻址方式
比例因子是汇编语言中存储器寻址方式中出现的概念,它属于寄存器比例寻址。
在这种寻址方式中,形成存储器操作数的有效地址可以采用:1,变址寄存器的内容乘以比例因子,再加上位移量,称为比例变址方式;2,变址寄存器的内容乘以比例因子,再加上基址寄存器的内容,称为基址比例变址方式;3,变址寄存器的内容乘以比例因子,再加上基址寄存器的内容和位移量,称为基址比例变址位移方式。
事实上,比例因子就是变址寄存器所含内容的偶数倍数,通常情况下为4,8,或16.
请参考
你说的就是内存中的数据吧
操作数分为:立即数、寄存器、内存数据