社区
汇编语言
帖子详情
8086直接寻址和立即数寻址
qq_26613239
2016-12-05 10:24:36
求大神指点如何区分8086的立即寻址和直接寻址?
MOV AX,2345H
这个2345H 怎么判断它是立即数还是一个16位地址呢?
8086汇编指令里没有#这个区分
...全文
2629
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. 相对基址加变址寄存器
C++第4课:C++协程及高并发网络协程库State-Threads
C++第4课:C/C++协程及高并发网络协程库State-Threads大家好,我将带领大家一起来学习CC/C++协程的基础知识,包括setjmp, longjmp,和ucontext。然后讲解汇编语言的CPU
寻址
,以及CS:IP控制CPU走向的原理。然后讲解高并发网络协程库State-Threads的案例应用,开发上万个协程,以及TCP服务器案例。本课程的内容主要包括C/C++语言的setjmp、longjmp和goto,C/C++语言的协程简介、
8086
汇编语言的CS和IP寄存器及
寻址
、异步I/O+epoll+协程、IO复用机制、Linux协程之ucontext组件、Linux协程之生产者消费者、高并发网络协程库State-Threads、用State-Threads创建高并发TCP服务器等。
8086
指令集英文版1
4. 指令指针寄存器 IP 5. 程序状态字 PSW 1.立即
寻址
2.寄存器
寻址
3.
直接
寻址
4.寄存器间接
寻址
5.寄存器相对地址 6.基址加变址
寻址
7
2019下微机补考-复习要点-2020.081
微机复习要点-2020.8第2章、第3章
8086
/8088 CPU、
8086
汇编语言程序设计常用
寻址
方式:立即
寻址
、
直接
寻址
、寄存器
寻址
、寄存器间接
寻址
、寄存
汇编语言
21,458
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章