zoukankan      html  css  js  c++  java
  • 从零开始打造我的计算机系统【运行效果】

    无论如何一个简易的CPU是写完成了,运行了一个简单的例子,1到100的和,最终得出结果5050,好激动。

    汇编程序sum.s如下:

    .org 0x7c00
    xor $r1,$r1,$r1
    ori $r1,$r1,1
    xor $r2,$r2,$r2
    xor $r3,$r3,$r3
    ori $r3,$r3,100
    load $r4,flag
    flag:add $r2,$r2,$r1
         addi $r1,$r1,1
         gt $r1,$r3,end
         jmp $r4
    end: int 1
         halt

    首先,驱动程序例程(main.c)调用assembly把sum.s汇编成sum.o

    然后加载程序把sum.o加载到0x7c00处(实现经典吗。)

    #include "includes.h"
    int main()
    {
        h = InitializeTable(100);
        Initcpu();
        InitMemory();
        InitScreen();
    
        Assembly("sum.s","sum.o");
        PrintHashTable(h);
        unsigned int file_size = Loader("sum.o",0x7c00);
        PrintMemory(0x7c00,file_size);
        Runcpu();
        getch();
        closegraph();
        return 0;
    }

    注意最后一行:The sum is:5050

    GUI模式。注意reg[2] = 0x13ba,也就是十进制的5050。

    下一步是带保护模式的CPU,我已经累觉不爱了。

  • 相关阅读:
    C 应用
    C 基本语法
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/likeyiyy/p/3551577.html
Copyright © 2011-2022 走看看