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
INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP NEXT EXIT: RET
MAIN ENDP PROGNAM ENDS END START
4、 编写程序,把从键盘读入的一个大写字母转换成相应的小写字母,并输出。(注:对应大小写
字母之间的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
ADD AL ,20H MOV DL,AL MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP NEXT EXIT: RET
MAIN ENDP PROGNAM ENDS END START
5、 已知数组X包含有8个无符号整数,编写对其中的每个奇数计算1+2+…+N,并把它们顺序
存入内存字单元SUM开始的存储区中,要求1+2+…+N用子程序实现。不考虑溢出。
DATA SEGMENT
X DW 2,3,4,5,6,7,8,9
SUM DW 8 DUP (?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN: MOV AX,DATA MOV DS,AX LEA BX,X LEA DI,SUM MOV CX,8 NEXT: MOV DX,[BX] MOV AX,DX SHR AX,1 JNC N1 CALL SUB1 MOV [DI],AX ADD DI,2 N1: ADD BX,2 LOOP NEXT MOV AH,4CH INT 21H
SUB1 PROC NEAR PUSH CX XOR AX,AX MOV CX,DX AGAIN: ADD AX,CX LOOP AGAIN POP CX RET
SUB1 ENDP CODE ENDS END MAIN
6、 已知数组X包含有8个无符号整数,编写对其中的每个偶数计算1+2+…+N,并把它们顺序
存入内存字单元SUM开始的存储区中,要求1+2+…+N用子程序实现。不考虑溢出。
DATA SEGMENT
X DW 2,3,4,5,6,7,8,9 SUM DW 8 DUP(?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN:
MOV AX,DATA MOV DS,AX LEA BX,X LEA DI,SUM MOV CX,8 NEXT: MOV DX,[BX] MOV AX,DX SHR AX,1 JC N1
CALL SUB1 MOV [DI],AX ADD DI,2 N1: ADD BX,2 LOOP NEXT MOV AH,4CH INT 21H
SUB1 PROC NEAR PUSH CX XOR AX,AX MOV CX,DX AGAIN: ADD AX,CX LOOP AGAIN POP CX RET
SUB1 ENDP CODE ENDS END MAIN
注:编者水平有限,不能保证所有答案都正确,如发现错误之处,请指出。卷上部分答案来源于互联网,不代表标准答案,此卷仅供参考。最后两个编程题中有一道考试必考!我只能帮你们到这里了!呵呵