1.当数据从8255A的端口C往数据总线上读出时,8255A的控制信号CS(CS上面有条线),A1,A0,RD(RD上面有条线)和WR(WR上面有条线)分别是什么?
2.下列程序的功能是:统计DA数据区中正数、“0”、负数的个数。请写出编号处的内容。
DATA SEGMENT
DA DW -1,0,3,02,4,5,0,0AH,0EFH
CUNT DB ?
DB ?
DB ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DA,AX
MOV AX,0
MOV BX,0
LEA SI, (1)
MOV CX,CUNT-DA
SHR CX,1
LOP: CMP WORD PTR (2) ,0
JZ ZERO
JNS PLUS
INC (3)
JMP NEXT
ZERO INC (4)
JMP NEXT
PLUS: INC AL
NEXT:ADD SI, (5)
LOOP LOP
MOV CUNT,AL
MOV CUNT+1,AH
MOV CUNT+2,BL
MOV AH,4CH
INT 21H
COSEG ENDS
END START
3.下列程序的功能是:将包含32个数据的数组ARRAY分成两个数组,正数组ARRAYP和负数组ARRAYN,并统计它们的长度,请写出编号处的内容。
.MODEL SMALL
.DATA
ARRAY DW 32 DUP (?)
ARRAYP DW 32 DUP (?)
PLEN DW ?
ARRAYN DW 32 DUP (?)
NLEN DW ?
.CODE
.STARTUP
MOV CX, 32
MOV SI, OFFSET ARRAY
XOR BX, BX
XOR DI, DI
CLD
NEXT: LODSB
CMP AL, (1)
JGE LOOP1
MOV ARRAYN[DI], (2)
INC (3)
JMP CONT
LOOP1: MOV ARRAYP[BX], AL
INC (4)
CONT: LOOP NEXT
MOV PLEN, BX
MOV NLEN, (5)
.EXIT
.END