社区
汇编语言
帖子详情
8086直接寻址和立即数寻址
qq_26613239
2016-12-05 10:24:36
求大神指点如何区分8086的立即寻址和直接寻址?
MOV AX,2345H
这个2345H 怎么判断它是立即数还是一个16位地址呢?
8086汇编指令里没有#这个区分
...全文
2628
12
打赏
收藏
8086直接寻址和立即数寻址
求大神指点如何区分8086的立即寻址和直接寻址? MOV AX,2345H 这个2345H 怎么判断它是立即数还是一个16位地址呢? 8086汇编指令里没有#这个区分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zara
2016-12-29
打赏
举报
回复
如果,你把这几行生成了汇编代码来看,结果会很是意外,完全不是你想的样子。
楼主的问题,不是概念问题,而是汇编源程序的语法上的要求规定而已。
wshcdr
2016-12-29
打赏
举报
回复
如果有C语言的基础,那就很好区分,汇编书上很多讲得不到位 int i = 8;//对应的汇编就是立即数寻址 int j = 6; int m = j; // 对应的汇编就是直接寻址
linux_hsylar
2016-12-29
打赏
举报
回复
8086访问RAM中的数据时,如果直接是move ax,[xxxx],默认的段是DS(数据段),也有可能出现段超越,如mov ax,es:[xxxx],如果[xxxx]前面加了除了DS以为的段寄存器,就说明是段超越,如果没有加,就是DS,加了DS就是多此一举吧。至于立即寻址,后面直接是xxxx,而如果是直接寻址,则是加上[xxxx],数字加方括号的。
日立奔腾浪潮微软松下联想
2016-12-29
打赏
举报
回复
#9说的不一定,要看编译器。 也可能是 mov dword ptr [i],8 也可能是 mov eax,8 //使用哪个寄存器看上下文的情况了,不一定是eax mov [i],eax 后面的 int j = 6; int m = j; 类似 也可能是 mov dword ptr [j],6 mov dword ptr [m],6 也可能是 mov eax,6 mov [j],eax mov [m],eax 也可能不优化成这样 mov eax,6 mov [j],eax mov eax,[j] mov [m],eax
baidu_23107797
2016-12-17
打赏
举报
回复
直接地址....ds:[xxxxx] ;必须ds:加方括号,否则仍作立即数
qq_26613239
2016-12-16
打赏
举报
回复
好像懂了 , 意思就是直接地址的话 要接这个DS: ‘DS:’这三个符号 ?
zara
2016-12-09
打赏
举报
回复
对 masm 来说,源程序里加了方括号也没用,一样地会被当作立即数,只有再加上 DS: 才会被认为是直接的内存地址
谁学逆向工程
2016-12-09
打赏
举报
回复
你这个没有方括号,那就是立即数
zara
2016-12-08
打赏
举报
回复
在其它地方,如果不是其它原因会使用非 DS: 的话,DS: 是可以省略的;而这里,DS: 的作用其实不是指明段的意思,其作用,就只是告诉编译程序,后面的数据是内存地址,而非立即数,在最后的程序执行代码里,是没有这个 DS: 段前缀指令的。这,只是个标记数值类型的个规定吧。
qq_26613239
2016-12-07
打赏
举报
回复
首先,谢谢你回复
qq_26613239
2016-12-07
打赏
举报
回复
不是这样吧 8086 是有默认的段地址的 就是这个DS:可以省略的,访问数据默认的段地址是数据段 也可以指定
zara
2016-12-05
打赏
举报
回复
按照 masm 的语法约定,如果是地址,应该写成 mov ax, ds:[2345h] ;其它形式的,将被视为立即数。
操作数
寻址
方式flash演示
包含最基本的
寻址
方式演示:
立即数
寻址
、寄存器
寻址
、
直接
寻址
、寄存器间接
寻址
、寄存器相对
寻址
、基址变址
寻址
、相对基址变址
寻址
。
汇编
8086
编码微机原理
一、概述 1. 程序语言简介 2.
8086
/8088指令简介 二、
8086
/8088的
寻址
方式 1.
立即数
寻址
2. 寄存器
寻址
3.
直接
寻址
4. 寄存器间接
寻址
5. 寄存器相对
寻址
6. 基址加变址寄存器 7. 相对基址加变址寄存器
8086
指令集英文版1
4. 指令指针寄存器 IP 5. 程序状态字 PSW 1.立即
寻址
2.寄存器
寻址
3.
直接
寻址
4.寄存器间接
寻址
5.寄存器相对地址 6.基址加变址
寻址
7
2019下微机补考-复习要点-2020.081
微机复习要点-2020.8第2章、第3章
8086
/8088 CPU、
8086
汇编语言程序设计常用
寻址
方式:立即
寻址
、
直接
寻址
、寄存器
寻址
、寄存器间接
寻址
、寄存
软件调试第二版-卷一读书笔记1
1. 立即
寻址
2. 寄存器
寻址
3.
直接
寻址
4. 寄存器间接
寻址
2. 平坦内存模型 3. 分页机制 4. 调试寄存器 5. 虚拟
8086
模式 1. cp
汇编语言
21,458
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章