1、1.1 程序修改.486DATA SEGMENT USE16 SUM DB ?,?MESG DB 25+9=DB 0,0,$N1 DB 9,0F0H N2 DB 25 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATAMOV DS,AXMOV BX,OFFSET SUMMOV AH,N1MOV AL,N2 ADD AH,AL MOV BX,AH CALL CHANGMOV AH,9 MOV DX,OFFSET MESGINT 21H MOV AH,4CHINT 21HCHANG PROCLAST: CMP B
2、YTE PTR BX,10 JC NEXT SUB BYTE PTRBX,10 INC BYTE PTR BX+7 MOV AH, BYTE PTRBX JMP LASTNEXT: MOV DX,WORD PTR SUMADD BX+8,DX ADD BYTE PTR BX+7,30H ADD BYTE PTR BX+8,30HRETCHANG ENDPCODE ENDSEND BEG2.3.4 从数据段 NUM 单元开始存有 9 个有符号数,并编写一个程序实现:找出最小值存放到数据段 MIN 单元,并将负数的个数以十进制的形式显示在屏幕上。.486 DATA SEGMENT USE16 NU
3、M DB -8,-44,-88,-37,2,-1,8,-26,-18MIN DB ? AB DB 0 DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE , DS:DATA BEG: MOV AX,DATAMOV DS,AX MOV BX,OFFSET NUM MOV CH,0 MOV CL,9 AGAIN: CMP BYTE PTR BX ,0 JG NEXT1 INC AB CMP BYTE PTR BX, CH JG NEXT1 MOV CH,BYTE PTR BX NEXT1: INC BYTE PTR BX DEC CL JNE AGAIN MOV
4、 MIN,CH MOV AH,2 MOV DL,AB INT 21H MOV AH,4CH INT 21H CODE ENDS END BEG.486DATA SEGMENT USE16BUF1 DB 123456BUF2 DB 000000BUF3 DB Please input communication words:,0DH,0AH,$BUF4 DB 3OUT1 DB ERRORS,0DH,0AH,$OUT2 DB RIGHT,0DH,0AH,$OUT3 DB *,$OUT4 DB 0DH,0AH,$DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS
5、:DATA,ES:DATABEG: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,00HMOV AL,3INT 10HLAST1:LEA SI,BUF1LEA DI,BUF2MOV BX,OFFSET BUF2MOV CX,6MOV AH,09HLEA DX,BUF3INT 21HLAST: MOV AH,07HINT 21HMOV BYTE PTR BX,ALINC BXMOV AH,09HMOV DX,OFFSET OUT3INT 21HLOOP LASTMOV AH,09HLEA DX,OUT4INT 21HMOV CX,6CLDREPE CMPSBJZ EXITMOV AH,09HLEA DX,OUT1INT 21HDEC BUF4JZ LAST2JMP LAST1EXIT: MOV AH,09HLEA DX,OUT2INT 21HLAST2:MOV AH,4CHINT 21HCODE ENDSEND BEG