rpct.net
当前位置:首页 >> 汇编语言中proC FAr是什么意思? >>

汇编语言中proC FAr是什么意思?

proc是子程序定义伪指令, far是该子程序的属性,决定调用程序和子程序是否在同一代码段 如下:为子程序定义及说明, 子程序名 PROC NEAR ( 或 FAR ) …… ret 子程序名 ENDP 子程序名为符合语法的标识符 NEAR属性(段内近调用): 调用程序和子程序...

你说的大概是这么一种程序框架: main proc far push ds xor ax, ax push ax ...... ret main endp end main 这是一种最原始的DOS下EXE程序的框架。 那时候,DOS的版本很低,DOS还没有提供4CH号DOS功能调用,结束程序只能用INT 20H完成。 而 INT...

proc far--段间调用子程序的首部,调用时使用20位的组合物理地址,也称为远调用proc near--段内调用子程序的首部,调用时仅使用16位的段内偏移地址,也称近调用

far和near是子程序调用时的参数 如果子程序和调用程序在一个段内,子程序参数设置为near 如果子程序和调用程序不在一个段内,子程序参数设置为far 这里主程序定义为far是因为: 系统把主程序当作DOS调用的一个子程序 DOS内核与主程序不是在同一...

那是汇编语言 far和near是子程序调用时的参数 如果子程序和调用程序在一个段内,子程序参数设置为near 如果子程序和调用程序不在一个段内,子程序参数设置为far 这里主程序定义为far是因为: 系统把主程序当作DOS调用的一个子程序 DOS内核与主程...

可以的。 用 main proc far 是最原始的DOS版本下、没有4CH号功能调用时才需要使用的框架结构,早已淘汰。

当然。 最简单的一句话就是因为你没有写过大程序,也没有和别人分工合作过大程序。 当你发现一个4000行连翻页都好半天的程序有一个地方错了,你该如何去找? 当你们10个人写同一个程序的不同的部分,写法,风格,都不一样,你怎么把他们放在一起...

在代码优化时这个很重要,FAR是1个BYTE位(8 bits)范围内大小,NEAR是半个BYTE位(4 bits)范围内大校如果不讲究优化的话,都用FAR就行了。

说明之后的代码或要修改cs寄存器中的内容,因此要保存到内存中,要不然没法恢复。 RET可以没有,不过就不能返回了,而是继续往下跑(就可能出错了) assume cs:code,ds:data,假设CS寄存器装载的是代码段,假设DS寄存器装载的是数据段 dos16,wi...

如果你的子程序和主程序在同一个代码段,则使用near,调用发生后,主程序堆栈中只压入ip值; 如果你的子程序和主程序不在一个代码段,则使用far,调用发生后,主程序堆栈中将压入cs、ip值;

网站首页 | 网站地图
All rights reserved Powered by www.rpct.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com