第五章 IBM PC的编译型BASIC 1
第一节 BASIC编译程序及使用 1
1.什么是编译程序 1
1.1解释程序 1
1.2编译程序 1
2.BASIC编译程序 1
3.BASIC编译使用需求 2
4.用户程序开发 3
5.首次使用 3
5.1单驱动器系统 3
5.3双驱动器系统 3
第二节 对话实例 4
1.建立和调式DEMO程序 4
2.DEMO程序的编译 4
2.1预备步骤 4
2.2编译程序的使用 5
3.连接DEMO程序 7
4.进行DEMO程序 8
5.开发程序的更多信息 8
第三节 源程序的建立与调试 8
1.建立源程序 8
2.编译元命令 9
3.利用解释程序进行调试 10
第四节 编译 10
1.准备步骤 10
2.编译程序的启动 11
2.1带提示的编译 12
2.2使用单一命令行 13
3.编译程序参数 14
3.1错误俘获参数 14
3.2事件俘获参数 15
3.3扫描约定参数 15
3.4特殊编码参数 16
3.5运行模块BASRUN.EXE 18
3.6编译程序参数小结 19
4.编译结束 19
5.示样的编译清单 20
5.1 Offset列和Data列 20
5.3源程序行 20
5.3程序清单示列 20
5.4编译程序信息 22
5.5小结 22
第五节 程序的连接与运行 22
1.预备步骤 23
2.启动连接程序 23
3.连结工作结束 24
4.运行一个程序 24
4.1使用BASRUN.EXE的考虑 25
5.批文件的使用 26
第六节 编译程序与解释程序的差异 27
1.编译元命令 27
$INCLUDE 28
$LINESIZE 29
$LIST 29
$OCODE 29
$PAGE 30
$PAGEIF 30
$PAGESIZE 30
$SKIP 30
$SUBTITLE 31
$TITLE 31
2.操作上的差异 31
3.语言上的差异 32
CALL语句 32
CHAIN语句 34
CLEAR语句 35
COMMON语句 35
DEE FN语句 36
DEF type语句 36
DIM语句 37
DRAW语句 37
END语句 38
FOR和NEXT语句 38
FRE函数 39
KEY语句 39
OPEN语句 40
OPEN″COM语句 40
PLAY语句 42
REM语句 43
RUN语句 43
STOP语句 43
STRIG函数 44
USR函数 44
VARPTR函数 45
WHILE和WEND语句 45
WIDTH语句 46
4.其它差异 46
4.1双精度算术函数 46
4.2双精度循环控制变量 46
4.3表达式计算 46
4.4输入语句 47
4.5整型变量 47
4.6行编辑程序 48
4.7文件的个数 48
4.8 PEEK和POKE 48
4.9字符串长度 48
4.10字符串空间分配的实现 48
第七节 补充材料 49
1.信息 49
1.1编译错误 49
1.2运行程序错误 53
2.连接程序 59
3.内存分配图 60
3.1段分配图 60
3.2有运行时间模块的内存分配图 61
3.3无运行时间模块的内存分配图 61
第六章 FORTRAN 62
第一节 绪论 63
1.FORTRAN程序结构 63
1.1字符集 63
1.2行 64
1.3列 64
1.4起始行 64
1.5空格 64
1.6注释行 65
1.7标号 65
1.8继续行 65
1.9语句 65
1.10程序单位 65
1.11主程序和子程序 65
1.12语句顺序 66
2.数据类型 66
2.1整型 67
2.2实型 67
2.3逻辑型 68
2.4字符型 68
3.表达式 68
3.1算术表达式 69
3.2字符表达式 70
3.3关系表达式 71
3.4逻辑表达式 71
3.5数组元素名 72
3.6函数引用 72
3.7表达式的优先级 73
3.8表达式的计算规则和限制 73
4.FORTRAN名 73
4.1 FORTRAN名作用域 73
4.2未说明的FORTRAN名 74
第二节 FoRTRAN程序编译 454
1.编译 454
1.1编译前的准备 454
1.2启动编译;FOR1 454
1.3继续编译;FOR2 454
1.4连接 455
1.5可选择的FOR1命令行 455
1.6可选择的FOR2命令行 456
1.7使用批文件进行编译 456
1.8编译大型程序 457
2.设备标识 458
3.编译信息 458
第三节 编译元命令 74
$DEBUG 75
$DO66 75
$INCLUDE 76
$LINESIZE 77
$LIST 77
$NODEBUG 77
$NOLIST 77
$PAGE 78
$PAGESIZE 78
$STORAGE 78
$SUBTITLE 78
$TITLE 78
第四节 语句 79
1.控制语句 79
2.程序、函数和子程序语句 81
2.1主程序 82
2.2子程序 82
2.3函数 82
2.4形式参数 82
3.I/O语句 83
3.1 I/O语句的元素 83
3.2输入输出实体 83
3.3隐含DO表列 84
4.说明语句 84
算术IF语句 85
赋值语句 85
计算赋值语句 86
ASSIGN语句 86
赋值GOTO语句 87
BACKSPACE语句 87
块IF语句 88
CALL语句 88
CLOSE语句 89
COMMON语句 89
计算GOTO语句 90
CONTINUE语句 91
DATA语句 91
DIMENSION语句 92
DO语句 92
ELSE语句 94
ELSEIF语句 94
END语句 95
ENDFILE语句 95
ENDIF语句 95
EQUIVALENCE语句 96
EXTERNAL语句 97
FUNCTION语句 97
IMPLICIT语句 98
INTRINSIC语句 99
逻辑IF语句 99
OPEN语句 100
PAUSE语句 102
PROGRAM语句 102
READ语句 103
RETURN语句 103
REWIND语句 104
SAVE语句 104
语句函数 104
STOP语句 105
SUBROUTINE语句 105
类型语句 106
无条件GOTO语句 106
WRITE语句 107
第五节 输入与输出 109
1.记录 109
2.文件 109
2.1文件性质 109
2.2文件名 110
2.3文件位置 110
2.4有格式、无格式和二进制文件 110
2.5顺序存取与直接存取 110
2.6内部文件 111
2.7装置 111
2.8概念与限制 111
2.9显式打开外部、顺序有格式文件 111
2.10其它文件操作 112
2.11直接文件与直接设备的联系 112
2.12 BACKSPACE与顺序设备的联系 113
2.13 BACKSPACE与无格式顺序文件的联系 113
2.14 I/O语句中的函数调用 113
2.15部分读与无格式顺序文件的联系 113
3.有格式I/O与FORMAT语句 113
3.1格式说明与FORMAT语句 113
3.2可重复编辑描述符 114
3.3不可重复编辑描述符 114
4.输入输出表相互作用与格式说明 114
4.1输入输出表 115
4.2格式说明 115
5.编辑描述符 115
5.1不可重复描述符 115
5.2可重复描述符 117
6.走纸控制 118
第六节 内部函数 118
第七节 补充材料 120
1.信息 120
1.1编译时错误信息 120
1.2文件系统错误 132
2.IBM FORTRAN 与 ANSI FORTRAN_间的差异 140
2.1完全FORTRAN功能 140
2.2下标表达式 140
2.3 I/O单元号 140
2.4 I/O表中的表达式 140
2.5计算GOTO语句中的表达式 140
2.6一般化的I/O 141
2.7对标准FORTRAN的扩充 141
2.8编译程序元命令 141
2.9反斜杠编辑控制 141
2.10文件内部函数的结束 141
3.连接程序(LINK) 141
3.1输入文件 142
3.2输出文件 142
3.3 VM.TMP(临时文件) 142
3.4定义 142
3.5命令提示 143
3.6命令提示的详细描述 143
3.7怎样启动连接程序 146
3.8连接会话的例子 148
3.9怎样确定一个段的绝对地址 150
3.10信息 150
4.目标模块的连接 152
4.1与PASCAL的连接 153
4.2与宏汇编的连接 155
5.实例 157
第七章 COBOL语言 162
第一节 引言 162
第二节 COBOL程序的编写 165
1.程序结构 165
1.1程序的部 165
1.2编程结构 165
1.3编程规则 166
1.4句法表示法 167
1.5字符集 168
1.6标点符号 169
1.7字的格式 169
2.语句、句子和名字 169
2.1语句 169
2.2句子 170
2.3段 170
2.4节 170
3.层号和数据名 170
3.1记录描述 170
3.2数据项 170
3.3数据名 170
3.4限定名 173
3.5条件名 173
3.6助记名 173
4.数据描述项 173
4.1组项 174
4.2初等项 174
5.文件名 175
6.常量 171
6.1非数值常量 175
6.2数值常量 176
6.3象征常数 176
7.算术表达式 177
8.算术语句 178
8.1 SIZE ERROR错误 178
8.2 ROUNDED自选项 179
8.3 GIVING自选项 179
第三节 COBOL程序的开发 179
1.程序设计的条件 179
2.编译程序综述 180
3.程序开发与源文件 181
4.COBOL程序的编译 181
4.1准备工作 181
4.2编译步骤 182
5.COBOL程序的连接 184
6.COBOL程序的运行 186
7.COBOL自选命令 186
8.连接程序自选命令 187
8.1例子 188
8.2自动响应文件 188
8.3子程序的连接 189
8.4程序段连接 189
8.5批文件的使用 189
8.6大型程序的编译 190
9.COBOL使用的文件 190
10.列表和出错信息 191
11.COPY语句 191
12.实例清单 192
第四节 标识部 194
1.AUTHOR段 194
2.DATE_COMPILED段 195
3.DATE_WRITTEN段 195
4.IDENTIFICATION DIVISION标题 195
5.INSTALLATION段 195
6.PROGRAM ID段 195
7.SECURITY段 195
第五节 设备部 196
1.配置节标题 197
2.设备部标题 197
3.文件控制段 197
4.输入输出节标识 199
5.I/O控制段 200
6.目标计算机段 200
7.源计算机段 200
7.专用名段 200
第六节 数据部 202
1.文件节 203
2.工作存贮节 203
3.连接节 204
4.屏幕节 204
5.数据部限制 209
6.数据部中的子句 209
BLANK WHEN ZERO子句 209
BLOCK子句 209
CODESET子句 209
DATA RECORD子句 209
文件描述FD项 210
JUSTIFIED子句 210
LABEL子句 210
LINAGE子句 211
OCCURS子句 211
PICTURE子句 213
RECORE子句 216
REDEFINES子句 217
SIGN子句 217
SYNCHRONIZED子句 218
USAGE子句 218
VALUE子句 219
VALUE OF FILE_ID子句 220
第七节 过程部 221
1.说明和使用句子 222
2.程序分段 223
3.语句 224
ACCEPT语句 224
ADD语句 234
ALTER语句 234
COMPUTE语句 235
DISPLAY语句 235
DIVIDE语句 236
EXHIBIT语句 237
EXIT语句 237
GOTO语句 237
IF语句 238
INSPECT语句 240
MOVE语句 241
MULTIPLY语句 243
PERFORM语句 243
STOP语句 244
STRING语句 244
SUBTRACT语句 245
TRACE语句 245
UNSTRING语句 246
第八节 数据输入与输出 247
1.打印文件的处理 248
2.通讯文件的处理 248
3.显示器/键盘输入 248
4.软盘文件的处理 249
5.顺序文件 249
6.相对文件 249
6.1句法 249
6.2 RELATIVE KEY子句 250
6.3 FILE STATUS报告 250
6.4相对文件的过程部语句 250
7.索引文件 250
7.1 句法 251
7.2 RECORD KEY子句 251
7.3 FILE STATUS报告 251
7.4索引文件的过程部语句 252
8.语句 253
CLOSE语句 253
DELETE语句(索引I/O) 253
DELETE语句(相对I/O) 253
OPEN语句 254
READ语句(索引I/O) 254
READ语句(相对I/O) 255
READ语句(顺序I/O) 256
REWRITE语句(索引I/O) 257
REWRITE语句(相对I/O) 257
REWRITE语句(顺序I/O) 257
START语句(索引I/O) 257
START语句(相关I/O) 258
WRITE语句(索引I/O) 259
WRITE语句(相对I/O) 259
WRITE语句(顺序I/O) 259
第九节 用索引方法进行表处理 260
1.索引名和索引项 260
SEARCH语句——格式1 261
SEARCH语句——格式2 262
SET语句 263
第十节 程序间的通讯 264
1.通讯处理 264
1.1汇编子程序 264
1.2例 265
1.3连接参数 265
CALL语句 267
CHAIN语句 267
EXIT PROGRAM语句 267
LINKAGE节 268
带CALL语句和CHAIN语句的部标题 268
第十一节 补充材料 268
1.COBOL错误信息 268
1.1编译时的错误 269
1.2运行时错误 275
2.COBOL保留字 277
3.一个例子 280
4.索引文件恢复实用程序 283
第八章 IBMPC的宏汇编 283
第一节 引言 283
1.若干名词解释 284
2.宏汇编程序 285
第二节 相互参照功能 289
1.相互参照文件的建立 289
2.怎样启动CREF程序 289
2.1怎样使用自选项1启动CREF程序 290
2.2怎样使用自选项2启动CREF程序 290
2.3怎样使用自选项3启动CREF程序 291
3.汇编语言格式 292
3.1符号/数据表示 292
3.2数据项 292
3.3常数 292
3.4宏汇编对源程序的扫描 293
3.5句子错误 294
3.6向前参照值 294
3.7标号 294
3.8变量 294
3.9寄存器代码转换 295
3.10标志寄存器 295
3.11操作数 296
3.12属性操作符 297
3.13产生操作符的值 298
3.14记录说明操作符 299
3.15表达式 300
第三节 伪指令 301
1.数据伪指令 301
ASSUME 301
COMMENT 302
DB 302
DD 303
DQ 304
DT 305
DW 305
END 306
EQU 306
= 307
EVEN 307
EXTRN 307
GROUP 308
LNCLUDE 310
LABEL 310
NAME 311
ORG 311
PROC 312
PUBLIC 313
.RADIX 313
RECRRD 313
SEGMENT 315
STRUC 317
2.条件伪操作 318
3.宏伪操作 319
3.1宏和重复块伪操作 319
3.2宏伪操作详细介绍 323
MACRO 323
PURGE 324
LOCAL 325
REPT 325
IRP 326
IRPC 326
EXITM 327
& 327
;; 327
! 328
% 328
4.列表伪操作 328
.CREG,.XCREF 329
.LALL,.SALL,.XALL 329
LIST,.XLIST 329
%OUT 329
PAGE 330
SUBTTL 330
TITLE 330
4.1虚假条件块 331
4.2程序员控制 331
第四节 指令助记符 333
1.符号和表示法 333
2.指令的各个字段 335
3.指令详述 336
AAA 336
AAD 337
AAS 337
ADC 338
ADD 339
AND 340
CALL 342
CBW 343
CLC 344
CLD 344
CLI 344
CMC 344
CMP 345
CMPS 346
CMPSB 346
CMPSW 346
CWD 347
DAA 348
DAS 348
DEC 349
DIV 349
ESC(换码) 351
HLT(暂停) 351
JDIV 352
IMUL 353
IN 354
INC 354
INT 355
INTO 356
IRET 357
JA、JARE 357
JB、JNAE和JC 358
JBE、JNA 358
JCXX 359
JE、JZ 359
JG、JNLE 360
JL、JNGE 360
JLE、JNG 361
JCXZ 359
JMP 361
JNC 362
JNE、JNZ 363
JNO 363
JNP、JPO 363
JNS 364
JO 364
JP、JPE 364
JS 365
LAHF 365
LDS 365
LEA 366
LES 366
LOCK 367
LODS、LODSB、LODSW 367
LOOP 369
LOOPE、LOOPZ 369
LOOPNE、LOOPNZ 370
MOV 371
MOVS、MOVSB和MOVSW 373
MUL 374
NEG 375
NOP 376
NOT 376
OR 376
OUT 378
POP 378
POPE 379
PUSH 379
PUSHF 380
RCL 380
RCR 381
REP、REPZ、REPE 383
REPNE、REPNZ 383
RET 384
ROL 385
ROR 386
SAHF 387
SAL、SHL 387
SAR 388
SBB 389
SCAS、SCASB、SCASW 391
SHR 392
STC 393
STD 393
STI 393
STOS、STOSB、STOSW 394
SUB 395
TEST 396
WAIT 397
XCHG 397
XLAT 398
XOR 399
第五节 补充材料 400
1.汇编程序信息 400
2.输入/输出处理程序信息 405
3.运行时的信息 405
第九章 PASCAL语言 405
第一节 引言 405
第二节 PASCAL程序的编译 406
第三节 符号与标语 407
第四节 编译元命令 408
第五节 标识符、常数与数据类型 409
1.标识符 409
2.常数 410
2.1数值常数 410
2.2串 410
2.3常数定义 410
2.4结构常数 410
3.数据类型 411
3.1简单数据类型 411
3.2结构类型 411
3.3引用类型 413
3.4过程类型 414
第六节 变量、表达式与语句 415
1.变量 415
1.1属性 415
1.2属性组合规则 416
1.3 VALUE段 416
1.4值 416
2.表达式 417
2.1运算符与操作数 418
2.2布尔表达式 418
2.3集合表达式 418
2.4其它表达式 418
2.5函数标志 419
3.语句 419
3.1语句标号 419
3.2简单语句 419
3.3结构语句 421
3.4重复语句 421
3.5顺序控制算符 421
第七节 过程与函数 422
1.过程说明与函数说明 422
1.1过程首部与函数首部 422
1.2函数特性 422
1.3数据参数 423
1.4内部调用约定 424
2.可用过程和函数 424
2.1预先说明的过程和函数 424
2.2数据传送过程和函数 425
2.3算术函数 427
2.4 REAL函数 428
2.5扩展的内容功能特性 428
2.6系统内部功能特性 430
2.7字符串内部功能特性 431
2.8 STRING 专用特性 432
2.9 STRING或LSTRING 433
2.10库过程和函断 433
第八节 文件系统 435
1.文件介绍 435
1.1文件结构 435
1.2文件方式 436
2.文件系统原语 437
2.2存取缓冲变量 439
2.2缓慢求值 439
3.文本文件的输入和输出 440
4.扩展I/O功能特性 446
4.1暂时文件 447
5.其它文件过程 447
6.文件字段值 448
7.文件F的出错码 449
8.首部中的文件变量 449
10.系统I/O特性 450
11.DIRECT文件 450
后记 458