LEA DI,STR2
CLD
MOV CX,002DH
REPE CMPSB
五、写出下列程序(段)的执行结果。 1、 CODE1 SEGMENT
ASSUME CS:CODE1
MAIN PROC FAR START: PUSH DS XOR AX,AX PUSH AX MOV CH,4 MOV BX,1100010010001111B ROT1: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADD DL,30H CMP DL,3AH JB OUT1 ADD DL,7H OUT1: MOV AH,2 INT 21H DEC CH JNZ ROT1 RET MAIN ENDP CODE1 ENDS END MAIN
此程序执行后,屏幕上显示的内容为:C48F 2、 DATA SEGMENT
BUF DB 7,9,6 DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV CX,2 MOV BX,OFFSET BUF MOV SI,1
MOV AL,BUF AAA: CMP AL,[BX+SI] JL NEXT MOV AL,[BX+SI] NEXT: INC SI LOOP AAA MOV DL,AL ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN
执行此程序后,屏幕上显示的内容为:6 (此程序功能是将串中小于7的数字屏显出来) 3、 MOV AL,03H
MOV CL,2 SHL AL,CL
此指令段执行后,AL中的值为:0CH (即3*2*2=12) 4、MOV AL,40H MOV CL,2 SHR AL,CL
此程序段执行后,AL中的值为:10H (即64/2/2=16) 5、CODE SEGMENT
ASSUME CS:CODE
MAIN: MOV AH,1 INT 21H MOV AH,2 MOV DL,AL ADD DL,30H INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN
设输入数字7,其输出结果是多少? 7 6、 CODE SEGMENT
ASSUME CS:CODE
MAIN: MOV AH,1 INT 21H
ADD AL,2 MOV AH,2 MOV DL,AL ADD AL,30H INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN
设输入数字3,其输出结果是多少? 5 六、程序设计
1、 求两个字节数X和Y的2倍放到Z单元中。设X与Y的和是字节数。
DATA SEGMENT X DB 2
Y DB 2 Z DB ? DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA
MOV DS,AX MOV BL,X
MOV CL,Y ADD BL,CL MOV CL,BL ADD CL,BL MOV Z,CL MOV DL,Z ADD DL,30H MOV AH,02H INT 21H
MOV AH,4CH INT 21H CODE ENDS END START
2、 求两个字节数X和Y的平均数放到Z单元中。
DATA SEGMENT X DB 7 Y DB 8 Z DB ? //商 W DB ? //余数 DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BL,X MOV CL,Y ADD BL,CL CBW MOV AX,BX MOV CL,2 DIV CL MOV Z,AL MOV W,AH MOV DL,Z ADD DL,30H MOV AH,02H INT 21H MOV DL,W ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS END START
3、 编写程序,把从键盘读入的一个小写字母转换成相应的大写字母,并输出。(注:对应大小写
字母之间的ASCII码值相差20H)
PROGNAM SEGMENT MAIN PROC FAR
ASSUME CS:PROGNAM START:
PUSH DS SUB AX,AX PUSH AX NEXT:
MOV AH,1 INT 21H
CMP AL,'A' JB EXIT CMP AL,'Z' JA EXIT
SUB AL ,20H MOV DL,AL MOV AH,2
相关推荐: