作者learnerQQ (小铨)
看板C_and_CPP
标题[问题] 有关副程式
时间Wed Oct 28 12:53:29 2009
最近有写了一个小程式,主要是把文字档读进来~(我是用 C的 FILE* 开档)
这个文字档里面,有许多 指令...(有点类似 MIPS lw ,sw... )
但是不会很复杂,只有加法 跟减法 还有载入数字等 指令~
我本来是想 读取一行 执行一行的,但规定说要 模拟作业系统!
当CPU 执行工作(job) 到一半时,突然有 中断(interrupt) 发生
先把指令 LOAD到 记忆体,先处理这个 Interrupt内容~ 原本的工作 先用PC记录
所以我原本想法: 一次读取一行 并且执行 ,可能不行了..
因为这样好像 OS 始终 都在执行它的 job~, 题目要求用function 模拟 interrupt!
请问各位,可能把这些指令 写成一个副程式 ,再去 CALL 副程式吗?
因为我从以前学 C 语言 都已经习惯自己定 Functions.... 再去 compiler..
现在要我 去 call 别人定的 副程式,而且副程式还是从别的文字档里读取的....
就很一头雾水 ~"~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.40.115.158
1F:推 VictorTom:file里的东西是可以改的吧?? 那你不太可能写一个固定的 10/28 13:20
2F:→ VictorTom:副程式; 这感觉是你要写一个interpreter即时来吃这些指 10/28 13:20
3F:→ VictorTom:令处理. interrupt的部份看要怎麽模拟(multithread吗??) 10/28 13:21
4F:→ VictorTom:偷鸡的想法是每一条指令执行完去check某个叫interupt的 10/28 13:22
5F:→ VictorTom:flag, 有外部资料设定它, 就当中断发生做相应的处理. 10/28 13:22
6F:→ VictorTom:要interrupt主动中断你的interpreter, 感觉要用event 10/28 13:24
7F:→ VictorTom:driven的作法搭配/模拟callback function来做?_? 10/28 13:25
8F:推 ledia:应该是一只 thread 吃 command, 一只 thread 模拟 ? 10/28 13:34
9F:→ ledia:well, multi-thread or multi-process 可以再定论 10/28 13:35
10F:→ ledia:可能一般时候是从 pipe 之类的读 command 模拟 10/28 13:35
11F:→ ledia:有 interrupt 时再送 signal 10/28 13:36
12F:→ ledia:啊 我讲得很乱, 主词变换不定... 反正是这个意思啦 囧 10/28 13:36
13F:→ learnerQQ:大概懂一点 还是先谢谢各位热心提示 副程式恐怕不行XD 10/28 18:46
14F:→ learnerQQ:那如果输入的指令 先存档 可以载入指令 再用副程式吗?? 10/28 18:50