您现在的位置:多问网知识中心电脑教学软件技巧使用TURBO C++的内嵌汇编应注意的问题

使用TURBO C++的内嵌汇编应注意的问题

10-12 02:53:27   浏览次数:45726  栏目:软件技巧
标签:办公软件技巧,软件测试面试技巧,办公软件使用技巧,http://www.duowen123.com 使用TURBO C++的内嵌汇编应注意的问题,
 首先,内嵌汇编是宏汇编的子集,有很多的宏汇编命令这里并不支持,例如所有的宏指令、所有的段指令以及很多的伪指令。这需要在使用中慢慢地了解。这里不再一一列出。
        其次是标号的使用,这是一个在使用中普遍遇到的问题,例如以下程序段:
        ......
        asm{
        mov cx,100
        label:
        mov ax ,[bp+si]
        inc si
        inc ax
        mov [bp+si],ax
        loop label
        }
        ......
        该程序段将会出现编译错,编译器给出以下错误信息:
        label not defined.
        这样使得一些编程人员误以为内嵌汇编不支持标号的使用,但是不使用标号又会使编程变得极不方便,其实只要将标号移出asm标识符作用区即可,修改后程序段如下;
        ......
        asm{
        mov cx,100
        }
        label:
        asm{
        mov ax,[bp+si]
        inc si
        inc ax
        mov[bp+si],ax
        loop label
        }
        ......
        这样再编译就正确通过了。
        第三、用内嵌汇编构造函数时应注意的问题:
        1.环境的保存与恢复:
        在C++语言中,调用环境的保存与恢复是在函数体外部来完成的,所以内嵌汇编并不需要保存环境,这样可以节省一些代码。
        2.参数的传递与使用:
        C++语言是利用堆栈来传递参数的,其传递规则在很多文章中都有详细的介绍,这里不再多说。但是其实用内嵌汇编来构造函数并不需要知道该规则,直接使用函数说明中的形参名即可。如下例:
        ......
        void func(int i,int j){
        asm{
        mov ax,j
        add ax,i
        }
        }
        ......
        这样就方便多了。
        3.函数的返值:
        C++函数返值符合MICRO SOFT标准,这里不再描述。
        以上就是在TURBO C++内嵌汇编中应注意的一些问题,希望能给读者一些启发。
        (北京大学  赵前、杜军)
 

,使用TURBO C++的内嵌汇编应注意的问题
相关热词搜索: tag: 软件技巧,办公软件技巧,软件测试面试技巧,办公软件使用技巧,电脑教学 - 软件技巧
上一篇:设置定时提醒
《使用TURBO C++的内嵌汇编应注意的问题》相关文章
文章评论
联系我们 | 网站地图 | 范文大全 | 管理资料 | 驾照考试 | 教学资料 | 名言大全 | 软件下载
Copyright @ 多问网 all rights reserved
学生评语_教案设计_小学语文试卷
1 2 3 4 5 6 7 8 9 10 11 12