原创 C中文本文件的拷貝也會有個小問題,但是很快就解決了。

 多寫的字符似乎就是EOF,但是不能確定。 //: test05.c #include <stdio.h> #include <stdlib.h> int main() { system("cls"); FILE* f; ch

原创 仍然是彙編和C混合編程的例子,這次用了gcc 和 NASM

仍然是彙編和C混合編程的例子,這次用了gcc 和 NASM 之所以選擇gcc和NASM,主要目的是在開發操作系統的時候,經常要用到幾種不同的彙編和C語言的編譯器,而NASM和GCC都是開源的,而且也配合的非常好,同時又是INTEL格式的彙

原创 做入門題或許是有用的吧!

#include <stdio.h> int main(void) { int A, count = 0, a; printf("請玩家1輸入一個1到100的整數:"); scanf("%d", &A); while (A <

原创 沒想到求一個數的素數因子的題目還真有點難度。。。因此在這裏發一下。

//求正整數的素數因子,裏面似乎有定義了多餘的變量。算法近似耍賴,不過似乎得到了正確的結果。 #include <iostream> using namespace std; int is_prime(int n) { int i;

原创 數字的蛇形輸出(這個玩意兒,可是鑽研了兩天,真特麼的燒腦了!)

//數字的蛇形輸出 #include <iostream> #define LEN 10 using namespace std; typedef struct direct{ int x; int y; }direct; en

原创 模仿“一個操作系統的實現”,做保護模式的實驗,春節將至和大家分享!

    ; boot.asm bits 16 start: mov ax, 0x7c0 mov ds, ax mov dx, 0x1f2 mov al, 10 out dx, al mov dx, 0x1f3

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

這些日子其實也不是閒着的,覺得自己算法方面差的很多,所以一個勁的看“嚴書”。不過真的是有爬雪山、過草地的感覺,萬里長征還剛剛開始,我已經快到40歲了,也就是黃土都埋到一半的人了,不由得也要感嘆一下了!又覺得操作系統還只是開了頭,具體的理論

原创 重學保護模式,又做了一次重要的實驗,希望對大家有所幫助。

 雖然是僅僅顯示了幾個字符,卻是完成兩次全局描述符表的加載,因爲兩個表處於物理內存的不同地方,因此這個實驗還是有點意思的! 不知道大家發現沒有,很多標籤後都直接加上了0x10000的絕對地址,而loop和call指令轉移的標籤.1和_pu

原创 GCC NASM 混合編程, 這一次有點實用性, 借用程序堆棧實現了數制ascii轉換

GCC NASM 混合編程, 這一次大概有點實用性了, 是借用程序堆棧實現了數制ascii轉換,當然負數的部分沒寫,留個思考額餘地吧 ;testnasm.asm global _bin2ascii, _mystack extern _

原创 連續做了C書上的習題,也不知道對不對!

// 1 - 2! + 3! - 4! + ... - 10! #include <stdio.h> int factorial(int n) { int x = 1, i; for(i = 1; i <= n; i++) {

原创 保護模式,稍作改動,去除了0x10000

 僅僅是把描述符的基地址改成了0x10000,之後的每個全局符號後就都省去了它,真的是非常的簡單易行。 ;kernel.asm bits 32 kernel_start: mov ax, 2 * 8 mov ds, ax lgdt

原创 昨天又做了一些題目,權是爲了練手,蠻有意思的!

//測試這個程序的運行結果爲 7 28 #include <iostream> using namespace std; int main() { int x = 2, y = 0, z; x += 3 + 2; printf("

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

昨天,我大膽地從不知道是什麼角度,泛泛地把指針的一些問題談了起來。 今天,我們還是繼續再談談吧! 在C中如果要說指針的話,其實更確切的說應該是定義的指針變量, 那麼對應起來就是指針的常量,這兩者之間說起來還是挺好區分的。我們知道變量一定是

原创 分頁機制重新來過,完成時也和大家分享一下!

僅僅是打印了三個字符了,但確實是用心去練習了。 rem auto.cmd @echo off nasm -fbin -o boot.bin boot.asm dd if=boot.bin of=c.img seek=0 count=

原创 1 3 4 9 10 12這個問題還真的……

// 1 3 4 9 10 12 // 3^0 3^1 3^0+3^1 3^2 3^0+3^2 3^1+3^2 // 1 2 3 4 5