上海大学分析及编程题复习.ppt
文本预览下载声明
编程复习 程序分析 1、阅读如下程序段,回答所提出的问题。 MOV BX, 1110000011110001B XOR AX, AX MOV CX, 16 NEXT: ROL BX, 1 JC SKIP INC AX SKIP: LOOP NEXT 指出程序段完成的功能? 程序段执行完后,寄存器AX的值是多少? 统计BX中数的二进制表示中0的个数,并存放在AX中。 (AX)=8 程序分析 2、阅读如下程序段,回答所提出的问题。 X DW 3, -5, 8, 7,-2,0,0,0,0,0 Y DW 20,80,10,50,40,30,60,10,20,70 Z DW 10 DUP(0) ...... MOV SI, 0 SUB DX,DX AGAIN:MOV AX,X[SI] ADD DX,AX CMP AX,0 JZ EXIT JL NEXT ADD AX,X[SI] NEXT:ADD AX,Y[SI] MOV Z[SI],AX ADD SI,2 JMP AGAIN EXIT: 问执行后 (1) DX和SI的内容是多少? (2)(Z+2)、(Z+4)、(Z+16)的内容是什么? 26 75 26 64 38 0 0 注、十进制数 DX: 11 SI: 10 程序分析 3.在ARY中存放了COUNT个无符号数,下面程序段找出最小奇数并送入EMIN单元中, 请在每个横线处填一条指令补充完整。 ARY DB 11,10,21,5,34H,57,97H,127,77H,… COUNT EQU $-ARY EMIN DB ? …… LEA BX, ARY MOV CX, COUNT MOV AL, ARY LOP1:CMP [BX], AL JE NEXT MOV AL,[BX] NEXT: LOOP LOP1 MOV EMIN,AL JAE NEXT (或 JA NEXT) TEST BYTE PTR [BX], 01H INC BX 或 ADD BX, 1 程序分析 4、已知(CS)=2300H,(IP)=32B4H,且在数据段中有定义: ARY DB 0AH,28H,00H,3FH 分别给出下列指令执行后的CS和IP的内容: A、LEA BX,ARY JMP WORD PTR[BX] B、MOV BX,OFFSET ARY CALL WORD PTR[BX] C、MOV BX,OFFSET ARY JMP DWORD PTR[BX] (CS)=2300H (IP)=280AH (CS)=2300H (IP)=280AH (CS)=3F00H (IP)=280AH 程序分析 5、 MOV AL,0 MOV BL,0 MOV CX,10 L1: INC BL INC BL ADD AL,BL LOOP LI 程序的功能是 ,画出程序的流程图。 程序的功能是 求 2 4 6 8 10 12 14 16 18 20 的和 程序分析 6、MOV AX,4BD5H MOV BL,0 MOV DL,0 MOV CX,16 L1: SHL AX,1 JC L2 INC BL JMP L3 L2: INC DL L3: LOOP L1 程序的功能是___________,程序执行后BL=_________, DL=_________,AX=_________。 程序的功能是 分别统计4BD5H 中的0、1的个数,0的个数放BL,1的个数放DL ,程序执行后BL= 7 ,DL= 9 ,AX= 0 。 编程题1 按如下要求,编写一个完整的字符串输入、处理和输出程序,其中3、4、5要求各采用一个子程序实现。 1.编写数据段,定义80个字节的字符串存储区String1,String2,String3,并定义其它所需的变量和数据。 2.编写完整的代码段和主程序,调用如下子程序,实现字符串输入、处理和输出。 3.编写输入子程序,从键盘输入最多80字符的字符串并存放到String1中。 4.编写字符串处理子程序,实现如下功能: 1)将String1中的数字用‘*’代替,然后存放在String2中; 2)将String1中的小写字母转换成大写字母
显示全部