微机原理第三次作业
- 格式:wps
- 大小:28.00 KB
- 文档页数:3
3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。
操作码:要完成的操作。
操作数:参与操作的对象。
寻址:寻找操作数或操作数地址的过程。
寻址方式:指令中给出的找到操作数或操作数地址采用的方式。
8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。
其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。
3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H](4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX](7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10](10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]【解答】(1)MOV AX,21H立即寻址,源操作数直接放在指令中(2)MOV AX,BX寄存器寻址,源操作数放在寄存器BX中(3)MOV AX,[1000H]直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H(4)MOV AX,VAL直接寻址,EA = [V AL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H(5)MOV AX,[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H(6)MOV AX,ES:[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H(7)MOV AX,[BP]寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H(8)MOV AX,[SI]寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H(9)MOV AX,[BX+10]相对寄存器寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH(10)MOV AX,VAL[BX]相对寄存器寻址,EA =(BX)+[V AL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H(11)MOV AX,[BX][SI]基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H +EA = 2000H×10H+01A0H = 201A0H(12)MOV AX,VAL[BX][SI]相对基址变址寻址,EA = (BX)+(SI)+[V AL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。
8086第三章作业3-11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址(1)1000H 10000H-1FFFFH(2)1234H 12340H-2233FH(3)E000H E0000H-EFFFFH(4)AB00H AB000H-BAFFFH3-12对于下列CS:IP组合,计算出要执行的下条指令存储器地址。
(1)CS=1000H和IP=2000H 答:下条指令存储器地址:12000H(2)CS=2400H和IP=1A00H 答:下条指令存储器地址:25A00H(3)CS=1A00H和IP=B000H 答:下条指令存储器地址:25000H(4)CS=3456H和IP=ABCDH 答:下条指令存储器地址:3F12DH3-37 指出下列指令源操作数的寻址方式(1)MOV AX,1200H;立即数寻址(2)MOV BX,[1200H];直接寻址(3)MOV BX,[SI];变址寻址(4)MOV BX,[BX+SI+1200];相对基变址寻址(5)MOV [BX+SI],AL;寄存器寻址(6)ADD AX,[BX+DI+20H];相对基变址寻址(7)MUL BL ;寄存器寻址(8)JMP BX ;间接寻址(9)IN AL,DX ;寄存器间接寻址(10)INC WORD PTR[BP+50H] ;相对基址寻址小结:虽然对存储器的访问指令、输入/输出指令(IN指令和OUT指令)、跳转指令(JMP指令)都有直接寻址和间接寻址,但是形式是有很大差别的:1.直接寻址:(1)对于存储器的访问用方括号括起来的二进制数,如:MOV BX,[1200H](2)对于输入/输出指令(IN指令和OUT指令)用二进制数如:IN AX,8FH 又如: OUT 78H,AL(3)对于跳转指令(JMP指令)是以目标标号为直接地址的如: JMP ADDR12.间接寻址:(1)对于存储器的访问有分为基址寻址、变址寻址、基址加变址寻址以及带位移量的所谓相对基址寻址、相对变址寻址、相对基址加变址寻址如:MOV AX,[BP](2)对于输入/输出指令用DX做间接寻址寄存器如:IN AX,DX 又如: OUT DX,AL(3)跳转指令直接写明寄存器即可 (段内)如: JMP BX段间需组合:如: JMP DWORD PTR [BX+ADDR1]3-38指出8086/8088下列指令中存储器操作数地址的计数表达式。
华中科技⼤学微机原理第三次作业《计算机原理及应⽤》第三次课外作业题⼀、计算题:1、⼗进制数240.75的⼆进制数、⼗六进制数和BCD码分别是多少?答:(1111 0000.11)B ; (F0.C)H ; (0010 0100 0000. 0111 0101)BCD2、设X=C3H,Y=5AH。
试计算:{(X或Y)与(X异或Y)}。
答:化为⼆进制:X=(1100 0011)B, Y=(0101 1010)B所以:(X或Y)=(1101 1011)B=(DB)H(X异或Y)=(1001 1001)B=(99)H⼆、填空题:1、512×4位的存储器分别需要9根地址线和4根数据线?8K×8位的存储器⼜分别需要13根地址线和8根数据线?2、下述机器数形式可表⽰的数值范围是:单字节⽆符号整数0到255 ;单字节有符号整数-128到+127 。
(请⽤⼗进制形式写出)3、⼋⽚16K×4的存储器可以设计为32K 存储容量的16位存储器?4、宏汇编语⾔程序被汇编时,指令语句产⽣代码指令,指⽰性(伪指令)语句不产⽣代码指令,宏指令语句可能产⽣也可能不产⽣代码指令。
5、变址寻址的有效地址是变址寄存器的内容与形式地址代数和。
三、问答题:1、Intel系列的CPU单元⼀般由哪两个控制单元组成?它们分别起什么作⽤?答:由执⾏单元和总线接⼝单元组成。
执⾏单元的功能是负责执⾏指令,执⾏的指令从BICU 的指令队列缓冲器中取得,执⾏指令的结果或执⾏指令所需要的数据,都由EU 向BICU 发出请求,再由BICU对存储器或外设存取。
总线接⼝控制单元BICU的功能是负责完成CPU与存储器或I/O设备之间的数据传送。
2、在Intel8086体系结构中,在存储原则上堆栈是遵循什么原则的内存专⽤区域?若设SP=0056H ,如果⽤栈操作指令存⼊9个字节数据,则SP 值为多少?若⼜⽤栈操作指令取出4个字节数据,则SP 值⼜变为多少?答:堆栈遵循先⼊后出原则;SP=004DH ;SP=0052H3、请画出8086⾮屏蔽中断响应流程图。
一、选择题分析1.下列描述正确的是()A.汇编语言仅由指令性语句构成B.汇编语言包括指令性语句和伪指令语句C.指令性语句和伪指令性语句的格式是均匀全相同的D.指令性语句和伪指令性语句需经汇编程序翻译成机器代码后才能执行题眼分析本题为1998年9月第28题。
语句,一个汇编语言源程序是由若干条语句构成。
汇编源程序中的语句可分为指令性语句和伪指令性语句两类。
指令性语句,与机器指令相对应,包含一个指令助记符和足够的寻址信息。
可由汇编程序翻译成机器指令代码。
其一般格式为:[标号:][前缀]指令助记符[操作数][:注释]伪指令语句,指示、引导汇编程序在汇编时进行一些操作。
汇编程序不能将其翻译成机器代码。
其一般格式为:[名字]伪操作命令[操作数][:注释]答案 B2.假定(AL)=85H,(CH)=29H,依次执行SUB AL,CH指令和DAS指令后,AL 的值是()A.AEH B.56HC.5CH D.14H题眼分析首先执行SUB指令后,(AL)=5CH,此时CF=0,由于低4位大于9,需要进行调整,执行DAS指令后,AL低4位减6,并且置AF=1,高4位值小于9且CF=0,保持不变,即得(AL)=56H。
答案 B3.串操作指令中,有REP前缀的串操作指令结束的条件是()A.ZF=1 B.ZF=0C.CX>1 D.CX=0题眼分析本题为1999年9月第7题。
8086/8088中有以下3种形式的重复前缀格式:①REP ;(CX)≠0,重复执行②REPE/REPZ ;(CX)≠0且ZF=1,重复执行③REPNE/REPNZ ;(CX)≠0且ZF=0,重复执行答案 D4.若定义DA T DW‘12’,则(DA T)和(DA T+1)两个相连的内存中存放的数据是()A.32H,31H B.31H,32HC.00H,0CH D.00H,12H题眼分析本题为1999年9月第5题。
‘12’表示字符‘1’和‘2’,其相应的ASCII 码为31H和32H。
《微机原理及应用A》第1次作业本次作业是本门课程本学期的第1次作业,注释如下:一、单项选择题(只有一个选项正确,共20道小题)1. bit的意义是。
(A) 字(B) 字节(C) 字长(D) 二进制位正确答案:D解答参考:2. 在机器数中,的零的表示形式是唯一的。
(A) 原码(B) 补码(C) 反码(D) 原码和反码正确答案:B解答参考:3. 微型计算机中运算器的主要功能是。
(A) 控制计算机的运行(B) 算术运算和逻辑运算(C) 分析指令并执行(D) 负责存取存储器中的数据正确答案:B解答参考:4. 在寄存器间接寻址方式中,操作数应该在中。
(A) 寄存器(B) 堆栈栈顶(C) 累加器(D) 存单元正确答案:D解答参考:5. 静态半导体存储器RAM 。
(A) 不需要动态刷新(B) 芯片部已有自动刷新逻辑(C) 断电后仍能保持容不变(D) 工作过程中存储容静止不变正确答案:A解答参考:6. 外设接口是位于之间的逻辑部件。
(A) CPU与系统总线(B) 系统总线与外部设备(C) 主存与CPU(D) 主存与外部设备正确答案:B解答参考:7. 在统一编址方式下,下面哪一个说确()(A) 一个具体地址只能对应输入输出设备(B) 一个具体地址只能对应存单元(C) 一个具体地址既可对应存单元又可对应输入输出设备(D) 一个具体地址只对应I/O设备或者只对应存单元正确答案:D解答参考:8. 下列指令正确的是________。
(A) IN AX, 1234H(B) XCHG BX, 0F000H(C) DATA DB 12H, 256(D) PUSH AX.正确答案:D解答参考:9. 下各指令的源操作数采用寄存器寻址方式的是_______。
(A) MOV AX,[BP](B) MOV DS,AX(C) MOV DI,0FF00H(D) MOV BX,[2100H]正确答案:B解答参考:10. 静态RAM的基本存储电路是________。
第三阶段作业一、填空题1.I/O接口信号分为数据信息、状态信息和(控制信息)等三类。
2.接口与外设间的数据传输则可分为2种情况(输入)与(输出)。
3.8255A根据端口选择信号A1、A0的组合把数据总线传送来的信息传送到相应的端口。
当A1A0=10时,选中(端口C)当A1A0=11时,选中(控制端口)4.8255 有3 种工作方式,,其中方式2 只允许(A)口使用。
5.在DMA控制下,每传送一个字节,地址寄存器(加1),字节计数器(减1),如此循环,直至计数器之值为0。
6.DMA控制器接管总线后进行DMA读操作,则对存储器进行(读操作)对外设进行(写操作)7.所谓“串行通信”是指数据是一位一位顺序传送的。
在串行通信中有两种基本的通信方式:即(同步通信和异步通信)8.RS-232C标准(协议)是美国EIA公布的通信协议。
它适合数据传输速率(0-20000b/s )范围内的通信,它要求DTE和DCE之间最大传输距离为(15m)。
9.近距离通信时,通信双方可直接连接,最简单的情况,只要使用(发送线)、(接收线)、(信号地线)等3根线便可实现全双工异步通信。
10.EISA在ISA的基础上,将数据总线宽度从(16)位变为(32)位11.描述PCI总线标准中定义了(32)位数据总线,可扩充到(64 )位。
12.局部总线可分为三种:专用局部总线、(VL)总线和(PCL)总线。
B设备可以即插即用,一旦设备USB的节点,就会产生被软件支持的一系列操作,来完成对设备的配置,这被称为(总线枚举)过程。
14.按键码的识别方式将键盘分(接触式)、(无触点式)两种,计算机中使用的主要是(接触式)。
15.除键盘抖动的方法主要有两种(硬件)、(软件)。
16.对于共阳极显示器而言,发光的相应段须接(底)电平才能有效。
17.共阴极显示器显示数字“2”,其对应的段码为(5BH)。
18.当前使用的CRT显示器主要是彩色显示器,包括(电子枪)和(显像管)部分。
第三次作业电科1001 刘兴达2010016404
有n个无符号字节数据,存放在100H开始的数据区buf中,试编程求其中“1”的个数,并存于500H开始字单元num中。
data1 segment …data‟;数据段
org 100H
buf db 25h,23,33,1,2,23, 1, 34, 56, 1, 2, 34
len db $-x1
org 500H
num dw ?
data1 ends
data1 segment;数据段
org 100H
buf db25h,23,33,1,2,23, 1, 34, 56, 1, 2, 34
len db$-buf
org 500H
num dw?
data1 ends
stack1 segment stack 'stack';堆栈段
SA VE DW 100 DUP(?)
stack1 ends
code segment'code';代码段
assume cs:code,ds:data1,ss:stack1
Begin: mov ax, data1 ;建立数据段
mov ds, ax
mov ax, stack1 ;建立堆栈段
mov ss, ax
mov bx,0
mov cl,len
xor ax,ax
lop:cmp buf[bx],1
jz next
jnz next2
next:add ax,1
jmp next2
next2:inc bx
loop lop
mov num,ax ;你的代码
code ends
end begin
在内存数据区buf中存有20个无符号字节数据,要求把其中的奇数、偶数分开,分别送至同一数据段的二个缓冲区,奇数缓冲区自100H开始的odd变量中,偶数缓冲区自200H开始的even变量中。
要求使用数据段定义变量。
data1 segment …data‟;数据段
buf db 25h,23,33,1,2,23, 1, 34, 56, 1, 2, 34,……….
org 100H
odd db 20 dup(?)
org 200H
even db 20 dup(?)
data1 ends
data1 segment;数据段
buf db25h,23,33,1,2,23, 1, 34, 56, 1, 2, 34,6,89,64,4,3,2,8,12.
org 100H
odd db 20 dup(?)
org 200H
eve db 20 dup(?)
a d
b 2
data1 ends
stack1 segment stack 'stack';堆栈段
SA VE DW 100 DUP(?)
stack1 ends
code segment'code';代码段
assume cs:code,ds:data1,ss:stack1
Begin: mov ax, data1 ;建立数据段
mov ds, ax
mov ax, stack1 ;建立堆栈段
mov ss, ax
mov bx,0
mov dx,0
mov cx,0
mov cl,20
lop:mov al,buf[bx]
cbw
div a
cmp ah,0
je next1
jne next2
next1:add cx,1
jmp next3
next2:add dx,1
jmp next3
next3:inc bx
loop lop
;你的代码code ends
end begin。