摘要:
硬件控制指令:Windows控制硬件借助输入输出指令,其中具有代表性的是汇编语言指令IN和OUT。IN指令通过指定端口号从端口输入数据并存储在CPU内部寄存器中;OUT指令则把CPU寄存器中存储的数据输出到指定端口号的端口。 端口与I/O控制器:计算机主机中有用于连接外围设备的连接器,其内部连接着I 阅读全文
posted @ 2025-02-14 22:36
叽里呱啦哇里呱唧
阅读(182)
评论(0)
推荐(0)
摘要:
应用与硬件控制方式:在使用C语言等高级编程语言开发的Windows应用中,很少直接接触控制硬件的指令,因为硬件控制由Windows负责。Windows提供了通过应用间接控制硬件的方法,利用操作系统的系统调用(在Windows中称为API)来实现硬件控制,这些API函数的实体存储在DLL文件中。 系统 阅读全文
posted @ 2025-02-14 22:34
叽里呱啦哇里呱唧
阅读(4)
评论(0)
推荐(0)
摘要:
在汇编语言中,是用什么指令来同外围设备进行输入输出操作的? IN指令和OUT指令 I/O是什么的缩写? Input/Output 用来识别外围设备的编号称为什么? I/O地址或I/O端口号 IRQ是什么的缩写? Interrupt Request DMA是什么的缩写? Direct Memory A 阅读全文
posted @ 2025-02-14 22:03
叽里呱啦哇里呱唧
阅读(6)
评论(0)
推荐(0)
摘要:
理解程序运行的好处:通过对比C语言源代码和汇编语言源代码,能加深对“程序是怎样跑起来的”理解,且在某些情况下有助于查找bug。 多线程示例:代码清单10 - 13展示了更新全局变量counter值的C语言程序,MyFunc1和MyFunc2函数都将counter值放大2倍。在多线程处理中同时调用这两 阅读全文
posted @ 2025-02-14 22:03
叽里呱啦哇里呱唧
阅读(12)
评论(0)
推荐(0)
摘要:
条件分支实现原理:条件分支的实现方法与循环处理类似,使用cmp指令和跳转指令来实现。 C语言示例:代码清单10 - 11展示了根据变量a的值调用不同函数(MySub1、MySub2、MySub3)的C语言源代码,使用if语句实现条件分支,示例中的函数均不进行任何实际处理。 汇编语言转换:将代码清单1 阅读全文
posted @ 2025-02-14 22:02
叽里呱啦哇里呱唧
阅读(13)
评论(0)
推荐(0)
摘要:
流程控制定义:通过利用for语句及if语句来改变程序流程的机制称为“流程控制”。 C语言for循环示例:定义了MySub和MyFunc函数,在MyFunc函数中,局部变量i作为循环计数器连续进行10次循环,重复调用MySub函数。 汇编语言实现循环:C语言的for语句通过指定循环计数器初始值、继续条 阅读全文
posted @ 2025-02-14 22:02
叽里呱啦哇里呱唧
阅读(10)
评论(0)
推荐(0)
摘要:
局部变量存储特性:局部变量临时保存于寄存器和栈中,函数处理完后栈恢复初始状态,局部变量值被销毁,寄存器可能另作他用。 存储分配策略:以代码清单10 - 6中10个局部变量为例,寄存器空闲时优先用于存储局部变量以提升处理速度(Borland C++编译器优化结果),寄存器不足则使用栈。 栈空间操作示例 阅读全文
posted @ 2025-02-14 21:44
叽里呱啦哇里呱唧
阅读(15)
评论(0)
推荐(0)
摘要:
变量定义与特性:C语言中函数外部定义的是全局变量,可被源代码任意部分访问;函数内部定义的是局部变量,只能在定义它的函数内访问。 代码示例:代码清单10 - 6展示了包含初始化和未初始化全局变量、局部变量的C语言代码,将其转换为汇编语言代码(代码清单10 - 7 )。 段定义与变量存储:在Borlan 阅读全文
posted @ 2025-02-14 21:42
叽里呱啦哇里呱唧
阅读(12)
评论(0)
推荐(0)
摘要:
函数参数接收与返回值返回机制:以AddNum函数汇编代码为例,展示参数接收和返回值返回过程。ebp寄存器值先入栈再出栈,以恢复函数调用前状态;将esp寄存器值赋给ebp寄存器,因mov指令中不能直接用esp读写栈内容。 参数读取与运算:用[ebp + 8]读取栈中第一个参数123到eax寄存器,[e 阅读全文
posted @ 2025-02-14 21:38
叽里呱啦哇里呱唧
阅读(7)
评论(0)
推荐(0)
摘要:
函数调用机制引入:以代码清单10 - 2中MyFunc函数调用AddNum函数的汇编语言部分为例,说明函数调用机制,函数调用时栈发挥重要作用。 汇编代码解读:MyFunc函数汇编代码中,push ebp将ebp寄存器值入栈,mov ebp,esp将esp寄存器值赋给ebp寄存器;push 456和p 阅读全文
posted @ 2025-02-14 21:12
叽里呱啦哇里呱唧
阅读(9)
评论(0)
推荐(0)

浙公网安备 33010602011771号