1、作业: 4-17 4-17 试编写一程序,比较 两个字符串 STRING1和STRING2所含字符 是否完全相同 ,若 相同显示MATCH, 不同显示 NO MATCH。 提示: 显示功能 调用 DOS中断子程序OUT1 DB MATCH,$ ;$结束字符串LEA DX,OUT1 ;DS:DX=串首地址MOV AH,9 ;显示字符串 ,功能号 9INT 21H完整程序 编程 框图 开始 取两串长度 结束 屏幕显示 MATCH 屏幕显示 NO MATCH设 CX计数 ,指针 SI,DI相等? N Y 相等? N Y 串比较 比较大小 开始 取两串长度 结束 屏幕显示 MATCH 屏幕显示 NO
2、MATCH设 CX计数 ,指针 SI,DI相等? N Y 相等? N Y 串比较 比较大小 MOV AL,MCMP AL,NJNE NEXT MOV CX,NLEA SI,ST1LEA DI,ST2CLDREPE CMPSBJNE NEXTLEA DX,YESMOV AH,9INT 21HJMP EXITNEXT:LEA DX,NOMOV AH,9INT 21HEXIT: MOV AH,4CHINT 21HDATA SEGMENTST1 DB ABCDEM EQU $-ST1ST2 DB ABCDFN EQU $-ST2YES DB MATCH,$NO DB NO MATCH,$DATA EN
3、DSM和 N ST1和 ST2 YESNO NEXTEXITDATA SEGMENTST1 DB ABCDEM EQU $-ST1ST2 DB ABCDFN EQU $-ST2YES DB MATCH,$NO DB NO MATCH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AL,MCMP AL,NJNE NEXT MOV CX,NLEA SI,ST1LEA DI,ST2CLDREPE CMPSBJNE NEXTLEA DX,YESMOV AH,9INT
4、21HJMP EXITNEXT:LEA DX,NOMOV AH,9INT 21HEXIT: MOV AH,4CHINT 21HCODE ENDSEND START4-17 程序:DATA SEGMENTST1 DB 50 DUP(?)ST2 DB 50 DUP(?) YES DB MATCH,$NO DB NO MATCH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARPUSH DSMOV AX,0PUSH AX MOV AX,DATAMOV DS,AXMOV ES,AX MOV CX,LENGTH ST1LE
5、A SI,ST1LEA DI,ST2LEA DX,YESCLDREPE CMPSBJE PLAYLEA DX,NOPLAY: MOV AH,9INT 21HRETCODE ENDSEND MAIN作业:DATA SEGMENTX DB 10Y DB 5Z DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,XMOV BL,5MUL BLMOV DX,AXMOV AL,YMOV BL,3MUL BLADD Ax,0AHADD AX,DXMOV Z,AX作业: 4-13MOV BX,AXMO
6、V CX,10000CALL DECDIVMOV CX,1000CALL DECDIVMOV CX,100CALL DECDIVMOV CX,10CALL DECDIVMOV CX,1CALL DECDIVJMP ABCEDECDIV PROC MOV AX,BXMOV DX,0DIV CXMOV BX,DX ;存余数MOV DL,AL ;存商ADD DL,30H;商的 ASCii码MOV AH,02HINT 21HRETDECDIV ENDPABCE: MOV AH,4CH INT 21HCODE ENDSEND START开始 结束 SUM=A+B+C A、 B、 C清 0B=0? Y N
7、 C=0? Y N 4-18 流程图:A=0? Y N 4-18 程序:DATA SEGMENTA DB 5B DB 4C DB 3SUM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATAMOV DS,AXCMP A,0JE OK1CMP B,0JE OK1CMP C,0JNE OK2OK1:MOV A,0MOV B,0MOV C,0JMP OK3OK2:MOV AH,0MOV AL,AADD AL,BADD AL,CMOV SUM,AXOK3:MOV AH,4CHINT 21HCODE ENDSEND BEGIN