免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: zhongfangqing
打印 上一主题 下一主题

请教:哪种编译器能编译出16位程序,并且可以指定代码段开始地址? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-11-16 08:12 |只看该作者
原帖由 lsstarboy 于 2007-11-15 18:55 发表


正常情况下,可以执行。

但是风格,实在不敢恭维。在大一些的程序里出现这样的语句,好象要成为Bug的。


用字符指针处理字符串,有什么潜在的问题吗?
请教!!!!

论坛徽章:
0
12 [报告]
发表于 2007-11-16 08:32 |只看该作者
现在用TC3,比较好使,谢谢各位

论坛徽章:
0
13 [报告]
发表于 2007-11-16 09:36 |只看该作者
TC可以。去找一本《Turbo C参考手册》,可以解决你的问题。

论坛徽章:
0
14 [报告]
发表于 2007-11-16 17:40 |只看该作者
Borland C++ 5.02  +  TASM 是完美的组合

论坛徽章:
0
15 [报告]
发表于 2007-11-16 20:54 |只看该作者
原帖由 zhongfangqing 于 2007-11-15 11:28 发表
代码段起试地址要在07c00h后面.谢谢各位大侠!


当然用as86咯,顺便问问,你要做bootloader

论坛徽章:
0
16 [报告]
发表于 2007-11-17 22:53 |只看该作者

回复 #7 zhongfangqing 的帖子

void ShowMsg(char *pMsg, int iMsgLen)
{
/*
  asm        mov es, seg pMsg
*/
  asm  mov ax, ds
  asm  mov es, ax
  asm        mov bp, offset pMsg    // 你这里犯错误了,mov bp, pMsg 就 OK了
  asm        mov cx, iMsgLen
  asm   mov ax, 1300h
/*
  开始位置为11行23列
*/
  asm   mov dx, 0b18h
  asm   mov bx, 0003h
  asm   int 10h
}

论坛徽章:
0
17 [报告]
发表于 2007-11-19 08:55 |只看该作者
感谢斑竹~~~~~~~~!

论坛徽章:
0
18 [报告]
发表于 2007-11-19 08:56 |只看该作者
原帖由 shimmering 于 2007-11-16 20:54 发表


当然用as86咯,顺便问问,你要做bootloader

bootloader做好了,现在是做一个系统级的备份/还原的小工具

论坛徽章:
0
19 [报告]
发表于 2007-11-20 09:10 |只看该作者
gcc -S
生成汇编文件
然后传给汇编器
汇编器生成16位代码

论坛徽章:
0
20 [报告]
发表于 2007-11-21 16:39 |只看该作者
as
注意 .code16 的说明
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP