《微机原理与接口技术》期末考试题型总结 + 试卷超详解 | 您所在的位置:网站首页 › 微机原理题库版答案第四版 › 《微机原理与接口技术》期末考试题型总结 + 试卷超详解 |
内容还会更新 微机原理只有理解了为什么,才可以真正记住这些代码怎么写,知其然而不知其所以然 是 绝对学不好这门课程的,深有所感! 题型一: 程序阅读题(15分 5小空,每小空3分) 【程序填空 or 程序选择】1. 从长度为NUM的字符串STR中,统计空格的个数并存入COUNT单元。 DATA SEGMENT STR DB 'WELCOME TO ASSEMBLE WORLD!' NUM EQU $-STR ;($-STR)/2 获取字符串个数 COUNT DB 0 ;定义统计单元 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX,DATA MOV DS,AX LEA BX,STR ;取字符串首地址 load effective address MOV CX,NUM ;等于空格,COUNT+1 L: MOV AL , [BX] CMP AL,20H ;空格 20H JNE L1 INC COUNT ;不等于空格,BX+1 L1: INC BX ;加1 LOOP L ; 在L中继续寻找 MOV AH,4CH INT 21H ENDS END START 2.程序阅读题(根据程序任务及部分注释,阅读程序,从提供的指令中选择合适的指令(或伪指令),使程序补充完整。) 这5个空都很简单 考到答应我要全对 下列程序实现的任务是:已知W单元存放着16位的带符号数,若W为正数,则令Z=W; 若为0,令Z=400H; 若为负数,则Z=|W|+50H。 DATA SEGMENT W DW 0A590H Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: 1. MOV AX , DATA ; 送分必考 MOV DS, AX ;设置DS MOV AX,W 2. CMP AX , 0 ;判断正负(比较AX和0) 千万别写W啊! JZ L1 ;相等则转移到L1 3. JG L2 ; AX > 0 , 跳转L2 NEG AX AX < 0 : NEG:求补指令, 负数用补码进行加法运算 4. ADD AX, 50H ; Z=|W|+50H MOV Z,AX JMP NEXT L2: MOV Z,AX JMP NEXT L1: MOV Z,400H ; NEXT: MOV AH, 4CH ; 5. INT 21H ; CODE ENDS END START 指令记不住,看英语就方便记忆,发现一位大佬的微机英语课超全:(176条消息) 汇编指令的英文全称(中英文对照)_汇编jnb英文全称_ywbhnay的博客-CSDN博客 3.已知程序实现的功能是:从有NUM个数的字数组TABLE中,编写汇编程序,找出其中的最小值,并把结果保存到MIN单元中。 程序如下所示: DATA SEGMENT TABLE DW 65, -200, -380, 930,210,....; 6. NUM EQU ($ - TABLE)/2 ;定义数组个数 MIN DW ? ;定义最小值存放单元 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS, AX ; 7. MOV CX,NUM ;设置循环次数 CX 到底多少? DEC CX CX-1 DEC:decline 减少1 || INC : increase 增加1 8. MOV SI , OFFSET TABLE & LEA SI , TABLE ;取数组TABLE首地址 必考 MOV AX,[SI] Load effect address MOV MIN,AX ;设第一个数为最小值 L: 9. INC SI ; SI+1 MOV AX,[SI] ;取下一个数 CMP MIN,AX ;比较两数大小 10. JLE NEXT ; MIN ≤ AX 【 千万别漏了等于的情况啊!一分没有! 】 MOV MIN,AX MIN > AXNEXT: LOOP L MOV AH,4CH INT 21H CODE ENDS END START 题型二: 分析题 (30分,共5小题,每小题6分) 第二章考点:判断、分支、循环 长度(DW要除2)(绝对会考) 考题一: 1.寄存器各部分的功能 2.寻址方式/物理地址(会出小题) 注意:基地址为BP(基址指针)则段地址由SS (堆栈段指针)提供 能看出是什么寻址 还要会计算 BX - DS 1. 阅读下列程序段,回答相关问题。 DATA SEGMENT ORG 2000H ORG:设STRING的首偏移地址 STRING DB ‘WELCOME!’2000H-2007H ARRAY DW 12,57EH,$+2,762H,$+0AH,45H 2008H-200DH NUMBER EQU ($-ARRAY)/2 EQU:equal等于 DATA ENDS (1) 变量STRING、ARRAY的偏移地址各是多少? STRING:EA=2000H ARRAY:EA=2008H (2) NUMBER的值是?6 ($-ARRAY)/2:从变量ARRAY对应的单元到当前单元间的字节数, M是字变量,每个元素占2个字节。即ARRAY有6个元素 (3)若要执行指令 MOV AX, ARRAY+4,则指令执行后,AX的值是多少?200EH 字单元格,下一个。 2. 假设DS=3600H,ES=4600H,SS=2000H,SI=4080H,DI=480H,BX=600H,BP=800H,TABLE=2400H。试分析下列各指令中源操作数的寻址方式,计算其物理地址。 (1)MOV AX, [BP] SS 2000H×10H + 800H = 20800H 寄存器间接寻址 ;(2)SUB AX, TABLE[BX][SI] 带位移的基址变址寻址 ; DS 36000H + 600H + 4080H + 2400H = 3CA80H(3)ADD AX, ES:[DI] ES 4600H×10H + 480H = 46480H 寄存器间接寻址 ; 3. 假设DS=2600H, ES=3600H, SS=6000H, SP=4000H, SI=6050H, DI=450H, BX=250H ,BP=800H,ARRAY=2400H. 试分析: (1)若连续执行两条PUSH BX指令后。SP的值为? (2)指令ADD AX, ARRAY[BP][DI]中, SRC的物理地址为? (3)指令MOV AX, ES:[BX][SI]中,SRC 的物理地址为?
考题二: 1.标志位 2.入栈、出栈 3.设置中断向量 4.交换指令 5. 加减乘除(带进位) 6.NEG求补 7. -1:0FFH -2:0FEH 8.位移指令(P53)(不考双精度)(配合带进位加法) 9. 几种清零:XOR AX,AX(不要不认识) 10. 串操作(统计) 1. 分析下列程序段执行后,AX的值: XOR AX,AX 相当于 ① MOV AX, 0 将AX清0 ② CLC 将CF标志位也清0 MOV AX,0A2D5H Exclusive OR MOV CL,3 RCL AX,CL 将AX左移3位 1010 0010 1101 0101 0001 0110 1010 1100 16AA H CF=1 ADC AX,1234H add with carry 带进位加法 16AA+1234+1=28DF H 注意要加上CF的值。 【例】已知长度为NUM的字符串STRING,分析下面程序段功能。 MOV CX,NUM LEA BX,STRING XOR DL,DL L: MOV AL, [BX] CMP AL, 'A' JB NEXT CMP AL, 'Z' JA NEXT INC DL DL+1 NEXT: INC BX LOOP L 程序段完成的功能是: DL←统计STRING中大写字母个数 题型三:程序编写题 【统计个数、成绩、大写换小写】【例】求一字符串长度,要求滤去第一个非空格字符之前的所有空格,字符串以“#”结束。 DATA SEGMENT STRING DB ' abcd_234ddr#' SL DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,STRING ;字符串首地址送SI MOV BL,00H ;BL清零 LOPA: MOV AL,[SI] INC SI CMP AL,20H ;比较是否为空格符 JE LOPA LOPB: CMP AL,'#' JE NEXT INC BL MOV AL,[SI], INC SI JMP LOPB NEXT: MOV SL, BL ;结果送SL单元 MOV AH, 4CH INT 21H ;退出 CODE ENDS END START题型四:芯片 8259:中断向量设置(4种方法)、怎样都IRR/ISR(统计中断个数)IMR(小题) 【例】设8259A端口地址为:20H,21H。单片使用,编写程序片段,试判断当前有多少个中断请求等待服务?把结果保存在BL中。 【分析】需要设置OCW3,即令OCW3=0000,1010B=0AH 程序段为: MOV AL, 0AH ; 设置OCW3,其中D1D0=10 OUT 20H, AL ;从低端口输出 NOP IN AL, 20H ;读入IRR的内容 XOR BL, BL ; BL清零 MOV CX, 8 ;设置循环次数 L: SHL AL, 1 ;左移1位, JNC NEXT ;CF=0,转入NEXT INC BL ;CF为1,则表示当前位有请求 NEXT: LOOP L 8255:初始化,应用 8253:控制字,定时,初始化,方波v应用
|
CopyRight 2018-2019 实验室设备网 版权所有 |