strlen in assembly的问题 关于汇编中的strlen,但这似乎是用AT& T语法编写的,遗憾的是我的汇编程序不支持。
我只是好奇你如何将语法[eax + ebx]翻译成intel的语法?
所以
4(%eax) # offset 4
相当于
[eax + 4]
假设偏移值存储在%ebx中。 什么是
的等价性[eax + ebx]
%ebx(%eax) # doesn't work!
谢谢,
答案 0 :(得分:8)
[eax+ebx]
应翻译为(%eax,%ebx)
。
AT& T语法中存储器地址的完整语法是:
offset(%reg1,%reg2,scale)
相当于:
[reg1 + reg2*scale + offset]
offset
和scale
是常量值,scale
必须为1,2,4或8.默认值为0表示偏移量,1表示比例。