收藏 分销(赏)

微机原理与接口技术部分课后习题样本.doc

上传人:二*** 文档编号:4554502 上传时间:2024-09-29 格式:DOC 页数:21 大小:284.52KB
下载 相关 举报
微机原理与接口技术部分课后习题样本.doc_第1页
第1页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、串操作指令特点:1. 可用前缀使其重复操作;2. 每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为减量;3. 所有源操作数地址放在SI中,在DS段,串长 64K; 所有目的操作数地址放在DI中,在ES段,串长 64K;4. 用重复前缀时,如果条件满足且CX 0 时重复,每重复一次CX CX1,否则结束重复;5. 重复操作时IP不变,中断返回后继续操作。 使用串操作指令时注意:1. SI 源串首(末)址DI 目的串首(末)址;2. CX 串长度;3. 设DF 值;4. 选重复前缀;5. 使用条件重复前缀时,判断结束条件(即 是CX=0 还是ZF=0/1结束) 指令执行时间:计算机

2、中计时单位:(1). 指令周期:执行一条指令所花时间;(2). 总线周期:CPU 每访问一次内存或I/O端口所花时间;(3). 时钟周期(T周期):计算机主频倒数,用T表达, 即 T=1 / F 1、 试分别阐明下列指令中源操作数和目操作数采用寻址方式: 答案: 目操作数 源操作数(1)MOVAX,0FFFFH 寄存器 及时(2)MOVES,AX 寄存器 寄存器(3)XORCL,100H 寄存器 直接(4)ADDSI,DX 寄存器间 寄存器(5)MOVES:H,CL 直接 寄存器(6)SUBBX+SI,1 基+变 及时(7)ADCAX,BX+SI+10H 寄存器 相对基+变(8)PUSHDS

3、隐含 寄存器(9) CLD 隐含(10) CMPBP+DI,CL 基+变 寄存器2、 若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,试拟定由这些寄存器和下列寻址方式产生有效地址和物理地址: 答案: EA 物址(1) 直接寻址; 0313H 19A23H(2) 用BX寄存器间接寻址; 1123H 1A833H(3) 用BX寄存器相对寻址; 1436H 1AB46H(4) 用BX和SI基址变址寻址; 2A8BH 1C19BH(5) 用BX和SI相对基址加变址寻址。 2D9EH 1C4AEH3、 持续执行如下指令,并在空格中填写执行指令成果。 答案:MOVA

4、X,2060HAL=60H AH=20H CF=MOVDS,AXDS=2060H AH=20H CF= ADDAL,AHAL=80H AH=20H CF=0 INCAXAL=81H AH=20H CF=0 MOVDX,512DL=00H DH=02H CF=0 SUBAX,DXAL=81H AH=1EH CF=0 第3章:汇编语言程序设计 1. 本章学习规定 (1). 应熟悉内容:汇编语言格式、语句行构成。(2). 应掌握内容: 批示性语句、指令性语句及互相区别、作用。(3). 应熟悉掌握内容:各种构造汇编语言程序设计办法,特别是分支构造和循环构造程序特点和设计。2. 本章重点难点分析:伪指令

5、、程序设计、子程序中参数通过堆栈传递较难。通过看例题、做作业和上机实习解决。如:汇编程序是将由助记符号所编写汇编语言源程序转换为计算机能直接执行目的程序软件,即:汇编程序连接程序目的程序可执行文献 汇编语言源程序 .ASM MASM .OBJ LINK .EXE 上图可看出汇编语言源程序(扩展名为 .ASM)通过“汇编程序”汇编后生成二进制编码目的程序(.OBJ),再通过“连接程序”生成可执行文献(.EXE)便可以上机执行或使用DEBUG程序进行调试。 而批示性语句(伪指令)是告诉汇编程序如何将汇编语言源程序转换为目的程序语句,在可执行目的程序生成后软件中,伪指令是看不见。如:SEGMENT是

6、表达一种段开始,ENDS表达段结束;而ASSUME告诉汇编程序,将某一种段寄存器设立为存储某一种逻辑段段址,即明确指出源程序中逻辑段与物理段之间关系。当汇编程序汇编一种逻辑段时,即可运用相应段寄存器寻址该逻辑段中指令或数据。也就是说ASSUME是建立一种段寄存器与段名对照表,汇编时使汇编程序能找到本段属于哪个段寄存器,在此对照表中所浮现存储器操作数,寻址时只需给出偏移地址,否则还应给出段地址。 核心字NOTHING表达取消前面用ASSUME伪操作对这个段寄存器设立。使用ASSUME语句,仅仅告诉汇编程序关于段寄存器与定义段之间相应关系。但它并不意味着汇编后这些段地址已装入了相应段寄存器中,这些

