社区
汇编语言
帖子详情
新手在學習intel彙編語言程序設計中的一個問題
ghost_god_like
2012-08-20 08:57:13
書中有這樣一段程式:
.data
arrayB BYTE 10h,20h,30h
.code
mov esi, OFFSET arrayB
mov al,[esi]
我的理解是:esi為32位寄存器,al是位寄存器 ,這樣可以使用mov指令嗎?
請大哥幫忙解惑,不盡感激!
...全文
66
9
打赏
收藏
新手在學習intel彙編語言程序設計中的一個問題
書中有這樣一段程式: .data arrayB BYTE 10h,20h,30h .code mov esi, OFFSET arrayB mov al,[esi] 我的理解是:esi為32位寄存器,al是位寄存器 ,這樣可以使用mov指令嗎? 請大哥幫忙解惑,不盡感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ghost_god_like
2012-08-20
打赏
举报
回复
OMG 懂了,我這個人太粗心大意了.感謝大神的指導,
非常感謝您這么有耐心的指導.
再次謝謝~~!!
大神接分吧.
zara
2012-08-20
打赏
举报
回复
没怎么看 #2 的回复啊,还在坚持
mov ax,[esi]等價于mov ax,esi
?
ghost_god_like
2012-08-20
打赏
举报
回复
那么也就是說
mov ax,[esi]等價于mov ax,esi
但是文中提到MOV指令的目的操作數与源操作數的尺寸必須相同
那么現在ax,esi的操作數不相同了.
還是這樣理解呢:雖然它們等價但是程式中不會出現mov ax,esi
這樣的指令
zara
2012-08-20
打赏
举报
回复
它说的是什么,你说的是什么啊?所以还是你想像错了。
ghost_god_like
2012-08-20
打赏
举报
回复
mov al,[arrayB+1]
ghost_god_like
2012-08-20
打赏
举报
回复
原文是這樣說的:通過在變量的地址後面加一個常數得到的表達式,如arrayB+1被稱為有效地址.有效地址以方括號括起來時就表示要對方括號內的表達式尋址以獲取該有效地址処內容.MASM并不要求一定要使用方括號,因此下面的語句是等價的:
mov al,[arrayB+]
mov al, arrayB+1
ghost_god_like
2012-08-20
打赏
举报
回复
首先感激大神的指點,但是書上確實是這么說的
zara
2012-08-20
打赏
举报
回复
[Quote=引用 1 楼 的回复:]書上說[esi]和esi是一樣的[/Quote]这是瞎说,或者是你没看对或是想像错了。[esi] 是指 esi 寄存器的内容作为内存地址的那个内存的值;esi 则就指 esi 这个寄存器自身。
对一般的 Masm 汇编程序来说,[1234] 和 1234 都被认为是立即数,而非通常想像上的 [1234] 中的 1234 作为内存地址,但这个不算合理的理解不能由立即数推广到寄存器上。
所以,顶楼的问题就不是问题了吧,给 al 的是 esi 指向的内存处的那个字节,而非 esi 自身。
ghost_god_like
2012-08-20
打赏
举报
回复
書上說[esi]和esi是一樣的
在vs2008+vs2010构建汇编源
程序
的方法、详细步骤
在vs2008或vs2010构建汇编源
程序
的方法 教材是
intel
汇编语
言
程序
设计,书上说...注意我在masm32的配置好了
intel
汇编语
言
程序
设计书
中
要求的所有库文件。比较方便了。 压缩格式是.7z 这些资料适合和我一样的
新手
!
Windows_X64汇编入门.doc
(1)Windows:本文是在windows环境下的汇编
程序
设计,调试环境为Windows Vista 64位版,调用的均为windows API。 (2)X64:本文讨论的是x64汇编,这里的x64表示AMD64和
Intel
的EM64T,而不包括IA64。至于三者间的...
arm32&64汇编语
言
基础视频教程
从零开始主要对照c高级语
言
进行讲解,讲了寄存器的使用、数据类型、变量声名与调用、函数调用约定、栈等
新手
难以理解的知识,因些本套教程非常适合汇编语
言
入门人员,通过学习汇编语
言
,让人有一个整体概念,为日后...
Linux汇编语
言
程序
设计---第零章
margin: 0.79in } P { margin-bottom: 0.08in }-->作者:Richard Blum翻译:落叶追风 声明:转载请注明出处简介 汇编语
言
是当今软件领域被误解最深的编程语
言
之一。提及汇编语
言
,通常最先被想到的是非常繁杂...
新手
小白尝试STM汇编
程序
设计
2.在Keil下完成一个汇编
程序
的编写,学习动态调试变量;并注意观察最终生成 hex文件的各段的大小,以及Hex文件前8个字节内容,解释其含义。 3.在上面Keil 汇编基础上,用汇编
程序
完成 每间隔1秒钟闪烁一次LED的
程序
...
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章