汇编语言加中括号表示什么?例如ADD AL,[SI] MOV[20H],AL还有小括号呢 例如DS=(SI+2)
来源:学生学帮网 编辑:学帮网 时间:2024/05/27 14:48:02
汇编语言加中括号表示什么?
例如ADD AL,[SI] MOV[20H],AL还有小括号呢 例如DS=(SI+2)
一般说来,加方括号 [ ] 表示一种间接的取操作数方式,有点类似于C语言中的指针概念.
第一条指令 ADD AL ,[SI] 中,[SI] 表示寄存器间接寻址.
也就是说,与AL中内容相加的加数,不是SI寄存器的内容,而是以SI的内容作为地址指针的内存操作数.
假设SI的内容是1234H,这条加法指令,不是将1234H加到AL里(也加不了,数据类型不对),而是以1234H作为地址,从内存的数据段(DS所指)中,段内偏移地址为1234H的那个内存单元中取出一个字节的数据来,加到AL中.
同样的,第二条指令 MOV [20H],AL,是将AL中的内容传送到内存里的一个单元中去.这个单元的有效地址就是[20H].
这里,加了方括号的20H,不是运算所用的数据,而是数据的地址.
===================
对问题补充的回复:
AL是不可能加方括号的.
8086汇编中,能加方括号的只有4个寄存器:SI,DI,BX,BP
常数也可以加方括号,比如 [020H]
另外,变量名可以加方括号,但与上面两种情况不同,加了方括号的变量名,意义不变.
至于方括号内,可以出现BX+DI,SI+2这样的表达式,这是一些不同的寻址方式.
SI 是寄存器寻址
[SI]是寄存器间接寻址
[SI+2]是相对的寄存器间接寻址,又称直接变址寻址,它也可以写成2[SI]这样的形式
[BX+SI]是基址变址寻址,也可写成[BX][SI]
[BX+SI+20H]是相对的基址变址寻址,可以写成20H[BX][SI]之类的形式,将20H换成变量名也可以.
汇编语言加中括号表示什么?例如ADD AL,[SI] MOV[20H],AL还有小括号呢 例如DS=(SI+2)
汇编语言中‘A’表示什么意思?
汇编语言中谁最先规定加法用英文“add”表示?
汇编语言中,中括号“[]”的作用.例如:mov edx,[ebx]与mov [edx],ebx有什么区别?
汇编语言中 加法(ADD)与带进位加法(ADC)有什么区别?
汇编语言中ADD DISP[BX][DI],DX中的DISP是什么意思 什么作用
汇编语言中以H结尾的数表示什么意思?例如表示地址的:10000H是十六进制中的H吗,还是其它意思明白了
java中中括号加字母表示什么意思
加了中括号的分式表示什么?
在字母表示数中,什么情况下加括号?
十进制在汇编语言中用什么字母表示
汇编语言中data segment什么意思
REG1_DATA:汇编语言中这句话什么意思
在负数外面加括号表示什么?
汇编语言中 OF溢出标志位 什么时候才表示溢出?如题 例如:两个操作数87H+79H相加 OF的值为多少?
汇编语言里的逻辑符号用什么表示
汇编语言的AX,BX,CX,DX,分别表示什么
汇编语言里面0[bx],5[bx]表示什么意思呢