7、段地址真正装入,仍需要用程序来完毕,且这 4个段寄存器装入略有不同。 3. 本章典型例题分析:【例1】若从0200H单元开始有100个数,编一种程序检查这些数,正数保持不变,负数都取补后送回。DATA SEGMENT ORG 0200HSTRING DB 4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0)DATA ENDSSTACK SEGMENT PARA STACK STACK DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBE

8、GIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,100 LEA SI,STRINGAGAIN: MOV AL,SI AND AL,AL JNS OVER;AL0,跳至OVER NEG AL;AL0,对AL求补OVER: MOV SI,AL INC SI LOOP AGAIN INT 3 RETSTART ENDPCODE ENDS END BEG【例2】数据块间搬移程序。程序规定把内存中一数据块(称为源数据块)传送到另一存储区(称为目数据块)。图4-11给出源数据块和目数据块在存储器中也许3种状况:两块分

9、离和有某些重叠。对于两个数据块分离状况,如图4-11(a),数据传送从数据块首址开始,或者从数据块末址开始均可。但对于有某些重叠状况,则要加以分析,否则重叠某些某些会因“搬移”而遭破坏,从图4-11(b)和(c)可以得出如下结论:当源数据块首址目块首址时,从数据块末地址开始传送数据。当源数据块首址目块首址时,从数据块首地址开始传送数据。流程图如图4-12所示, 00000H 00000H 00000H 源数 据块 源数 目 据块 数据块 目 源数 目 数据块 据块 数据块FFFFFH FFFFFH FFFFFH (a) (b) (c)图4-11 数据块之间三种状况开 始SI源数据块首址DI目数

10、据块首址CX搬家字节数(SI)(DI)?NYSI(SI)+(CX)-1DI(DI)+(CX)-1(DI)(SI)SI(SI)+1DI(DI)+1SI(SI)-1DI(DI)-1DI(SI)DI(SI)DI(SI)(CX)=0?(CX)=0?结 束NNYY图 4-12程序如下:STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVCX,0010H;取搬家字节数(16个字节)MOVSI,3100H;取源块首址MOVDI,3200H;取目块首址CMPSI,DI;从首址开始?JAA2;是,转移ADDS

11、I,CX;否,以末地址开始搬家ADDDI,CXDECSIDECDIA1: MOVAL,SI;从末址开始搬家MOVDI,ALDECSIDECDIDECCXJNEA1JMPA3A2:MOVAL,SI;从首址开始搬家MOVDI,ALINCSIINCDIDECCXJNEA2A3:MOVAH,4CHINT21HCODEENDSENDSTART4. 本章作业(带答案):2、若在自H单元开始有一种1000个字节数据块,要把它传送到自2200H开始存储区中去,用如下三中办法,分别编制程序:(1) 不用串操作指令。(2) 用单个传送串操作数据传送指令。(3) 用带重复前缀串操作数据传送指令。程序如下:DATAS

12、EGMENTORGHN1DBn1,n2,n1000N2EQUH+10001CONEQU1000DATAENDSSTACKSEGMENTSTACKSTACKDW100DUP(?)STACKENDSCODESEGMENTORG1000HASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,N1+10001 ; (2) ; (3)MOVDI,N2MOVCX,CON;STDL1:MOVAL,SI;MOVSB ;REP MOVSB MOVDI,ALDECSIDECDILOOPL1;LOOP

13、L1MOVAH,4CHINT21HMAINENDPCODEENDSENDSTART3、若在存储器中有数a、b、c、d(它们持续存储),编写一种程序实现:(a * 10 + b)*10+c)*10+d (假设和不大于65535)程序如下:DATASEGMENTBCMDWa,b,c,dDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABCD1PROCFARSTART:MOVAX,DATAMOVDS,AXLEASI,BCMMOVCX,3MOVAX,SIL1:INCSISHLAX,1;(AX)(AX)2MOVBX,AX;(BX)(AX)2SHLAX,1;(AX)(AX)4

