博文

目前显示的是 十月, 2023的博文

汉气猗亡

镜像: https://leisurebamboo.wordpress.com/2023/10/06/tc2 汉气猗亡——汉化 turbo c 2.01 札记·完蛋日·祭念borland·杂感。 原文在2010-1-1 发表于 http://www.aogosoft.com/bbs/view.asp?id=89992 ,现有增删。 "汉化"(Sinicization)暂定义为“函数名、变量名、宏名 能用汉字”。 完蛋日。杂感。borland忘却的纪念。   borland的IDE部门被分割、卖出未逾一年,borland已被focus收购了,我也有写一点东西的必要了。   这次的汉化,选的是Turbo c 2.01版,可在 http://edn.embarcadero.com/museum/内找到。通过链接 http://cc.codegear.com/Free/tc201,可以得到 http://altd.embarcadero.com/download/museum/tc201.zip (看到 embarcadero 这個词,回想borland当年,唏嘘不已)。 其内含有 2.01版的tcc.exe,长度为 18'0385字节。   ㈠将该exe文件的 2a506h~2a585h 偏移处的内容,由原来的80h个“EE”改为80h个“F6”; 将该exe文件的 2a606h~2a685h 偏移处的内容,由原来的80h个“E6”改为80h个“F6” (更改理由见附录 ① ),即可实现汉字函数名、变量名的正常编译。   ㈡.将该exe文件的 2c00dh~2c08ch 偏移处的内容,由原来的80h个“00”改为80h个“08”(更改理由见附录 ② ), 宏的左半阕(例如 #define 汉字 abc)即可使用汉字。   ㈢.将该exe文件的 19d85h~19da1h 偏移处的内容, 由原来的    “8C 46 FE, 89 5E FC 33, F6 EB 04 FF 46 FC 46 C4, 5E FC 26 80, 3F 00 74 06, 26 F6 07 80 74 ED”     改为  “31 F6 26, 8A 07 08 C0, 74 0E 79 08 3C 90

兴复汉唐

镜像: https://leisurebamboo.wordpress.com/2023/10/05/tc1 兴复汉唐——Turbo C汉化浅析之一 原文在2005-4-25 发表于 http://www.aogosoft.com/bbs/view.asp?id=39189 ,现有增删。 "汉化"(Sinicization)暂定义为“函数名、变量名、宏名 能用汉字”。 竹闲的贴子,每行不超过43个字符, 从而言逾百行,令阅贴观众狂按 Page-Down, 在此深深致歉。 因为他的ie显示的是大字体,他自己阅贴时在 屏上每行真的不超过43个字符,以此小人之心 度诸位君子之腹,遂有此事。 言归正传,循例先说低版本的Turbo C汉化: TC 1.0版的tcc.exe,长度为 16'9098字节。 在哈工大的论坛的下载链接上,它被揶揄为 "仅供老一辈程序员使用", 在网上搜索"TC 1.0"时连外国网页也不好找, 好像在www.coldyne.com上还有下载链接。 姑妄言之: 其编译部分为: cs:0024 9AB505xxxx CALL far fgetc() ;//xxxx:05B5 cs:0029 8BF0 MOV SI,AX cs:002B 8BDE MOV BX,SI cs:002D 83C302 ADD BX,02 cs:0030 D1E3 SHL BX,1 cs:0032 8B87A61A MOV AX,[1AA6+BX] ;//此时 AX=分枝枚举值 cs:0036 8946FE MOV [BP-02],AX cs:0039 2DE7FF AX+=19h cs:003C 3D1900 CMP AX,0019 cs:003F 7603 JBE 0044 cs:0041 E99600 JMP 00DA cs:0044 8BD8 MOV BX,AX cs:0046 D1E3 SHL BX,1 cs:0048 2EFFA74D00 JMP CS:[004D+BX] ;//cs:[004D+(0019+fff6)*2]==00a1   在 fge