原创 gcc和as混合編程,這個例子應該比原來的強了一點,哈哈,習慣了自吹自擂!

  .extern _printf, __strlen .global _print, _a, _b, _add, _str, _str1, _print_str_len _a: .int 200 _b: .int 300 _st

原创 用匯編語言實現一個操作系統雛形(SnailOS 0.00)

效果圖 (修改了調度算法後,下面描述的問題已經沒有了,希望不會引入新的BUG) 這裏期待按下ESC掛起第一個進程,按下F1鍵恢復第一個進程,但是並未實現, 實際運行結果爲有時掛起第一個進程,有時掛起其餘兩個進程,有時則宕機。 百度網盤下載

原创 1 3 4 9 10 12 13 27 這個數列的算法是正確了嗎?

// 1 3 4 9 10 12 13 27 // 3^0 3^1 3^0+3^1 3^2 3^0+3^2 3^1+3^2 3^0+3^1+3^2

原创 這個四則運算表達式求值的小函數,自己看起來還不那麼糟糕!

  #include <stdio.h> #define MAX 0x100 typedef int def_type; typedef struct Stack { def_type* array; unsigned int

原创 這麼快就找到C文件讀寫錯誤問題的答案,真的很意外!

 真的不知道二級制讀寫與一般的讀寫到底有什麼區別,僅僅是在文件打開時把原來的“r”改成“rb”(w改成wb)就成功了。 //: test03.cpp #include <stdio.h> #include <stdlib.h> st

原创 完全仿orange‘s,不過我更喜歡nasm,遺憾的是僅僅做到了多個進程

rem auto.cmd @echo off nasm -fbin -o boot.bin boot.asm dd if=boot.bin of=c.img seek=0 count=1 echo. nasm -fbin -o loa

原创 nasm的Hello, World!程序應該這麼寫(Win32控制檯)

;hello.asm 僅僅適用於win32控制檯程序 ;nasm -f win32 -o hello.o hello.asm ;gcc -o hello.exe hello.o bits 32 ;這似乎不是必須的,但nasm還可以編

原创 實模式到保護模式再到實模式,完成時的分享!

; boot.asm bits 16 start16: mov ax, 0x7c0 ;實模式下,數據段、堆棧段基地址都爲0x7c00 mov ds, ax mov ss, ax mov sp, 0x0 cli ;應關閉

原创 關於指針,我對初學C語言的同窗們真的有話要說!4

前邊對於指針的解說和一些不怎麼恰當的例子,或許使有些同學們已經瞭解了指針的本質問題,當然如果是沒有實踐基礎的話,也可能因此更糊塗了。 那麼讓我們今次再具體和肯定的說一下指針的問題好了。第一點,就是c當中爲什麼引用指針的概念(這只是自己使用

原创 關於指針,我對初學C語言的同窗們真的有話要說!5

這應該是一個結束篇,同學們如果是還不理解的話,也沒有關係,只要你多敲代碼,多調試每一段程序,理解指針不成問題。 那麼這一篇就說一下C中的主要指針種類吧 可見每一種數據類型都有對應的指針類型。 必須說基本類型, char*, short*,

原创 關於指針,我對初學C語言的同窗們真的有話要說!3

這一偏距離上次說指針,時間是有點長了,主要是這幾天上班有點累。好了,今天恢復了一下,讓我們將繼續侃吧! 上一次我們提到了一般的變量,同時也說了指針變量。這樣的話我們應該認識到這兩種變量有什麼異同了吧。 什麼什麼,您還在迷糊,沒關係,讓我再

原创 linux內核完全註釋 修正版5.0(趙炯先生的大作)在www.oldlinux.org上發佈電子版了,感興趣的朋友趕緊去呀!

 這個大作在學操作系統同志們心中的地位不用說了吧,如今電子版發佈,真是大福利了!    

原创 字符串替換的程序,雖然有點幼稚,但是幾乎沒有抄襲的痕跡。

 這個程序有沒有bug當然是不知道的,還是謹慎的看吧!   #include <stdio.h> //求字符串長度 int _strlen(char* s) { int len = 0; while(*s++) { len++

原创 在大字符串中刪除所有指定小字符串居然有些難度,看來幼稚園也有挑戰呀!

  #include <stdio.h> void del_c(char* s, char c) { char* ss; while(*s) { if(*s == c) { ss = s; while(*ss) {