14、SHLAX,1;(AX)(AX)8ADDAX,BX;(AX)(AX)10ADDAX,SILOOPL1INCSIMOVSI,AX MOVAH,4CHINT21HBCD1ENDPCODEENDSENDSTART4、已知数组A包括10个互不相等整数,数组B包括15个互不相等整数。试编写一程序,将既在A中浮现又在B中浮现偶数存储在数组C中。程序如下:DATA SEGMENT ORG 0500H DATAA DW A1,A2,A10 DATAB DW B1,B2,B15 COUNTA EQU 10 COUNTB EQU 15 DATAC DW 10 DUP(?) DATA ENDS STACK SEGM

15、ENT STACK STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV ES,AX MOV DS,AX LEA BX,DATAC;(BX)=数组C首址 CLD LEA SI,DATAA;(SI)= 数组A首址 MOV DX,COUNTA;(DX)= 数组A元素个数 LP1: LODSW;取数组A元素到AX LEA DI,DATAB;(DI)= 数组B首址

16、MOV CX,COUNTB;(CX)= 数组B元素个数 REPNE SCASW ;(AX)= 数组B元素?不同重复 JNZ NEXT;B中无此A元素转NEXT TEST AX,01H JNZ NEXT MOV BX,AX;有A元素且是偶数存入C中 INC BX INC BX NEXT: DEC DX JNZ LP1 INT 3 START ENDP CODE ENDS END BEGIN5、若自STRING开始有一种字符串(以$号作为字符串结束标志),请编程查找此字符串中有无字符#,有多少个#,并将个数存储在NUMBER字单元中,且把每一种#字符所存储偏移地址放到自POINTER开始持续存储字

17、单元中。程序如下:DATA SEGMENTORG 0100HSTRING DB 593#6707#84BK47#68H#8K8#497$NUMBER DB ?POINTER DW50 DUP (?)DATA ENDSSTACK SEGMENT PARA STACK STACK DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV ES,AX MOV DS,AX LEA SI,S

18、TRING LEA DI,POINTER XOR BL,BL ;BL清0AGAIN: MOV AL,SI CMP AL,$ ;与$比较 JZ STOP CMP AL,# JNZ NEXT MOV DX,SI MOV DI,DX INC DI INC DI INC BLNEXT: INC SI JMP AGAINSTOP: LEA DI,NUMBER MOV DI,BL INT 3START ENDPCODE ENDS END BEGIN一、8282 (地址锁存器)作用:在T1时锁存地址信息。二、8284(时钟发生器)作用:1. 提供系统时钟CLK2. 同步RESET3. 同步READY4. 提

19、供其她系统时钟三、8286(总线缓冲器)作用:1. 数据缓冲2. 增强总线负载能力3. 控制数据传送方向四、8288(总线控制器)作用: 在8088/8086 工作在最大模式时,依照S2S0信号,输出系统各种控制信号. 本章作业:(带答案)1. 若用4K1位RAM芯片构成16K8位存储器,需要多少芯片(32片)?A19A0地址线中哪些参加片内寻址(A0A13)?哪些参加作芯片组片选取信号(A14A19)?2. 下列RAM各需要多少条地址线进行寻址?多少条数据I/O线? 地址线 数据线 地址线 数据线 (1) 5124; 9 4 (5)4K1; 12 1 (2) 1K4; 10 4 6)16K4

20、; 14 4 (3) 1K8; 10 8 (7)64K1; 16 1 (4) 2K1; 11 1 (8)256K4; 18 43. 使用下列RAM芯片,构成所需存储容量,各需多少RAM芯片?各需多少RAM芯片组?共需多少寻址线?每块片子需多少寻址线? 片数 组数 总线数 片内线(1)5124芯片,构成8K8存储容量; 32 16 13 9(2)10241芯片,构成32K8存储容量; 256 32 15 10(3)10244芯片,构成4K8存储容量; 8 4 12 10(4)4K1芯片,构成64K8存储容量; 128 16 16 12 4. 若用2114芯片构成2KB RAM,地址范畴为3000

21、H37FFH,问地址线应如何连接?(假设CPU只有16条地址线,8根数据线,可选用线选法和全译码法) C B AA15 A14 A13 A12 A11 A10 A9 A8 A7 A0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 第三某些 综合练习题1、名词解释ASSUME,SEGMENT,CPU,BCD码,ASCII码, RAM,EPROM,IP,SP,CS,DS,开中断,总线周期,T周期, 段寄存器,字节、字,汇编程序,堆栈,字长,中断,伪指令,批示性语句、指令性语句、OFFSET、物理地址、逻辑地址、ROM、ORG 、AB、DB、CB、指令周期 、全译码

