JB NEXT CMP AL,'z' JBE ZIMU1 NEXT:
INC SI
LOOP AGAIN LEA DX,KONGGE MOV AH,09H INT 21H
MOV AH,4CH INT 21H KONGGE1:
LEA DI,KONGGE MOV AL,[DI+8] INC AL
CMP AL,3AH JZ JINWEI
MOV [DI+8],AL JMP NEXT JINWEI:
SUB AL,10 MOV [DI+8],AL MOV AL,[DI+7] INC AL
MOV [DI+7],AL JMP NEXT SHUZI1:
LEA DI,SHUZI MOV AL,[DI+7] INC AL
CMP AL,3AH JZ JINWEI1 MOV [DI+7],AL JMP NEXT JINWEI1:
SUB AL,10 MOV [DI+7],AL MOV AL,[DI+6] INC AL
MOV [DI+6],AL JMP NEXT ZIMU1:
LEA DI,ZIMU MOV AL,[DI+6]
INC AL
CMP AL,3AH JZ JINWEI2 MOV [DI+6],AL JMP NEXT JINWEI2:
SUB AL,10 MOV [DI+6],AL MOV AL,[DI+5] INC AL
MOV [DI+5],AL JMP NEXT MOV AH,4CH INT 21H CODES ENDS END START
23.编写程序,将十个字的有符号数中最大、最小值求出,并在显示器上输出。 125ah,4357h,0f50h,0b43h,4ac4h,7454h,8b15h,0a2a4h,0f3ch,00f6h
DATAS SEGMENT MAX DW 0 MIN DW 0
STR1 DB 'THE MAX NUMBER IS $'
STR2 DB 0AH,0DH,'THE MIN NUMBER IS $' DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:MOV AX,DATAS MOV DS,AX NEXT: MOV BX,0 CONTINUE: MOV AH,01H INT 21H CMP AL,0DH JZ OUTPUT CMP AL,'h' JZ XIAYIGE CMP AL,'9' JA ZIMU1 SUB AL,30H JMP LEIJIA ZIMU1:
SUB AL,57H LEIJIA:
XOR AH,AH XCHG AX,BX MOV CX,16 MUL CX ADD AX,BX XCHG AX,BX JMP CONTINUE XIAYIGE: MOV DL,0AH MOV AH,02H INT 21H
MOV DL,0DH MOV AH,02H INT 21H CMP BX,0 JL NAGETIVE JMP POSITIVE NAGETIVE: LEA SI,MIN MOV AX,[SI] CMP AX,BX JG JIAOHUAN JMP NEXT POSITIVE: LEA SI,MAX MOV AX,[SI] CMP AX,BX JB JIAOHUAN JMP NEXT JIAOHUAN: MOV [SI],BX JMP NEXT OUTPUT: LEA DX,STR1 MOV AH,09H INT 21H LEA SI,MAX MOV BX,[SI] MOV CL,4 MOV CH,4 CONTINUE2: ROL BX,CL
MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,'9' JA ZIMU2 SHUCHU1: MOV DL,AL MOV AH,02H INT 21H DEC CH
JNZ CONTINUE2 JMP H1 ZIMU2: ADD AL,27H JMP SHUCHU1 H1:
MOV DL,'h' MOV AH,02H INT 21H LEA DX,STR2 MOV AH,09H INT 21H LEA SI,MIN MOV BX,[SI] MOV CL,4 MOV CH,4 CONTINUE3: ROL BX,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,'9' JA ZIMU3 SHUCHU2: MOV DL,AL MOV AH,02H INT 21H DEC CH CMP CH,0
JNZ CONTINUE3 JMP H2 ZIMU3: ADD AL,27H JMP SHUCHU2
H2:
MOV DL,'h' MOV AH,02H INT 21H
MOV AH,4CH INT 21H CODES ENDS END START
24、键盘输入10个字节数(无符号数),求出最大、最小值,并在显示器上输出。 DATAS SEGMENT MAX DB 0 MIN DB 0FFH
STR1 DB 'THE MAX NUMBER IS $'
STR2 DB 0AH,0DH,'THE MIN NUMBER IS $' DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX MOV DH,10 NEXT:
MOV BX,0 CONTINUE:
MOV AH,01H INT 21H CMP AL,'h' JZ XIAYIGE CMP AL,'9' JA ZIMU1 SUB AL,30H JMP LEIJIA ZIMU1:
SUB AL,57H LEIJIA:
XOR AH,AH XCHG AL,BL MOV CL,16 MUL CL ADD AL,BL XCHG AL,BL