REPE CMPSB JCXZ MATCH ;比较到CX=0为止,转向MATCH
NMATCH : MOV DX,OFFSET STRNMATCH MOV AH,09H INT 21H JMP EXIT MATCH : MOV DX,OFFSET STRMATCH
MOV AH,09H INT 21H
EXIT: MOV AH,4CH INT 21H
CODE ENDS END START 13、DATA SEGMENT
M DB ?? ;已知的二十个数据 DATA ENDS
CODE SEGMENT
ASSUME CS:CODE , DS:DATA START : MOV AX,DATA
MOV DS,AX
LEA BP,M ;取数据段M的偏移地址
MOV SI,0 ;第一个数 MOV DI,19 ;最后一个数 COMPARE : CMP DI,SI ;当si=19时 结束
JC COMPLETE MOV AH,[BP][SI]
OR AH,AH ;影响符号位SF JS NEGATIVE INC SI
JMP COMPARE NEGATIVE : CMP DI,SI
JC COMPLETE
MOV AL,[BP][ DI] OR AL,AL
JNS CHANGE DEC DI
JMP NEGATIVE
CHANGE: MOV [BP][SI],AL MOV [BP][DI],AH
INC SI DEC DI JMP COMPARE
COMPLETE :
MOV AX,SI
CALL DISP
MOV BX,20 SUB BX,SI MOV AX,BX CALL DISP MOV AH,4CH INT 21H
DISP PROC NEAR
MOV AH,AL AND AL,0F0H MOV CL,4 SHR AL,CL
MOV CH,2
CONVERSE : ADD AL,30H CMP AL,3AH JL NUMBER ADD AL,07H NUMBER : MOV DL,AL
MOV AH,2 INT 21H DEC CH JZ EXIT
MOV AL,AH AND AL,0FH
JMP CONVERSE
EXIT : RET DISP ENDP CODE ENDS
END START
20、DATA SEGMENT BVAR DB 54H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE , DS:DATA START: MOV AX,DATA MOV DS,AX
MOV CL,4
MOV BL,BVAR ROR BL,CL
MOV AL,BL
MOV CH,10
MUL CH MOV BL,BVAR AND BL, 0FH
;求十位数 ADD AL,BL ;十位与个位相加
MOV BVAR,AL
MOV AH,4CH INT 21H CODE ENDS END START
另解:MOV CL,4
MOV AL,BVAR MOV AH,AL AND AL,0FH SHR AH,CL
AAD
MOV BVAR,AL
23.DATA SEGMENT
BVAR DB ?
RESULT DB 3 DUP(?)
DATA ENDS
CODE SEGMENT ASSUME CS: CODE, DS: DATA START : MOV AX,DATA MOV DS,AX
LEA BP,RESULT
MOV SI,2
MOV AL,BVAR
CONVERSE : CBW
MOV CH,10 DIV CH MOV [BP][SI],AH DEC SI JS COMPLETE
JMP CONVERSE
COMPLETE : INC SI CMP SI,3 JG EXIT
MOV DL,[BP][SI]
ADD DL,30H
NUMBER : MOV AH,2 INT 21H JMP COMPLETE EXIT : MOV AH,4CH INT 21H CODE ENDS
END START 24.DATA SEGENT RESULT DW ? ;已知待转化的数据 ;存放结果
X DW ? ;已知数据 Y DW ? DATA ENDS
CODE SEGMENT
ASSUME CS : CODE, DS : DATA START : MOV AX,DATA MOV DS,AX
MOV AX,X CMP AX,Y JL NEGATIVE
SUB AX,Y
JMP COMPLETE NEGATIVE : MOV AX,Y SUB AX,X
COMPLETE : MOV RESULT,AX MOV AH , 4CH INT 21H
CODE ENDS END START 26、DATA SEGMENT
BUF3 DB ??
BUF1 DB ?? BUF2 DB ?? N1 DB ?? N2 DB ?? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA MOV DS,AX
LEA DX,BUF3
LEA BX,BUF1 LEA BP,BUF2 MOV SI,0
MOV DI,0
COMPARE : CMP SI,N1 JGE FULL1 CMP DI,N2
JGE FULL2
MOV AL,[BX][SI] CMP AL,[BP][DI] JL LITTLE
JE EQUAL
MOV CX,[BP][DI] MOV [DX] , CX
;定义已知数据INC DI INC DX
JMP COMPARE
LITTLE : MOV [DX],AL
INC SI INC DX
JMP COMPARE EQUAL : MOV [DX],AL
INC SI INC DI INC DX
JMP COMPARE FULL1 : CMP DI,N2
JGE EXIT
MOV CX,[BP][DI] MOV [DX] , CX
INC DX INC DI
JMP FULL1 FULL2 : CMP SI,N1
JGE EXIT
MOV CX,[BX][SI]
MOV [DX] , CX INC DX INC SI
JMP FULL2 EXIT : MOV AH, 4CH INT 21H CODE ENDS END START
第六章 半导体存储器
2、 (1) 64片 片内寻址线 10根,片间寻址线 6根 (2) 128片 片内寻址线 11根,片间寻址线 5根
(3) 16片 片内寻址线 11根,片间寻址线 5根 (4) 2片 片内寻址线 14根,片间寻址线 2根
3、1024×8的RAM芯片,地址线11根。数据线8根
6、已知:8位微机地址,总线16位,设计12KB存储系统,其中ROM 占用0000H开始的8KB,RAM占用2000H 开始的4KB,存储芯片分别选用INTEL 2716和2114 分析如下:(1)ROM 2716 2K×8芯片,需4片,做字扩展,片内寻址线11根 RAM 2114 1K×4芯片,需8片,做字位扩展,片内寻址线10根 (2)地址范围: A15 A14 A13 A12 A11 A10
ROM1:0000H~07FFH 0 0 0 0 0 0 ROM2:0800H~0FFFH 0 0 0 0 1 0