22、、局部译码、内存、外存 综合练习题答案如下:1、名词解释(略)3、判断下列指令正误,如果错误请指出因素。 答案:(1)MOVCL,259 数据不匹配(2)XORBL,BH (3)ADD100,AL 及时数不能为目的操作数(4)MOVSS,2200H 及时数不能直接送基寄存器(5)POPCS POP 不能对CS(6)XCHGCX,DX (7)INAL,260H 端口地址超过256,应用DX间接寻址(8)MOVBP+SI,BX 源和目的操作数不能同步为存储器操作数(9)LEABX,AX 源操作数应为存储器操作数(10)MOVAX,10HBX 4、 问答题:(1) 何为逻辑地址?何为物理地址?它们俩

23、者之间有何关系?答:物理地址是存储器实际地址,一种存储单元物理地址是惟一,逻辑地址为程序设计中所使用存储器地址,它由段基址和地内偏移地址两部份构成,物理地址=段基址16偏移地址,可见一种存储单元逻辑地址可以有若干个。(2) 什么是总线周期?一种基本总线周期由多少个T构成?答:CPU每访问一次总线所花时间称为总线周期,一种基本总线周期由四个T周期构成。(3) 在使用串操作指令(如MOVS)前应注意些什么?答:使用串操作指令时应注意如下五点:1将源串首(末)地址送入SI中、将目的串首(末)地址送入DI中;2将串长度送入CX中;3设立DF值;4选取恰当重复前缀;5判断串操作指令结束条件。 (4) 8

24、088 CPU有多少根地址线?多少根数据线?它最大直接寻址范畴是多少?一次对外数据传送多少BIT二进制数? 答:8088 CPU有20根地址线,8根数据线,它最大直接寻址范畴是1MB,一次对外数据传送8BIT二进制数。(5) 微机中基本计时有哪几种?它们之间有何关系?答:微机中基本计时有:指令周期;总线周期;时钟周期。一种指令周期由若干时钟周期或总线周期构成,一种基本总线周期由四个时钟周期构成,时钟周期是最小计时单位,它是微机主频倒数。(6) 8086 / 8088 微解决器内部有哪些寄存器?其重要作用是什么? 答:8086 / 8088 微解决器内部有:AX、BX、CX、DX、SI、DI、C

25、S、DS、SS、ES、IP、SP、FR、BP存储数据、偏移地址、段基址以及标志。5、自1000H单元开始,有100个无符号数(字节),编写程序计算这100个数和,并把和存储在1971H和1972H单元,且高位存储在1972H单元。程序如下:DATASEGMENTORG1000HN1DBn1,n2,n100N2EQU1971HCONEQU100DATAENDSSTACKSEGMENTSTACKSTACKDW100DUP(?)STACKENDSCODESEGMENTORGHASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXL

26、EASI,N1MOVCX,CONXORAX,AXL1:ADDAL,SI ADCAH,0INCSILOOPL1MOVN2,ALMOVN2+1,AHMOVAH,4CHINT21HMAINENDPCODEENDSENDSTART6、若自6000H单元开始有1000个数(字节),试针对下面状况编程将它们中最小值、最大值找出来,并分别存储在5000H和5001H字节单元中。(1) 这1000个数为无符号数。(2) 这1000个数为带符号数。程序如下:DATASEGMENTORG6000HBUFFERDBX1,X2,X1000;自定义N个无(带)符号数COUNTEQU$BUFFERMAXEQU5000H;

27、保存最大值MINEQU5001H;保存最小值DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCSTART:MOVAX,DATAMOVDS,AXMOVCX,COUNTLEABX,BUFFER;首地址BXMOVAL,BX;AL最大值初值MOVDL,BX;DL最小值初值DECCX;循环次数减1AGAIN:INCBXCMPAL,BX;比较JNC (JGE)NEXT1;若最大值BX,则转至NEXT1MOVAL,BX;AL保存最新最大值JMP NEXT2NEXT1:CMPDL,BX;比较JC (JL)NEXT2;若最小值BX,则转至NEXT2MOVDL,BX;DL保存最新最小值NEXT2:LOOPAGAIN;循环MOVMAX,AX;MAX存最大值MOVMIN,DX;存最小值MINMOVAH,4CHINT21H;返回DOSMAINENDPCODEENDSENDSTART7、用2114存储器芯片构成2KB RAM,地址范畴为C800HCFFFH,问地址线、数据线及有关控制线如何连接?(假设CPU只有16根地址线、8根数据线,控制线为 WR、RD、IO/M,采用LS138全译法。见下图,) C B AA15 A14 A13 A12 A11 A10 A9 A8 A7 A0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服