主世界 2020-09-12 20:52 采纳率: 40%
浏览 53

操作系统上有个问题?

我想把《orange`s一个操作系统的实现》和《30天自制操作系统》和起来看,所以想在linux上用nasm+gcc来写操作系统,现在想用汇编调用C(我汇编没啥基础),但是要么加org出instruction expected,要么extern那边说不支持,求教个为大佬教一下.

源代码和make的部分:

asm_entry.asm<<<

org 0xc200

[section .text]

global _start
global vga
extern c_entry

_start:
call c_entry

mov ebx,0
mov eax,1
int 0x80
vga:
mov ax,0x13
mov ah,0x00
int 0x10
ret

c_entry.c<<

extern void vga();

void c_entry()
{
vga();
return;
}

$make:

nasm -f elf asm_entry.asm -o ae.bin

gcc -m32 -c -o ce.bin c_entry.c

ld -m elf_i386 -s -o ld_ac.bin ae.bin ce.bin

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-12 21:53
    关注

    你可以参考书上的源代码,并且用它指定的编译器、汇编器、链接器,不同的编译器、汇编器、链接器,生成的方法都不同。

    评论

报告相同问题?

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写