5.在计算机上运行汇编语言程序的步骤是什么?
(1)用编辑文件如 EDIT 编辑源文件,形成.ASM 文件。
(2)用汇编程序(MASM.EXE)把.ASM 源文件汇编成目标文件.OBJ。
(3)用连接程序(LINK.EXE)把.OBJ 文件转换成.EXE 可执行文件。
(4)运行可执行文件.EXE。
(5)若有错,使用 DEBUG 进行调试。
6.比较宏指令和子程序,它们有何异同?它们的本质是什么?
两者的相同点为:都是用来处理在编程过程中多次使用的功能程序的方法,两者均能简化源程序。
两者的区别在于:
(1)宏调用通过宏指令名进行,汇编时,随时调用随时展开,并不简化目标程序;子程序调用是在
程序运行期间通过执行 CALL 指令调用,代码只在目标程序中出现一次,所以也简化了目标程序。
(2)宏调用时的参数由汇编程序通过实参转换成形参的方式传递,具有很大的灵活性,宏定义中允
许设置若干形式参数代替数值、指令、寄存器、各种字符串等,宏调用时可用程序所需要的实际参数来替
换,使编程人员感觉非常灵活;而子程序的参数传递要麻烦得多。
(3)宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要时间,还涉及
堆栈操作。
综上,故若优先考虑速度,用宏指令;若优先考虑存储空间,用子程序。
7.什么是系统调用,如何进行系统调用?
系统调用就是 DOS 调用中的 INT 21H 调用。
其过程是:(1)置入口参数;(2)将系统功能号送入 AH;(3)执行系统调用 INT 21H。