-
-
[旧帖]
[求助]一个在PC裸休上显示字母'A'的程序的问题
0.00雪花
-
发表于:
2012-1-13 20:33
1283
-
[旧帖] [求助]一个在PC裸休上显示字母'A'的程序的问题
0.00雪花
我想使用BIOS调用来显示一个‘A’,写了以下代码:
;文件3.asm
code segment
assume cs:code
start:
xor ax,ax ;ax清0
mov ss,ax ;ss清0
mov sp,7c00h ;ss:sp=0000:7c00
sti ;开中断
push ax
pop es
push ax ;es=0
pop ds ;ds=0
cld ;设置正向串操作
show:
mov ah,0fh
int 10h ;取当前显示页
mov ah,0eh
mov al,41h ;显示字符 'A ' (41h)
int 10h
sleep:
nop
jmp sleep
org 1FEh
endSign db 55h,0AAh
code ends
end start
使用MASM编译出3.exe,在windows能正常运行,我使用工具生成了bin文件,bin文件的二过制文件为:
33 C0 8E D0 FB 50 07 50 1F FC B4 0F CD 10 B4 0E
B0 41 CD 10 90 EB FD 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
我使用VMware建立了一个LabVM空机器,上面挂了一个虚拟硬盘A。再建了一个XP的虚拟机,装了一个XP系统,并把LabVM的虚拟硬盘挂到该XP虚拟机里作为第二个硬盘。最后使用磁盘扇区读写工具把BIN文件写到第二个硬盘的第一个分区里。写成功能,关掉XP虚拟机,再去运行LabVM,运行后没有出现'A'。弄了好久还是没能把这个A显示出来,请各位朋友帮帮忙,我的这个小小的实验问题出在哪里了?是程序的问题还是实验环境的问题?
说明:
实验相关的文件在附件的lab3.rar中,3.asm是源码文件,3.exe为编译出来是exe文件,该文件执行正常,3.bin为去掉exe头的二进制文件。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!