我使用windows10x64,qemu(x86_64),C和装配-nasm.我没有asm的经验。我正试着去理解它。, 0x0e ; sets AH to 0xe (function teletype) lodsb ; loads the current byte from SI into0x10 ; print to screen using function 0xe of interrupt 0x10
jmp print_char ; repeat
int a, int b, int c, int d, int e) {return;}的方法。但它的执行会导致QEMU崩溃。但是,如果我为void foo(int a, int b, int c, int d) {return;}重写foo方法-一切都会好起来的。以下是错误信息:(qemu) qemu: fatal:尝试在RAM或ROM之外执行代码,地址为0xf
我有一个定制的MBR,我用NASM编译成一个二进制文件,我可以在qemu和bochs中很好地引导它。如果我尝试读取下一个扇区,它会失败,从而导致某种类型的磁盘读取错误。我认为这与没有将dl设置为“引导驱动器”的值有关。有人知道使用dl命令使int 13h在DosBox中工作的价值吗?或者是否有其他方法动态地获得该值?0x10 ; Video
不打印Hello但它打印S我不知道为什么在用es替换0x0F00和0xF000时:bx(虽然它必须等于0x10000)它没有Hello World或Hello Worldprogram_intialization,0x0E ;else copy 0x0E to ah which is the video output code
int0x10 ;then interrupt,0x0E ;copy 0x0E to ah whi