请问push 和pop在这几句中的含义

aprilhorsegame 2012-07-21 07:42:02
注册窗口类
;********************************************************************
invoke LoadCursor,0,IDC_ARROW
mov @stWndClass.hCursor,eax
push hInstance
pop @stWndClass.hInstance

mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszClassName,offset szClassName
invoke RegisterClassEx,addr @stWndClass
把hinstance 压入堆栈有什么作用呢?
把@stWndClass.hInstance弹出又是干啥?
...全文
341 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sgw888 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

要解释这些概念我也说不清楚,我就认为操纵存储器就是访问内存,堆栈也是在内存中,寄存器就是你代码中常用到的eax、ebx等,cpu可单独识别并读写数据,指令的网上一搜一大堆了,我是下了个汇编金手指方便查询的,忘了在哪下的了,关于这些寄存器、存储器、堆栈的问题你可以网上搜一下吧,解释的更详细,
[/Quote]
这样理解应该可以了. 我现在还没接触到保护模式的汇编,跟实模式应该没有很大的区别吧?在实模式下,寄存器就是集成在CPU里面的,可以直接访问的,存储器则认为是内存,堆栈也是内存,只不过人为把内存的一块区域设定为堆栈使用罢了.
小菩提的尾巴 2012-07-23
  • 打赏
  • 举报
回复
要解释这些概念我也说不清楚,我就认为操纵存储器就是访问内存,堆栈也是在内存中,寄存器就是你代码中常用到的eax、ebx等,cpu可单独识别并读写数据,指令的网上一搜一大堆了,我是下了个汇编金手指方便查询的,忘了在哪下的了,关于这些寄存器、存储器、堆栈的问题你可以网上搜一下吧,解释的更详细,
小菩提的尾巴 2012-07-22
  • 打赏
  • 举报
回复
mov不支持存储器到存储器之间的操作
小菩提的尾巴 2012-07-22
  • 打赏
  • 举报
回复
mov不支持存储器到存储器之间的操作
aprilhorsegame 2012-07-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

mov不支持存储器到存储器之间的操作
[/Quote]
多谢楼上的解释,我是新手,请问什么是存储器,是寄存器么?还是堆栈,
有没有详细的解释这些指令的书籍,
howtomove 2012-07-21
  • 打赏
  • 举报
回复
那为什么不写成 想其他的指令一样move @stWndClass.hInstance ,hInstance
「已注销」 2012-07-21
  • 打赏
  • 举报
回复
@stWndClass.hInstance=hInstance

就是这个意思

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