600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 《微机原理与接口技术》期末考试题型总结 + 试卷超详解

《微机原理与接口技术》期末考试题型总结 + 试卷超详解

时间:2023-10-28 07:55:55

相关推荐

《微机原理与接口技术》期末考试题型总结 + 试卷超详解

内容还会更新

微机原理只有理解了为什么,才可以真正记住这些代码怎么写,知其然而不知其所以然是 绝对学不好这门课程的,深有所感!

题型一: 程序阅读题(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。

DATASEGMENT

WDW0A590H

ZDW?

DATAENDS

CODESEGMENT

ASSUMECS:CODE, DS:DATA

START:1.MOV AX , DATA;送分必考

MOVDS, AX;设置DS

MOVAX,W

2.CMP AX, 0;判断正负(比较AX和0) 千万别写W啊!

JZL1;相等则转移到L1

3.JG L2;AX > 0 , 跳转L2

NEGAXAX < 0 : NEG:求补指令, 负数用补码进行加法运算

4.ADD AX, 50H;Z=|W|+50H

MOVZ,AX

JMPNEXT

L2MOVZ,AX

JMPNEXT

L1MOVZ,400H

NEXT: MOVAH, 4CH

5.INT 21H;

CODEENDS

ENDSTART

指令记不住,看英语就方便记忆,发现一位大佬的微机英语课超全:(176条消息) 汇编指令的英文全称(中英文对照)_汇编jnb英文全称_ywbhnay的博客-CSDN博客

3.已知程序实现的功能是:从有NUM个数的字数组TABLE中,编写汇编程序,找出其中的最小值,并把结果保存到MIN单元中。

程序如下所示:

DATASEGMENT

TABLEDW65, -200, -380, 930,210,....

6. NUM EQU ($ - TABLE)/2;定义数组个数

MINDW?;定义最小值存放单元

DATAENDS

CODESEGMENT

ASSUMECS:CODE, DS:DATA

START:MOVAX,DATA

MOVDS, AX;

7. MOV CX,NUM;设置循环次数 CX 到底多少?

DECCX CX-1 DEC:decline 减少1 || INC : increase 增加1

8.MOV SI , OFFSET TABLE&LEA SI , TABLE;取数组TABLE首地址 必考

MOVAX,[SI]Load effect address

MOVMIN,AX;设第一个数为最小值

L:9. INC SI; SI+1

MOVAX,[SI];取下一个数

CMPMIN,AX;比较两数大小

10.JLENEXT; MIN ≤ AX 【 千万别漏了等于的情况啊!一分没有! 】

MOVMIN,AXMIN > AX

NEXT:LOOPL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

题型二: 分析题(30分,共5小题,每小题6分)第二章

考点:判断、分支、循环长度(DW要除2)(绝对会考)

考题一:

1.寄存器各部分的功能

2.寻址方式/物理地址(会出小题)

注意:基地址为BP(基址指针)则段地址由SS (堆栈段指针)提供 能看出是什么寻址 还要会计算BX - DS

1. 阅读下列程序段,回答相关问题。

DATA SEGMENT

ORG 2000H ORG:设STRING的首偏移地址

STRINGDB ‘WELCOME!’2000H-H

ARRAYDW 12,57EH,$+2,762H,$+0AH,45H H-200DH

NUMBEREQU ($-ARRAY)/2 EQU:equal等于

DATA ENDS

(1) 变量STRING、ARRAY的偏移地址各是多少?

STRING:EA=2000H ARRAY:EA=H

(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)MOVAX, [BP] SS2000H×10H + 800H = 20800H寄存器间接寻址

(2)SUBAX, TABLE[BX][SI] 带位移的基址变址寻址 ;

DS36000H + 600H + 4080H + 2400H = 3CA80H

(3)ADD AX, ES:[DI] ES4600H×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,0A2D5HExclusive OR

MOV CL,3

RCL AX,CL 将AX左移3位 1010 0010 1101 0101

0001 0110 1010 110016AA 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 SEGMENTSTRINGDB 'abcd_234ddr#'SL DB ?DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXLEA SI,STRING ;字符串首地址送SIMOV BL,00H;BL清零LOPA:MOV AL,[SI]INC SICMP AL,20H;比较是否为空格符JE LOPALOPB:CMP AL,'#'JENEXTINC BLMOV AL,[SI],INC SIJMPLOPBNEXT:MOV SL, BL;结果送SL单元MOV AH, 4CH INT 21H ;退出CODEENDSEND 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应用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。