汇编语言问题

汇编语言问题①movax,buffer和movax,[buffer]有什么区别?buffer是符号地址。这个"[]"是什么意思?movax,400H和movax,[400... 汇编语言问题①mov ax,buffer和mov ax,[buffer]有什么区别?buffer是符号地址。这个"[]"是什么意思?
mov ax,400H和mov ax,[400H]是一样的吗?
②(IP)=(10H×(DS)+(BX)+(SI))=(25000H)=3200H ,这里为什么IP要加括号,为什么最后答案是3200 H而不是25000H。注:题设给的(25000H)=3200H。不太明白加括号是干什么
③代码段寄存器CS及指令指针IP不参加数的传递。请问什么是数的传递?为什么CS可以作为源操作数参加传递,但不能作为目的操作数参加传递?
④25H是几位的?8位还是16位?十进制数2000是几位的?怎么看是几位的?
⑤mov DISP[BX+DI],DL为什么是对的?没写反吗?干什么用的?
⑥mov DS:DISP[BP],1234H和mov Byte PTR[SI],40这两个是什么意思?40不是十进制数么,怎么指定它为BYTE型????

菜鸟不太懂,请讲的通俗一点,谢谢!
展开
 我来答
雨轩月日互bd
2016-11-04 · 超过47用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:59万
展开全部
①mov ax,buffer是把以buffer为首地址的连续两字节的内容送入ax中。
[buffer]这个用法是错误的。[...]表示以地址"..."中的内容为偏移地址。
mov ax,400H,正确,是将400H送入AX中。
mov ax,[400H],错误,因为[n]本身并不能指明所用的段寄存器。汇编程序可能会错误地将[n]翻译为立即寻址情况下的立即数n。
②(...)表示地址"..."中的内容。
③CS:给出当前代码段首地址
④25H是几位,这个具体情况具体对待。
⑤mov DISP[BX+DI],DL,正确,DISP[BX+DI]采用基址加变址寻址方式,BX+DI+DISP作为操作数的偏移地址。把DL中的内容送到DS段中以BX+DI+DISP为偏移地址的字节单元中。
⑥mov DS:DISP[BP],1234H,正确,DS:DISP[BP]采用变址寻址方式,BP+DISP作为操作数的偏移地址。由于BP默认的段寄存器是SS,而这里显示是想把它放入数据段中,所以这里声明段寄存器DS。把1234H送入DS段中以BP+DISP为偏移地址的字单元中。
mov Byte PTR[SI],40,寄存器间接寻址。40为字节时就是00101010,为字时就是0000000000101010,...
这都是很基本的概念,建议多看看书吧。(P.S. 没书?买一本咯!)
更多追问追答
追问
有书啊,可是书上很多基础东西没写。。

秒懂百科
2021-04-19 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式