上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 代码清单 10-1 中列出的C语言源代码中,有一个处理是在变量c中存储 AddNum 函数的返回值,不过在汇编语言的源代码中,并没有与此对应的处理。这是因为编译器有最优化功能。最优化功能是编译器在本地代码上费尽功夫实现的,其目的是让编译后的程序运行速度更快、文件更小。在代码清单 10-1 中,由于存 阅读全文
posted @ 2023-02-14 20:32 原魏薯片 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 数据在存储时是从内存的下层(大的地址编号)逐渐往上层(小的地址编号)累积,读出时则是按照从上往下的顺序进行(图10-3)的。 栈是存储临时数据的区域,它的特点是通过 push 指令和 pop指令进行数据的存储和读出。往栈中存储数据称为“人栈”,从栈中读出数据称为“出栈”。32位x86系列的CPU中, 阅读全文
posted @ 2023-02-14 20:00 原魏薯片 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 指令中最常使用的是对寄存器和内存进行数据存储的 mov 指令。mov 指令的两个操作数,分别用来指定数据的存储地和读出源。操作数中可以指定寄存器、常数、标签(附加在地址前),以及用方括号()围起来的这些内容。如果指定了没有用方括号围起来的内容,就表示对该值进行处理:如果指定了用方括号围起来的内容,方 阅读全文
posted @ 2023-02-14 19:40 原魏薯片 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 在汇编语言中,1行表示对CPU的一个指令。汇编语言指令的语法结构是操作码+操作数(也存在只有操作码没有操作数的指令)。 能够使用任何形式的操作码,是由CPU的种类决定的。表10-1对代码清单10-2中用到的操作码的功能进行了整理。 本地代码加载到内存才能运行。 寄存器是CPU中的存储区域。不过,寄存 阅读全文
posted @ 2023-02-14 19:37 原魏薯片 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 汇编语言的源代码,是由转换成本地代码的指令(即操作码)和针对汇编器的伪指令构成的。伪指令负责把程序的构造及汇编的方法指示给汇编器(转换程序)。伪指令本身是无法汇编转换成本地代码的。这里我们把代码清单10-2中用到的伪指令部分摘出,如代码清单10-3所示。 由伪指令 segment和ends围起来的部 阅读全文
posted @ 2023-02-14 18:55 原魏薯片 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 除了将本地代码进行反汇编这一方法外,通过其他方式也可以获取汇编语言的源代码。大部分C语言编译器,都可以把利用C语言编写的源代码转换成汇编语言的源代码,而不是本地代码。利用该功能,就可以对C语言的源代码和汇编语言的源代码进行比较研究。笔者在学生时代的报告中,使用的便是该功能。Borland C++ 中 阅读全文
posted @ 2023-02-13 21:48 原魏薯片 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 通过调查本地代码的内容,可以了解程序最终是以何种形式来运行的。但是,如果直接打开本地代码来看的话,只能看到数值的罗列。如果直接使用这些数值来编写程序的话,还真是不太容易理解。因而就产生了这样一种想法,那就是在各本地代码中,附带上表示其功能的英语单词缩写。例如,在加法运算的本地代码中加上add(add 阅读全文
posted @ 2023-02-13 21:40 原魏薯片 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Windows操作系统的主要特征如下所示。 (1)32位操作系统(也有64位版本) (2)通过API函数集来提供系统调用 (3)提供采用了图形用户界面的用户界面 (4)通过WYSIWYG实现打印输出 (5)提供多任务功能 (6)提供网络功能及数据库功能 (7)通过即插即用实现设备驱动的自动设定 阅读全文
posted @ 2023-02-13 21:23 原魏薯片 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 通过使用操作系统提供的系统调用,程序员就没必要编写直接控 制硬件的程序了。而且,通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高级编程语言能够使硬件抽象化。这是个非常了不起的处理。 下面就让我们来看一下硬件抽象化的具体实例。代码清单 9-2 是用 C语言编写的往文件中写人 阅读全文
posted @ 2023-02-13 21:11 原魏薯片 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(systemcall),也就是应用对操作系统(svstem)的功能进行调用(call)的意思。在前面的程序中用到了 time()及 printf()等函数,这些函数内部也都使用了系统调用。这里 阅读全文
posted @ 2023-02-13 20:48 原魏薯片 阅读(21) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页