魔诀 发表于 2014-7-25 16:09:16

看了这段代码你就会知道学完了《零基础学汇编》和没学一个样

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.win32asm.com.cn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 将参数列表的顺序翻转
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
reverseArgs        macro        arglist:VARARG
                local        txt,count

        txt        TEXTEQU        <>
        count        = 0
        for        i,<arglist>
                count        = count + 1
                txt        TEXTEQU @CatStr(i,<!,>,<%txt>)
        endm
        if        count GT 0
                txt        SUBSTRtxt,1,@SizeStr(%txt)-1
        endif
        exitm        txt
endm
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 建立一个类似于 invoke 的 Macro
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_invoke                macro        _Proc,args:VARARG
                local        count

        count        = 0
        for        i,< reverseArgs( args ) >
                count        = count + 1
                push        i
        endm
        call        dword ptr _Proc   

endm
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
只能感叹于自己学的好浅!

黄泉 发表于 2014-7-25 18:20:57

什么意思啊··

大黑鱼 发表于 2014-7-25 19:08:13

为什么会有for if ..?这是汇编和C语言的结合体吗?

崇崇 发表于 2014-7-25 19:27:47

是C加上VB吗:sweat:

剑锋@2008 发表于 2014-7-25 19:35:23

:cry

魔诀 发表于 2014-7-26 06:49:03

纯汇编哈。反正我是查了半天资料没搞明白。

简单°无所谓 发表于 2014-7-26 09:07:19

楼主的观点地球人都不赞同不学基础你知道push的含义嘛 自己调试程序   反汇编后知道cmpjnz jz(if)loop jmpjnzx(forwhile...)的意思嘛??   就好比你面前放着美味佳肴不知道怎么吃差不多在这里希望楼主不要把自己无知的想法流传到还没入门的童鞋心里论坛中有你这样的人菜我感到非常的愤怒

简单°无所谓 发表于 2014-7-26 09:17:50

大黑鱼 发表于 2014-7-25 19:08
为什么会有for if ..?这是汇编和C语言的结合体吗?

一种语言 32汇编语言   属于面向过程的

55chenbin 发表于 2014-7-26 10:34:23

楼主有点乱搞了。x86汇编是基础,懂否?

水鱼 发表于 2014-7-26 10:37:47

搞不明白要做什么

wangerwanger 发表于 2014-7-26 11:07:42

虽然不明白说什么,但是很厉害的样子

魔诀 发表于 2014-7-26 22:57:58

简单°无所谓 发表于 2014-7-26 09:07
楼主的观点地球人都不赞同不学基础你知道push的含义嘛 自己调试程序   反汇编后知道cmpjnz jz(if)...

我说的这些不是基础的?基础的才是最难的,你要是能证明1+1=2那才是最最天才的数学家。看到难就退缩那能怪谁?看不懂你不更应该有点上进心?不要认为学了那点入门就算学了汇编。这些东西不就是一个个知识点组合起来的,这些只是让你能用1+1=2而已。条条大道,思想万千,见解不同,一笑而过。

魔诀 发表于 2014-7-26 23:03:31

大黑鱼 发表于 2014-7-25 19:08
为什么会有for if ..?这是汇编和C语言的结合体吗?

for是遍历;if也是条件,有好多种,具体可以去看看《intel汇编语言程序设计》

shehdok 发表于 2014-7-26 23:12:29

头晕了

粪斗的小鸟 发表于 2014-7-28 02:39:22

感觉很强大的语言

计机羊咩咩 发表于 2014-8-3 11:04:58

win32汇编掺杂了消息机制,而且寻址方式不同   不是那么容易就能理解的    16位汇编语言不过是入门

cable5881 发表于 2014-8-5 15:27:10

hjhjhjhjhjhjjkjkjkjkjkjk

dAb 发表于 2014-8-8 17:26:55

好像讨论Win32汇编的比较少啊,难得。

zhang99844 发表于 2015-9-6 08:33:52

什么意思
页: [1]
查看完整版本: 看了这段代码你就会知道学完了《零基础学汇编》和没学一个样