您的位置:首页 >> 编程开发 >> 汇编 >> 汇编教程 >> 正文
RSS
 

汇编语言的高级语言特性

http://www.rdxx.com 05年09月13日 23:28 Blog.ChinaUnix.net 我要投稿

关键词: 特性 , 汇编语言 , 语言 , 汇编
现在写汇编语言,就象写结构化的高级语言一样,非常的方便。不信?你看看下面写的小程序就知道啦,没有程序跳转,完全的结构化设计。最后还附有 Glow Glove 总结的小篇文章,供大家学习参考。

原文链接:汇编语言的高级语言特性

现在写汇编语言,就象写结构化的高级语言一样,非常的方便。不信?你看看下面写的小程序就知道啦,没有程序跳转,完全的结构化设计。最后还附有 Glow Glove 总结的小篇文章,供大家学习参考。

;-------------------------------------------------------
;例:计算一个数据的阶乘
;若结果较小,可放在 EAX 寄存器
;若结果较小,可放在 EDX:EAX 寄存器
;文件名:7.asm

        .386
        .model flat,stdcall
        option casemap:none


include windows.inc

include masm32.inc
include kernel32.inc
include user32.inc

includelib masm32.lib
includelib kernel32.lib
includelib user32.lib


        .data?
CharOut db 100 dup(?)

        .code

OutEdxEax PROTO :DWORD      ;将EDX:EAX中的数据转换成十进制输出字符串形式!

OutEdxEax proc lpString     ;比如:EDX=0,EAX=01234567H,则转换后的字符串为:
                                    -> '19088743',0
        mov edi,lpString    ;指向存放结果的地址
        mov esi,lpString

        mov ecx,10          ;转换成十进制
        .while eax!=0 || edx!=0
            push eax   
            mov eax,edx
            xor edx,edx
            div ecx
            mov ebx,eax
            pop eax
            div ecx
            add dl,'0'     
            mov [edi],dl    ;存放结果
            inc edi
            mov edx,ebx
        .endw

        mov BYTE ptr [edi],0;字符串以0为结尾
        dec edi

        .while edi>esi      ;结果前变后,后变前!
            mov al,[esi]
            xchg al,[edi]
            mov [esi],al

9 7 3 1 2 3 4 5 6 7 8 9 10 4 8 :

 
 
标签: 特性 , 汇编语言 , 语言 , 汇编 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站