早教吧作业答案频道 -->其他-->
麻烦前辈解释下下面这个指令MOVAX,WORDPTRINDAT[SI-2]之前的INDATADB0FFH,0AAH,55H,00H麻烦详细解释一下进入AX的是第几个数?谢谢~
题目详情
麻烦前辈解释下下面这个指令MOV AX,WORD PTR INDAT[SI-2] 之前的 INDATA DB 0FFH,0AAH,55H,00H 麻烦详细解释一下 进入AX的是第几个数? 谢谢~
▼优质解答
答案和解析
楼主应该这样理 1.word ptr 即指定了操作数INDATA[SI-2]类型为字(二字节) 其实对于包含寄存器AX的操作数为立即数的指令完全可以不用word ptr 编译器直接可以认定操作数是一个字型数据。如:mov ax,0 或 mov ax,[di]则直接编译成功 2.既然SI指向数据段的首地址(一般为0),那么SI肯定指向了0FFH这个字节数据的地址。则[SI-2]还在INDATA数据域前面…… 所以你的代码里肯定是错了,应该是INDATA[SI+2],不然在不知道上下文的前提下不知道前面有什么数据,可能会出错的。如果你在INDATA前面就还有数据,那么SI就不指向它了,你给出来的数据为无效…… 3.INDATA本身为BYTE型,而寻址、运行时该类型与程序无关。 MOV AX,WORD PTR INDATA[SI+2]的意思就是“取地址为DS:[OFFSET INDATA+2]处的数据 传到AX中”,注意AX中的高字节是高地址的数据。 4.按照上面所说,应该是INDATA的第一个字节偏移2后取“字型”数据,AX值为0050H
看了 麻烦前辈解释下下面这个指令M...的网友还看了以下:
高一英语选择题,急~~I _____ have watered the garden.It beg 2020-05-13 …
急具体解释语句的含义啊:随机产生N个两位整数按从大到小的顺序排列并显示输出dimena(10)fo 2020-05-13 …
for(i=0;a[i]!="";i++) { b[i]=(a[i]-"a"+K)%26+"a"; 2020-05-14 …
释:指听得烂熟,可以详尽复述出来.出处:宋·欧阳修《泷冈阡表》:“吾耳熟焉,故能详也.释:指听得烂 2020-06-09 …
债券的价值计算公式,求解释!债券是固定利率,每年付息一次,到期归还本金,债券价值计算公式是V=I* 2020-06-30 …
复数的一道题i是虚数单位,5i/2-i=?详解,很详很详, 2020-07-11 …
设I=∫﹙a+x)/根号下(a²-x²)dx则I=?求详解 2020-07-19 …
(A/P,i,n)=(A/F,i,n)+i或(A/F,i,n)=(A/P,i,n)-i我已经知道怎 2020-07-23 …
VB求解释13.以下程序输出的结果是D。Dimaa=array(1,2,3,4,5,6,7)ForI 2020-10-30 …
I’mafraid内详.Well,I‘mafraidtheboxisheavyforyoubutth 2020-12-28 …