文档详情

一些简单的汇编程序.docx

发布:2020-02-24约5.5千字共13页下载文档
文本预览下载声明
1.编制程序计算S=1+2+3+4+……+N直到和 大于500为止,并将结果在屏幕上显示出来 (N的值和最终的和的值)。 DATA SEGMENT N DW ? SUM DW ? MOV DIV MOV ADD MOV MOV BX,100 ,DX AL,30H DL,AL AH,2 DATA ENDS INT 21H CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX  MOV MOV DIV MOV MOV  BL,10 ,CX ,AH AH,2 MOV MOV ,0 ,0 ADD MOV AL,30H DL,AL E1: INC ADD BL AX,BX INT 21H CMP AX,500 MOV AH,2 JBE E1 ADD CL,30H MOV [N],BX MOV DL,CL MOV [SUM],AX INT 21H E2:  MOV AH,4CH MOV AX,BX MOV BL,10 DIV BL INT 21H CODE ENDS END START ADD MOV MOV MOV  AL,30H DL,AL CL,AH AH,2  2.从键盘输入学生成绩(A、B、C、D),自 动汇总并显示各类分数的人数。按下$键则 停止输入;若按下A、B、C、D之外的键则 提示“INPUT ERROR”信息。 INT 21H DATA SEGMENT M1 DB Please input ADD MOV MOV ,30H ,CL AH,2 A,B,C,D:,13,10,$ M2 DB 13,10,Input error! ,13,10,$ INT 21H M3 DB 13,10,The number of A is: $ MOV AH,2 M4 DB 13,10,The number of B is: MOV DL,0AH INT 21H $  M5 DB 13,10,The number of C is: MOV AX,SUM $ CWD M6 DB 13,10,The number of D is: $ DATA ENDS STACK SEGMENT STACK ENDS CMP AH,AL JZ E6 MOV AH,9 MOV DX,OFFSET INT 21H JMP E1  M2 CODE SEGMENT E6: ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AH,9 MOV DX,OFFSET M1 INT 21H MOV BX,0 MOV CX,0 E1: MOV AH,9 MOV DX,OFFSET INT 21H MOV AH,2 ADC BL,30H MOV DL,BL INT 21H MOV AH,9 MOV DX,OFFSET INT 21H  M3 M4 MOV AH,1 MOV AH,2 INT 21H ADC BH,30H MOV CMP AH,41H AL,AH MOV DL,BH INT 21H JNZ E2 MOV AH,9 INC BL MOV DX,OFFSET M5 JMP E1 INT 21H E2: MOV AH,2 MOV CMP AH,42H AH,AL ADC CL,30H MOV DL,CL JNZ E3 INT 21H INC BH MOV AH,9 JMP E1 MOV DX,OFFSET M6 E3: INT 21H MOV CMP AH,43H AH,AL MOV AH,2 ADC CH,30H JNZ E4 MOV DL,CH INC CL INT 21H JMP E1 MOV AH,4CH E4: INT 21H MOV CMP AH,44H AH,AL CODE ENDS END START JNZ E5 INC CH 3.动态输入20个二位无符号数,找出其中 JMP E1 最大数并显示。DATAS SEGMENT E5: M1 DB Please input 5 MOV AH,24H numbers:,13,10,$ M2 DB The biggest number is:$ M3 DB ,13,10,$ MAX DW ? DATAS ENDS MOV ADD MOV MOV BX,MAX BH,30H DL,BH AH,2 STACKS SEGMENT INT 21H STACKS ENDS CODES SEGMENT  ADD MO
显示全部
相似文档