回 帖 发 新 帖 刷新版面

主题:文本方式下显示汉字的源程序

'$INCLUDE: 'qb.bi'
CLS
DIM SHARED ax AS INTEGER, bx AS INTEGER, cx AS INTEGER, dx AS INTEGER, es AS INTEGER, bp AS INTEGER
DIM test%(64)
es = VARSEG(test%(32)) '获得缓冲区的段址
DEF SEG = es
FOR i = 1 TO 96
   READ t
   POKE i, t
NEXT i
DEF SEG
bp = 1
ax = &H1100
bx = &H1000
cx = 6
dx = &HCC
int10
FOR i = 0 TO 5
   PRINT CHR$(&HCC + i);
NEXT i
END
DATA 0 , 32 , 19 , 16 , 0 , 7 , 240 , 16 , 17 , 16 , 23 , 16 , 20 , 24 , 16 , 3
DATA 32 , 40 , 252 , 32 , 32 , 254 , 146 , 84 , 16 , 148 , 254 , 32 , 32 , 80 , 140 , 4
DATA 2 , 1 , 63 , 32 , 64 , 31 , 0 , 0 , 1 , 255 , 1 , 1 , 1 , 1 , 5 , 2
DATA 0 , 0 , 252 , 4 , 8 , 224 , 64 , 128 , 4 , 254 , 0 , 0 , 0 , 0 , 0 , 0
DATA 16 , 16 , 35 , 34 , 74 , 251 , 18 , 34 , 67 , 246 , 74 , 3 , 26 , 226 , 66 , 2
DATA 128 , 72 , 252 , 8 , 8 , 248 , 0 , 4 , 254 , 148 , 148 , 252 , 148 , 148 , 148 , 12

SUB int10
    DIM InRegs AS RegTypeX
    DIM OutRegs AS RegTypeX
    InRegs.ax = ax
    InRegs.bx = bx
    InRegs.cx = cx
    InRegs.dx = dx
    InRegs.es = es
    InRegs.bp = bp
    INTERRUPTX &H10, InRegs, OutRegs
    ax = OutRegs.ax
    bx = OutRegs.bx
    cx = OutRegs.cx
    dx = OutRegs.dx
    es = OutRegs.es
    bp = OutRegs.bp

END SUB

回复列表 (共18个回复)

11 楼

no

12 楼

我现在可以运行了,但是我生成EXE文件后还是不能运行.
错误提示:地址oa23:0058

13 楼

也许吧,这个我只是从理论上来验证一下可行!

我做GHOST外壳的时候用到了这个,编译成EXE后运行正常!能显示汉字和克隆系统!
应用程序我发在DOS论坛软件编程开发区!
帖子的名字是《用QBASIC做的GHOST客》,

14 楼

搜索一下可以找到

15 楼

在哪呀? 我找不到呀。

16 楼

确实!
两个我用QB45都无法运行!
大家自己试试

17 楼

由于调用了硬件底层中断,请不要在WINXP、WIN2000或者是WIN98的窗口下运行
必须在WIN98的全屏的DOS方式中运行。或者是在纯DOS下运行,用QB45运行本程序必须在启动时加入QB/L命令!

1、启动98中的MSDOS方式,让它全屏运行。
2、进入到QB所在的目录 如:CD QB45
3、输入命令QB/L,然后按回车键
4、载入本程序,按F5执行即可

18 楼

好东西, 顶住.

我来回复

您尚未登录,请登录后再回复。点此登录或注册