CSEG SEGMENT
ASSUME CS:CSEG,DS:DDD0
START: MOV AX,DDD0
MOV DS,AX MOV CX,5 CLC LEA SI,ABC;可做间址寄存器的有SI,DI,BX,BP及它们的组合 LEA DI,BCD LEA BX,CBA
XYZ: MOV AL,[SI]
ADC AL,[DI] MOV [BX],AL INC SI INC DI INC BX LOOP XYZ MOV AL,0 ADC AL,0 MOV[BX],AL LEA BX,CBA MOV [BX],AX
CSEG ENDS END START
3. 把0-100之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。 解:
DSEG SEGMENT
GRADE DW 30 DUP (?) RANK DW 30 DUP (?) DSEG ENDS
CSEG SEGMENT MAIN PROC FAR
ASSUME CS:CSEG, DS:DSEG, ES:DSEG
START: PUSH DS SUB AX,AX PUSH AX
MOV AX,DSEG MOV DS,AX
MOV ES,AX BEGIN: MOV DI,0 MOV CX,30 LOOP1: PUSH CX MOV CX,30 MOV SI,0
MOV AX,GRADE[DI] MOV DX,0
LOOP2: CMP GRADE [SI],AX JBE GO_ON INC DX GO_ON: ADD SI,2 LOOP LOOP2 POP CX INC DX
MOV RANK[DI],DX SDD DI,2
LOOP LOOP1
RET MAIN ENDP
CSEG ENDS END START
六、 设计硬件电路及相应程序(23分)
1. 设计一个8088最小系统,扩展一片6264(6分),扩展一片8255可编程接口芯片(6分),
画出电路逻辑框图。写出6264的地址范围(3分),并将其所有RAM单元清零(4分)将8255的PA口为基本输入方式, PB口、PC口为基本输出方式,编程实现(4分)
答: (1)电路逻辑框图如下
8 D0~D7 D0~D7 D0~D7
RST RESET A0~A12 A0~A12
PA A0 A0 A1 A1 6264 8255 PB
cs PC A13 A14 cs
WR WR WR
RD RD
(2)6264的地址范围是: ; (3)并将其所有RAM单元清零的程序是:
(4)将8255的PA口为基本输入方式,
(5)写入命令字:(程序)
口、PC口为基本输出方式,命令字是:
PB