呃,我在网上自学汇编,一直用的是单操作数的PUSH和POP,但今天在debug.exe里竟写出了PUSH AX, 00
和POP AX, 00
还没报错……问大佬们双操作数的PUSH和POP怎么用啊?
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
threenewbee 2020-04-01 09:51最佳回答 专家已采纳没有dual operand的push/pop
怕自己孤陋寡闻,还特地查了下,真的没有
https://c9x.me/x86/html/file_module_x86_id_269.html采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2020-04-01 09:23回答 1 已采纳 没有dual operand的push/pop 怕自己孤陋寡闻,还特地查了下,真的没有 https://c9x.me/x86/html/file_module_x86_id_269.html
- 2021-11-19 08:17回答 1 已采纳 CMP OPR1 , OPR2.执行操作:(OPR1)-(OPR2)该指令与SUB指令一样执行减法的操作,但它并不保存运算结果,只是根据结果设置相关的条件标志位(SF、ZF、CF、OF)。CMP指令后
- 2017-01-29 05:09回答 1 已采纳 汇编有at&t格式和intel格式,intel自己的手册用后者写。写法颠倒,但是说的是一回事。
- 2021-03-12 22:02开心镖局17355838355的博客 汇编里把一段内存空间定义为一个栈,栈总是先进后出,...PUSH 指令PUSH 指令首先减少 ESP 的值,再将源操作数复制到堆栈。操作数是 16 位的,则 ESP 减 2,操作数是 32 位的,则 ESP 减 4。PUSH 指令有 3 种格式:P...
- 2019-10-22 21:12deniece1的博客 1、**push pop 只对字操作(不允许字节进栈)**操作数长度为32位时进出栈为双字。 例如 push dl是不正确的,应该是push dx 2、汇编语言中PUSH导致SP减2而不是加2。原因:栈在内存中实际存储结构是栈底在高地址,栈顶...
- 2021-10-18 20:44谨慎的海绵的博客 目的操作数Dst不能为im,IP,CS 就是不能把数据送到立即数和命令相关的寄存器 src和dst大小要匹配 比如下面这个是错的,因为两个大小位置 有寄存器的会隐式匹配 比如 mov ax,[bx] 两个段寄存器之间不能直接...
- 2015-10-31 10:24回答 0 已采纳 汇编语言 输入字符串并输出所有非字母字符的前后导字符----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
- 2016-11-03 00:11回答 1 已采纳 第一行,设置BP=SP,看图 第二行,AX内容压栈,注意栈向低地址方向生长,因此图中上端为低地址方向 第三行,BP+4所指向的内容(即2222H)存入AX,注意图中每一格代表2个字节(16位)
- 2022-03-02 15:54回答 2 已采纳
- 2021-10-20 12:03柳家山头号矿工的博客 push ax等价于 sub sp,2 mov ds,ss mov si,sp mov [si],al mov [si+1],ah pop ax等价于 mov ds,ss mov si,sp mov al,[si] mov ah,[si+1] add sp,2 push指令sp先自减2再传送数据的原因: 两条指令 mov [si],al mov ...
- 2021-05-19 19:58柯必Da的博客 在阅读有关汇编程序的文章时,我经常遇到人们在写文件时他们推送处理器的某个寄存器并... 例如,AT&T语法中的push-pop使用像b,w,l或q这样的后置修复来表示被操作的内存的大小。 例如:pushl %eax和popl %eax@h...
- 2020-12-19 23:18weixin_39933508的博客 展开全部汇编语言指令集汇编指令是汇编语言中使用的一些操作符(如62616964757a686964616fe58685e5aeb931333330363131mov,inc,loop)和助记符,还包括一些伪指令(如assume,end)。用于告诉汇编程序如何进行汇编的指令,...
- 2021-12-31 05:39回答 1 已采纳 因为你这个问题,在CSDN问人,真心不如自己去谷歌百度 各个编程语言的优缺点。
- 2016-02-14 13:09回答 11 已采纳 C语言不适合编写大型程序 操作系统(内核)还真的算不上大型程序。操作系统和其它软件不同,它的需求是基本恒定的,在有限的需求内需要绝对的可靠性和绝对的性能。 C++中优雅地使用全局数据的方式是使
- 2019-09-25 17:54回答 1 已采纳 http://blog.sciencenet.cn/blog-3406804-1166733.html
- 2020-12-19 23:18weixin_39562327的博客 【数据传输指令】一、通用数据传送指令1、传送指令MOV(move)指令的汇编格式:MOV DST,SRC 指令的基本功能:(DST)2、进栈指令 PUSH(push onto the stack)出栈指令 POP (pop from the stack) 指令的汇编格式:PUSH SRC...
- 2021-06-28 10:29BkbK-的博客 通用数据处理指令——堆栈传送指令 一、堆栈概述 (1)堆栈定义 (2)IA-32处理器的堆栈段 (3)堆栈的作用 二、PUSH和POP指令 (1)进栈指令PUSH (2)出栈指令POP
- 2020-10-29 15:08Nathaniel_039的博客 0 操作数的表示方法 符号 表示内容 data 立即数 reg 通用寄存器(AX、BX、CX、DX、BP、SP、SI、DI) seg或segreg 段寄存器(CS、DS、SS、ES) mem或[] 存储器 src 源操作数 dst 目的操作数 n, ...
- 2016-04-25 10:11回答 4 已采纳 多个程序没法同时运行,它们在宏观上同时运行,微观上是交替运行的。操作系统在任务切换的时候,会把前一个程序中断时候的寄存器上下文保存到内存,并且恢复下一个要执行的程序的寄存器上下文,再执行。 http
- 2021-01-30 09:53花说我像人的博客 数据传送指令集MOV功能:把源操作数送给目的操作数语法:MOV目的操作数,源操作数格式:MOVr1,r2MOVr,mMOVm,rMOVr,dataXCHG功能:交换两个操作数的数据语法:XCHG格式:XCHGr1,r2...PUSH操作数POP操作数格式:PUSHrPUSHM...
- 没有解决我的问题, 去提问