微机原理第三次作业

合集下载

【奥鹏】19春华师《微机原理》在线作业[第三套]答案

【奥鹏】19春华师《微机原理》在线作业[第三套]答案

【奥鹏】19春华师《微机原理》在线作业
试卷满分:100 试卷得分:100
一、单选题(共35题,70分)
1、中断向量表中存放:
A所有中断服务程序的入口地址
B转向中断服务程序的代码
C中断类型码
[仔细阅读以上试题,并作出选择]
正确选择:A
2、可以用什么信号作为地址锁存允许信号:
A/BHE
BALE
CDT/R/DEN
[仔细阅读以上试题,并作出选择]
正确选择:B
3、8086系统1M内存空间最多能分成多少个不同的段:A16个
B64K个
C256个
D20个
[仔细阅读以上试题,并作出选择]
正确选择:B
4、下列指令中,不正确的指令是____。

AMOV?[BX+SI],?AX
BMOV?AX,?[BX+SI]
CMOV?AX,????SI
DMOV?AX,?[BX+CX]
[仔细阅读以上试题,并作出选择]
正确选择:D
5、中断屏蔽寄存器的作用是:
A禁止外设向8259提出中断请求
B禁止8259相应的某级中断申请传向CPU
C禁止CPU响应8259提出的中断申请
D禁止优先级较高的中断申请
[仔细阅读以上试题,并作出选择]
正确选择:B
6、动态RAM的特点是____。

A速度高于静态RAM
B需刷新电路。

微机原理第三章作业答案

微机原理第三章作业答案

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⾮屏蔽中断响应流程图。

微机原理及应用课后答案

微机原理及应用课后答案
2、设X=C3H,Y=5AH。试计算:{(X或Y)与(X异或Y)}。
X = C3H = 1101 0011 B
Y =5AH = 0101 1010 B
{(X异或Y)与(X或Y)}= 1001 1001B = 99H
二、填空题:
1、512×4位的存储器分别需要9地址线和4数据线?8K×8位的存储器又分别需要13地址线和8数据线?
4.存储器或IO设备经缓冲后通过总线与CPU连接,且任一时刻只能有1个部件通过总线与CPU进行数据通讯,这是由器件中的三态门电路实现的。
5.8086从数据线上读取数据的时候,其引脚DT/R为低电平,将数据写入存储器或IO设备的时候,其引脚DT/R为高电平。
6.已知某微机控制系统中的RAM容量为4K×16位.首地址为4800H.其最后一个单元的地址为57FFH(=4800H+0FFFH),其所用数据线和地址线分别为16和12根。
答:所谓寻址方式,是指如何通过寻找内存操作数的地址寻找内存操作数。
Intel系列有七种寻址方式:
(一)立即寻址
(二)寄存器寻址
(三)直接寻址
(四)寄存器间接寻址
(五)寄存器相对寻址
(六)基址加变址寻址
(七)相对基址加变址寻址
18.计算325D的十六进制、二进制和BCD码的值。
325D=145H=101000101B=0011 0010 0101BCD
4.CPU内部16位地址寄存器如何寻址和访问CPU外部20根地址形成的1M地址空间?
答:用16位的段寄存器与16位的偏移量来解决这一问题,即各个段寄存器分别用来存放各段的初始地址。当由IP提供或EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址)后,将与左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。

微机原理及应用习题

微机原理及应用习题

下列寻址方式下的有效地 址EA和物理地址PA(注意:寄 存器和基址用BX,变址用DI)
(1)直接寻址 (2)寄存器间接寻址 (3)寄存器相对间接寻址
(4)变址寻址 (5)寄存器相对变址寻址 (6)基址加变址寻址
(7)基址加变址相对寻址
2、 判断下列指令是否正确?
(1)MOV AL,BX
(2)MOV AL,CL
4、已知x和y的二进制值,用加减交替法计算[x/y]原。
x =1000 y = 0010
5、已知x和y的二进制值,用恢复余数法计算[x/y]原。
x = 01001 y = 00010
6、已知x和y的二进制值,用补码一位乘法计算[x*y]补。
x= -0011 y= -0101
7、用浮点数运算步骤对下列数据进行二进制运算,浮点
574二进制数精确到小数后4位十六进制数精确到小数后1位2004年2月21011101410101001358743753写出下列十进制数的原码反码和补码用8位二进制数表示16531154用4位十六进制数写出下列十进制数的原码反码和补码112039995将下列带符号数用补码表示
微机原理及应用习题 2004年2月
四、第四次作业
1、已知一数段中的数据为
DATA segment
STR1
DB 0,1,2
STR2 DB “012”
COUNT EQU 30
NUMB DB 3 DUP(2) NUMW DW 10H,-60H
POIN DW 0
Data
ends
试画出数据段中的数据在存储器中存储的形式。
2、上题中,各变量的偏移地址与变量值 各是多少? 3、试写出执行下列指令序列后BX寄存器的内容,执行前 (BX)= 6D16H

微机原理作业三及答案

微机原理作业三及答案

一、选择题分析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。

微机原理作业与答案第三章

微机原理作业与答案第三章

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下列指令中存储器操作数地址的计数表达式。

微机原理与接口技术作业3

微机原理与接口技术作业3

一、单选题第1题(1分)你的得分:1若SS=3800H,SP=0100H,AX=905BH,执行指令PUSH AX后存放数据5BH的物理地址是【1】。

A. 380FEHB. 380FFHC. 38101HD. 38102H题目答案:A你的答案:A题目分析:执行指令PUSH AX应先使SP-2→SP,然后把AX的内容存放入(SP)及(SP+1)单元。

SP'→ 00FEH 5BH00FFH 90HSP → 0100H所以,存放5BH的单元物理地址为38000H+00FEH=380FEH。

第2题(1分)你的得分:1若SS=3800H,SP=0100H,AX=905BH,执行指令PUSH AX后存放数据90H的物理地址是【2】。

A. 380FEHB. 380FFHC. 38101HD. 38102H题目答案:B你的答案:B题目分析:执行指令PUSH AX应先使SP-2→SP,然后把AX的内容存放入(SP)及(SP+1)单元。

SP'→ 00FEH 5BH00FFH 90HSP → 0100H所以,存放90H的单元物理地址为38000H+00FFH=380FFH。

第3题(1分)你的得分:1将字变量BUF的内容送入SI寄存器的正确指令是【3】。

A. MOV SI,BUFB. MOV [SI],BUFC. MOV OFFSET BUF,SID. LEA SI,BUF题目答案:A你的答案:A题目分析:B. 错误,该指令把存储单元的内容送到存储单元。

C. 错误,目的操作数为立即数。

D. 错误,该指令取BUF的偏移地址到SI寄存器中,而不是取其内容到SI寄存器中。

第4题(1分)你的得分:1指令 LODSB 操作数的段地址一定在【4】寄存器中。

A. CSB. DSC. ESD. SS题目答案:B你的答案:B题目分析:指令 LODSB 操作数的段地址规定在DS寄存器中。

第5题(1分)你的得分:1指令“MOV AX,ES:[BP]”中的源操作数在当前【5】中。

微机原理与应用A(在线作业)

微机原理与应用A(在线作业)

《微机原理及应用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的基本存储电路是________。

微机原理第三次四次实验报告 徐丽娜 08011308

微机原理第三次四次实验报告  徐丽娜 08011308

微机原理第三次、四次实验报告徐丽娜 08011308东南大学《微机实验及课程设计》实验报告姓名:徐丽娜学号: 08011308 专业:自动化实验室:实验时间: 2021.4.16 报告时间: 2021.4.20 评定成绩:审阅教师:实验三TPC 装置系统,I/O 与存储器一. 实验目的与内容(概述)实验目的:1)了解掌握TPC 实验系统的基本原理和组成结构,学会测试检查TPC-PCI 总线转接卡地址;2)正确掌握I/O 地址译码电路的工作原理,学会动态调试程序DEBUG/TD 的直接I/O 操作方法;3)学会利用I/O 指令单步调试检查硬件接口功能,学会利用示波器检测I/O 指令执行时总线情况;4)进一步熟悉8086/8088 及PC 机的分段存储特性,了解存储器扩展原理,完成编程及测试。

实验内容:(1) 观察了解TPC-2021A 实验系统的基本原理和组成结构,测试基本单元电路功能,熟悉各部分辅助电路的使用;(2) 通过Win/XP 控制台硬件信息或测试程序检查TPC-PCI 总线转接卡地址,并记录;(3) 按图3.3-5 的I/O 地址译码测试参考电路连线,分析电路原理,分别利用动态调试程序直接I/O操作功能和单步功能测试;(4) 编程利用片选负脉冲控制指示灯(如L7)闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现;(5) 修改延时参数,使亮(约1秒)与灭的时间间隔分别为1 秒、5 秒和8 秒,记录延时程序对应参数 BX,CX。

二. 基本实验原理(或基本原理) (1) TPC扩展卡I/O和存储基地址PCI总线扩展卡将PCI总线转换为伪ISA总线信号,由于PCI总线结构支持即插即用(p&p)功能,每台微机分配给PCI扩展板的资源是动态浮动的,因此分配给设备的I/O基地址、存储器基地址空间及INT中断号会因不同的微机而有所变化,所以实验前需要确定当前微机中PCI卡的资源,并用其替换程序中的相应值,重新编译链接后才能实现实验效果。

微机原理作业参考答案(1,2,3章)

微机原理作业参考答案(1,2,3章)

微机原理作业参考答案第一次:P16 3,4,5,71.3 冯。

诺依曼计算机的结构特点是什么?答:参考P51.4 典型微机有哪三大总线?它们传送的是什么信息?答:有数据总线(DB,双向,传送数据),地址总线(AB,单向,传送CPU要访问的内存单元地址或IO端口的端口号),控制总线(CB,双向,传送总线控制信息)。

1.5 什么叫微处理器?什么叫微型计算机?什么叫微型计算机系统?三者有什么区别和联系?答:微型计算机系统可分为三个层次,即:微处理器,微型计算机和微型计算机系统。

微处理器即CPU,是一片主要包含运算器、控制器、寄存器组和总线访问逻辑电路的芯片;微型计算机是以微处理器为核心,配上存储器(ROM、RAM)、I/O接口电路及系统总线等所组成的计算机;以微型计算机为中心,配以相应的外围设备以及控制微型计算机工作的软件,就构成了完整的微型计算机系统。

1.7 试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?答:内存单元、内存单元的地址、内存单元的内容---这三个名词可类比为:房子、房子的地址、房子里住的人。

也就是说,内存单元是物理器件,8086CPU有二十根地址线,最多可访问1M(2^20)个内存单元。

内存单元按顺序被分配一个地址---第一个单元:0,第二个单元:1...最后一个单元:FFFFFH(或1048575D)。

每个内存单元可存储一个字节的数据。

图略,参考P7。

第二次作业:P54 1,2,3,6,7,9,11,132.1 8086从功能上分为哪两个部件?每个工作部件的功能、组成和特点分别是什么?答:分为执行部件(EU)和总线功能部件(BIU)两部分。

EU功能:执行算术/逻辑命令。

BIU功能:访问内存或I/O端口,从中读/写数据和读指令。

EU组成:ALU、EU控制器、寄存器组(通用、指针变址、标志)BIU组成:指令队列、总线控制逻辑、物理地址生成逻辑(地址加法器、段寄存器、IP)EU、BIU的特点和更详细的功能说明:参考P19。

微机原理及应用第三次作业12.28

微机原理及应用第三次作业12.28

第三阶段作业一、填空题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显示器主要是彩色显示器,包括(电子枪)和(显像管)部分。

北京邮电大学微机原理与接口技术阶段作业3

北京邮电大学微机原理与接口技术阶段作业3
[B;] 案: 得分: [5] 提示:
试题分 5.0
值:
13.
14. 为了使 MOV AX,VAR 指令执行后,AX 寄存器中的内容为 4142H, 下面哪一种数据定义会产生不正确的结果_____ A. VAR DW 4142H B. VAR DW 16706 C. VAR DB 42H,41H D. VAR DB 41H,42H
JZ NEXT
D. OR BL, 4FH
JZ NEXT
知识点: 单元 4 习题 学生答
[B;] 案: 得分: [5] 提示:
试题分 5.0
值:
28.
29. 零地址运算指令在指令格式中不给出操作数地址,因此它的操 作数可以来自______。 A. 立即数和栈顶 B. 栈顶和次栈顶 C. 暂存器和栈顶 D. 寄存器和内存单元
知识点: 单元 4 习题 学生答
[B;] 案: 得分: [5] 提示:
试题分 5.0
值:
36.
37. SKY: MOV AL,20H 中操作数为_____ A. MOV B. SKY C. AL 或 20H D. AL 和 20H
知识点: 单元 4 习题 学生答
[D;] 案: 得分: [5] 提示:
知识点: 单元 4 习题 学生答
[B;] 案: 得分: [5] 提示:
试题分 5.0
值:
26.
27. 测试 BL 寄存器内容是否与数据 4FH 相等,若相等则转 NEXT 处 执行,可实现的方法是____ A. TEST BL, 4FH
JZ NEXT
B. XOR BL, 4FH
JZ NEXT
C. AND BL, 4FH
一、单项选择题(共 20 道小题,共 100.0 分)

微机原理试题作业3(答案)

微机原理试题作业3(答案)

作业3(请同学们作业时,不要改变题号、字体及答案的颜色,仅修改表内答案字母)一、判断题[30分](在表格内填空,正确填A,错误填B请不要改变字体的颜色)1.不同指令的指令周期是等长的。

2.8086CPU 在响应中断时,执行叁个中断响应周期3.若SS=5310H,SP=0E30H,其物理地址为(53F30H)。

4.8086中断系统分为硬件中断和软件中断两类.5.若CH=07H,CL=08H,执行指令ADD CH,CL后,AF=( 0),CF=(0 ),OF=(0 ),PF=(1 )。

6.指令由(操作码) 和(操作数) 两个字段构成。

7.条件转移指令JNE的测试条件是(ZF=0 )。

8.若用指针(BP)访问存储器,则数据包含在(SS) 段中。

9.若AX=1234H,SP=1000H,指令PUSH AX执行后AX=( 1234H),SP=(0FFEH ) 。

10. 指令采用(立即)寻址方式时操作数是在代码段中。

11. 程序中的转移指令、返回指令以及中断处理都能对 CS 、 IP 进行操作。

12. SRAM 电源撤除,信息不会丢失。

13.MOV [ DI ][ SI ]14.DMA 是一种不需要 CPU 介入的高速数据传送方式。

15.8086 的中断系统中有两类硬中断:可屏蔽中断和软中断。

二、选择题[60分](在表格内填写正确答案的大写字母,请不要改变字体的颜色,当有多个A时,表示是多选题)1.程序中数据定义如下:DATA1 DW ?DATA2 DB 32 DUP(?)DATA3 DD ?COUNT EQU $-DATA1此时COUNT 的值是( C)。

(A) 19 (B) 39 (C) 38 (D) 372.执行下列程序段后:BUF DB 01H……XOR AL,ALMOV AL,BUFMOV BL,ALSAL AL,1ADD AL,BLXOR AL,0FFHHLT寄存器AL的值是多少?寄存器BL的值是多少?C(A) ①AL=0FFH ②BL=1(B) ①AL=0FCH ②BL=2(C)①AL=0FCH ②BL=1(D)①AL=0ECH ②BL=13.写出下列程序段的功能CMOV BX,2000HMOV DS,BXXOR AL,ALMOV CX,100AGAIN: MOV [BX],ALLOOP AGAIN(A) 数据段中以0100H起始的100个单元中的内容置1(B) 数据段中以0100H起始的100个单元中的内容清零(C)数据段中以2000H起始的64H个单元中的内容清零(D)数据段中以2000H起始的200个单元中的内容清零4.写出下列程序段的功能CLEA SI,BUFFERLEA DI,ARRAYMOV CX,100XOR BL,BLLP: CMP [SI],01HJNZ LP1INC BLLP1:INC SILOOP LPMOV [DI],BL(A) 统计以ARRAY为首址的100个单元中数字为1的个数存入BUFFER单元(B) 统计以ARRAY为首址的64H个单元中数字为1的个数存入BUFFER单元(C)统计以BUFFER为首址的100个单元中数字为1的个数存入ARRAY单元(D)统计以BUFFER为首址的100个单元中数字为0的个数存入ARRAY单元5.写出下列程序段的功能 DMOV CX,16MOV AX,NMOV BH,0LP0: SHL AX,1INC BHLP: LOOP LP0MOV SUM,BH(A) 统计CX字中0的个数(B) 统计CX字中1的个数(C)统计N字中1的个数(D)统计N字中0的个数6.写出下列程序段的功能 BMOV AL,NAND AL,0FHMOV BL,ALMOV AL,NSHR AL,4MOV BH,AL(A) 将将N的内容拆为两部分分别存入AL,BL中(B) 将N的内容拆为两部分分别存入BH,BL中(C)将N的内容拆为两部分分别存入BH,AL中(D)将N的内容拆为两部分分别存入AH,BL中7.执行下列程序段后,AX=? AMOV AX,0702HMOV BH,09HAADDIV BH(A) AX=0008H(B) AX=0009H(C) AX=0007H(D) AX=0006H8.下面程序段执行后AL=? DABC DW 2152H,3416H,5731H,4684H MOV BX,OFFSET ABCMOV AL,3XLAT(A) AL=16H(B) AL=52H(C) AL=67H(D) AL=34H9.执行下面的程序段后AX=? B MOV CX,5MOV AX,50NEXT: SUB AX,CXLOOP NEXTHLT(A) AX=22H(B) AX=23H(C) AX=33H(D) AX=21H10.执行下面的程序段后 AX=? D TAB DW 1,2,3,4,5,6ENTRY EQU 6MOV BX,OFFSET TABADD BX,ENTRYMOV AX,[BX](A) AX=0006H(B) AX=0001H(C) AX=0002H(D) AX=0004H11.执行下面程序段后 AX= AARRAY DW 1,2,3,4,5,6,7,8,9,10 COUNT EQU $-ARRAYXOR AX,AXMOV CX,COUNTMOV SI,OFFSET ARRAYNEXT:ADD AX,[SI]INC SILOOP NEXT(A) AX=0055H(B) AX=0555H(C) AX=5555H(D) AX=0005H12.写出下列程序段的功能 CMOV AH,1INT 21HAND AL,0FHMOV BL,ALMOV AH,1INT 21HSHL AL,4AND AL,BL将从键盘接受到的两个字符拼在一起(A) 将从键盘接受到的1个字符拼在一起(B)将从键盘接受到的叁个字符拼在一起(C)将从键盘接受到的两个字符拼在一起(D)将从显示接受到的两个字符拼在一起13.执行下列程序段后 AN DB 07HXOR BH,BHMOV BL,NRCL BL,1ADD BH,BLXOR BH,0FFHHLT寄存器BH的值是() ,寄存器BL的值是() 。

微机原理作业及答案

微机原理作业及答案

10050
10051
10052
0
0
MOV AX,1000H MOV DS, AX MOV SI, 50H MOV AL,[SI] AND AL, 0FH MOV [SI+1],AL MOV AL,[SI] MOV CL,4 SHR AL, CL MOV [SI+2],AL
附段地址
取10050H地址的值
答:0B7H循环右移2位:(BX)=C02D H
6、指出下面程序段的功能 CLD LEA DI, [1200H] MOV CX, 0F00H XOR AX, AX REP STOSW
功能:从有效地址为1200H的内存单元开始,开辟F00H个内存单元 存放0(清除从1200H开始的F00H(3840)单元的内容)
比较AX,BX大小,结果反映到标志寄存器中
带符号比较指令,如果AX>BX,转到NEXT
如果AX<BX,交换内容
寄存器内容取反
分析:(AX)=4567H为正数,(BX)=9ABCH为负数,JG成立,转向 NEXT,此时取反(AX)=BA98H,(BX)不变,即(BX)=9ABCH
4、编写一段程序,把BUFFER开始的200个字节的内存初始化 66H、0FAH、66H、0FAH、…、66H、0FAH。
初 始 化
循环主体
循环控制
6、从数据段BUF单元开始存放一个32位数。下面子程序的功能是统计该数中含“1”的个数,并将结果存入RSLT字节单元。试在空白处填上适当的内容,保证程序的正确性。
XHZY PROC FAR PUSH AX PUSH DX MOV AX, BUF MOV DX, BUF+2 MOV CX, 32 LP: SHL AX, __ RCL DX,__

上海交大网络教育_微机原理三次作业及自测题汇总

上海交大网络教育_微机原理三次作业及自测题汇总

微机第一次作业1、11000110为二进制补码,该数的真值为(B )。

a. +58b. -58c. -198d. +1982、16个字数据存储区的首址为70A0H:DDF6H,末字单元的物理地址为( C )。

a. 7E816Hb. 7E7F8Hc. 7E814Hd. 7E7F6H3、8位二进制数的原码表示范围为( A )。

a. -127 ~+127b. 0 ~255c. -128 ~+128d. -128 ~+1274、完整的计算机系统应包括(B )。

a. 运算器、控制器、存储器b. 硬件设备和软件系统c. 主机和外部设备d. 主机和应用程序5、存储字长是指(B )。

a. 以上都是b. 存储单元中二进制代码个数c. 存储单元的个数d. 存储单元中二进制代码组合6、运算器执行两个补码表示的整数加法时,产生溢出的正确叙述为(C )。

a. 相加结果的符号位为1则产生溢出b. 最高位有进位则产生溢出c. 相加结果的符号位与两同号加数的符号位相反则产生溢出d. 相加结果的符号位为0则产生溢出7、堆栈存储器存取数据的方式是(A )。

a. 先进后出b. 都可以c. 随机存取d. 先进先出8、下列数中最小的数是(D )。

a. (97)10b. (62)16c. (142)8d. (1011011)29、程序计数器PC的作用是(B )。

a. 保存CPU要访问的内存单元地址b. 保存将要执行的下一条指令的地址c. 保存正在执行的一条指令d. 保存运算器运算结果内容10、若某CPU具有64GB的寻址能力,则该CPU的地址总线宽度为(A )。

a. 36b. 64c. 32d. 2411、8086系统中,每个逻辑段的最多存储单元数为(D)。

a. 1MBb. 256Bc. 根据需要而定d. 64KB12、在机器数(C )中,零的表示形式是惟一的。

a. 原码b. 反码c. 补码d. 原码和反码13、指令队列具有(B )的作用。

微机原理上机答案(西电)

微机原理上机答案(西电)

微机原理上机答案(西电)上机作业(三)编写如下程序,并在机器上调试成功。

程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为:(1)按下“1”键,完成字符串小写字母变成大写字母。

用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。

用户按任一键,重做,按ESC键,返回主菜单。

(2)按下“2”键,完成找最大值(二选一)。

a.接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来;b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

(3)按下“3”键,完成排序(二选一)。

a.接收用户输入的可显示字符串,以回车结束。

程序按ASCII码值大小由大到小排序并输出显示;b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。

用户按任一键,重做,按ESC键,返回主菜单。

(4)按下“4”键,显示时间。

首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为:XX(时): XX(分): XX(秒)最好定点显示。

用户按任一键,重新对时,按ESC键,返回主菜单。

(5)按下“5”键,结束程序运行,返回系统提示符。

程序代码:STACK SEGMENT STACKDB 256 DUP(?)TOP LABEL WORDSTACK ENDSDA TA SEGMENTTABLE DW G1, G2, G3, G4, G5STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$'STRING3 DB '3. Sort for datas;', 0DH, 0AH, '$'STRING4 DB '4. Show Time;', 0DH, 0AH, '$'STRING5 DB '5. Exit.', 0DH, 0AH, '$'STRINGN DB 'Input the number you select (1-5) : $'IN_STR DB 'Input the string (including letters & numbers, less than 60 letters) :', 0DH, 0AH, '$' PRESTR DB 'Original string : $'NEWSTR DB 'New string : $'OUT_STR DB 'The string is $'MAXCHR DB 'The maximum is $'IN_NUM DB 'Input the numbers (0 - 255, no more than 20 numbers) : ', 0DH, 0AH, '$' OUT_NUM DB 'Sorted numbers : ', 0DH, 0AH, '$'IN_TIM DB 'Correct the time (HH:MM:SS) : $'HINTSTR DB 'Press ESC, go back to the menu; or press any key to play again!$' KEYBUF DB 61DB ?DB 61 DUP (?)NUMBUF DB ?DB 20 DUP (?)DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV SP, OFFSET TOPMAIN: CALL FAR PTR MENU ; 设置显示器AGAIN:MOV AH, 2MOV BH, 0 ; 页号MOV DL, 41 ; 列号MOV DH, 10 ; 行号INT 10H ; 光标位置设置MOV AH, 1INT 21HCMP AL, '1'JB AGAINCMP AL, '5'JA AGAINSUB AL, '1' ; N-1SHL AL, 1 ; (N-1)*2CBW ; AL->AXLEA BX, TABLEADD BX, AXJMP WORD PTR [BX]G1:CALL FAR PTR CHGLTRMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G1G2:CALL FAR PTR MAXLTRMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G2G3:CALL FAR PTR SORTNUMMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G3G4:CALL FAR PTR TIMCHKMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G4G5:MOV AH, 4CHINT 21HMENU PROC FAR ; 显示主界面;设置显示器方式MOV AH, 0MOV AL, 3;MOV BL, 0;INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 5 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRING1INT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 6 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRING2INT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 7 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRING3INT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 8 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRING4INT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 9 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRING5INT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 10 ; 行号INT 10H ; 光标位置设置MOV AH, 9LEA DX, STRINGNINT 21HRETMENU ENDPCHGLTR PROC FAR ; 将输入字符串中小写字母便换成大写字母RECHG:;设置显示器方式MOV AH, 0MOV AL, 3MOV BL, 0INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 5 ; 行号INT 10H ; 输入提示光标位置设置MOV AH, 9LEA DX, IN_STRINT 21H ; 输入字符串提示MOV AH, 2MOV DL, 5 ; 列号MOV DH, 6 ; 行号INT 10H ; 输入字符串光标位置设置MOV AH, 0AHLEA DX, KEYBUFINT 21H ; 输入字符串CMP KEYBUF + 1, 0JZ RECHG ; 判断输入字符串是否为空串LEA BX, KEYBUF + 2MOV AL, KEYBUF + 1CBWMOV CX, AXADD BX, AXMOV BYTE PTR [BX], '$' ; 在输入字符串尾加结束标志$MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 7 ; 行号INT 10H ; 源字符串提示光标位置设置MOV AH, 9LEA DX, PRESTRINT 21H ; 输出源字符串提示MOV AH, 9LEA DX, KEYBUF + 2INT 21H ; 输出源字符串LEA BX, KEYBUF + 2LCHG:CMP BYTE PTR [BX], 61HJB NOCHGAND BYTE PTR [BX], 0DFHNOCHG:INC BXLOOP LCHG ; 将字符串中小写字母转换成大写字母MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 8 ; 行号INT 10H ; 新字符串提示光标位置设置MOV AH, 9LEA DX, NEWSTRINT 21H ; 输出新字符串提示MOV AH, 9LEA DX, KEYBUF + 2INT 21H ; 输出新字符串MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 9 ; 行号INT 10H ; 提示信息光标位置设置MOV AH, 9LEA DX, HINTSTRINT 21H ; 输出提示信息RETCHGLTR ENDPMAXLTR PROC FAR ; 在输入字符串中找出最大值REMAX:;设置显示器方式MOV AH, 0MOV AL, 3MOV BL, 0INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 5 ; 行号INT 10H ; 输入提示光标位置设置MOV AH, 9LEA DX, IN_STRINT 21H ; 输入字符串提示MOV AH, 2MOV DL, 5 ; 列号MOV DH, 6 ; 行号INT 10H ; 输入字符串光标位置设置MOV AH, 0AHLEA DX, KEYBUFINT 21H ; 输入字符串CMP KEYBUF + 1, 0JZ REMAX ; 判断输入字符串是否为空串LEA BX, KEYBUF + 2MOV AL, KEYBUF + 1CBWMOV CX, AXADD BX, AXMOV BYTE PTR [BX], '$' ; 在输入字符串位加结束标志$MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 7 ; 行号INT 10H ; 源字符串提示光标位置设置MOV AH, 9LEA DX, OUT_STRINT 21H ; 输出字符串提示MOV AH, 9LEA DX, KEYBUF + 2INT 21H ; 输出字符串MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 8 ; 行号INT 10H ; 新字符串提示光标位置设置MOV AH, 9LEA DX, MAXCHRINT 21H ; 输出字符串中最大值提示MOV DL, 0LEA BX, KEYBUF + 2LCMP:CMP [BX], DLJB NOLCHGMOV DL, [BX]NOLCHG:INC BXLOOP LCMP ; 找出字符串中最大字符,放入DLMOV AH, 2INT 21H ; 输出字符串中最大字符MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 9 ; 行号INT 10H ; 提示信息光标位置设置MOV AH, 9LEA DX, HINTSTRINT 21H ; 输出提示信息RETMAXLTR ENDPSORTNUM PROC FAR ; 对输入数据组排序RESORT:;设置显示器方式MOV AH, 0MOV BL, 0INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 5 ; 行号INT 10H ; 输入提示光标位置设置MOV AH, 9LEA DX, IN_NUMINT 21HMOV AH, 2MOV DL, 5 ; 列号MOV DH, 6 ; 行号INT 10H ; 输入数据组光标位置设置MOV AH, 0AHLEA DX, KEYBUFINT 21H ; 输入数据组字符串CALL CIN_INT ; 字符串转换成数据串CMP AL, 0JZ RESORT ; 判断数据串是否有错CMP NUMBUF, 0JZ RESORT ; 判断数据串是否为空MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 7 ; 行号INT 10H ; 输出提示光标位置设置MOV AH, 9LEA DX, OUT_NUMINT 21H ; 输出数据串提示MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 8 ; 行号INT 10H ; 输出数据组光标位置设置CALL FAR PTR MPSORT ; 数据组排序CALL FAR PTR INT_OUT ; 数据组的输出MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 9 ; 行号INT 10H ; 提示信息光标位置设置MOV AH, 9LEA DX, HINTSTRINT 21H ; 输出提示信息RETSORTNUM ENDPCIN_INT PROC NEAR ; 读入整型数; 入口参数:无; 出口参数为:AL(有无错误标志,0为有,1为无)MOV CL, KEYBUF + 1LEA SI, KEYBUF + 2MOV CH, 0 ; 数据组数据个数置0MOV DH, 10MOV AL, 0 ; 当前数据x=0MOV DL, 0 ; 有无数据标志置0,即无数据FNDNUM:CMP BYTE PTR [SI], ' 'JZ ADDNUM ; 判断当前字符是否为空格CMP BYTE PTR [SI], '0'JB ERRNUMCMP BYTE PTR [SI], '9'JA ERRNUM ; 判断当前字符是否在'0'-'9'之间MOV DL, 1 ; 有无数据标志置1,即有数据MUL DHXOR BH, BHMOV BL, [SI]ADD AX, BXSUB AX, '0' ; 计算出当前数据xCMP AH, 0JA ERRNUM ; 判断x是否越界JMP NEXTADDNUM:CMP DL, 1JNZ NEXT ; 判断是否有数据INC CH ; 数据组数据个数加1CALL ADDNEWMOV DL, 0MOV AL, 0 ; 清零NEXT:INC SIDEC CLCMP CL, 0JNZ FNDNUM ; 依次检查各字符CMP DL, 1JNZ TOTAL ; 判断是否有未加入的数据INC CHCALL ADDNEWTOTAL:MOV NUMBUF, CH ; 置数据组数据个数MOV AL, 1 ; 输入数据无错误JMP CRTNUMERRNUM:MOV AL, 0 ; 输入数据有错误CRTNUM:RETCIN_INT ENDPADDNEW PROC NEAR ; 增加新数; 入口参数:CH(数据组数据个数)、AL(当前数据x); 出口参数:无PUSH AXLEA BX, NUMBUFMOV AL, CHCBWADD BX, AXPOP AXMOV [BX], ALRETADDNEW ENDPMPSORT PROC FAR ; 数据组排序MOV AL, NUMBUFCMP AL, 1JBE NOSORT ; 若只有一个元素,停止排序CBWMOV CX, AXLEA SI, NUMBUF ; SI指向数据组首地址ADD SI, CX ; SI指向数据组末地址DEC CX ; 外循环次数LP1: ; 外循环开始PUSH CXPUSH SIMOV DL, 0 ; 交换标志置0LP2: ; 内循环开始MOV AL, [SI]CMP AL, [SI - 1]JAE NOXCHGXCHG AL, [SI - 1] ; 交换操作MOV [SI], ALMOV DL, 1 ; 交换标志置1 NOXCHG:DEC SILOOP LP2POP SIPOP CXCMP DL, 1JNZ NOSORT ; 判断交换标志LOOP LP1NOSORT:RETMPSORT E NDPINT_OUT PROC FAR ; 输出数据组MOV AL, NUMBUFCBWMOV CX, AXMOV BL, 10HLEA SI, NUMBUF + 1PRINT:MOV AL, [SI]CALL OUTNUMINC SIMOV AH, 2MOV DL, ' 'INT 21HLOOP PRINTRETINT_OUT ENDPOUTNUM PROC NEAR ; 将十进制数以十六进制输出; 入口参数:AL(待转换的数据),BL(转换进制数16); 出口参数:无MOV AH, 0DIV BLPUSH AXCMP AH, 10JB PNUMADD AH, 7PNUM: ADD AH, 30HMOV DL, AHPOP AXPUSH DXCMP AL, 0JZ OUTNCALL OUTNUMOUTN:POP DXMOV AH, 2INT 21HRETOUTNUM ENDPTIMCHK PROC FAR ; 设定并显示时间;设置显示器方式MOV AH, 0MOV AL, 3;MOV BL, 0;INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 5 ; 列号MOV DH, 6 ; 行号INT 10H ; 设置提示光标位置设置MOV AH, 9LEA DX, IN_TIMINT 21H ; 时间串提示MOV AH, 0AHLEA DX, KEYBUFINT 21H ; 输入时间串MOV BL, 10MOV AL, KEYBUF + 2SUB AL, '0'MUL BLADD AL, KEYBUF + 3SUB AL, '0'CMP AL, 0JB INV ALIDCMP AL, 24JAE INV ALID ; 判断时有效性MOV CH, ALMOV AL, KEYBUF + 5SUB AL, '0'MUL BLADD AL, KEYBUF + 6SUB AL, '0'CMP AL, 0JB INV ALIDCMP AL, 60JAE INV ALID ; 判断分有效性MOV CL, ALMOV AL, KEYBUF + 8SUB AL, '0'MUL BLADD AL, KEYBUF + 9SUB AL, '0'CMP AL, 0JB INV ALIDCMP AL, 60JAE INV ALID ; 判断秒有效性MOV DH, ALMOV DL, 0MOV AH, 2DHINT 21H ; 置系统时间INV ALID:CALL TIMERETTIMCHK ENDPTIME PROC ; 显示时间子程序;设置显示器方式MOV AH, 0MOV AL, 3;MOV BL, 0;INT 10H ; 清屏MOV AH, 2MOV BH, 0 ; 页号MOV DL, 10 ; 列号MOV DH, 9 ; 行号INT 10H ; 提示信息光标位置设置MOV AH, 9LEA DX, HINTSTRINT 21H ; 输出提示信息DISP1:MOV AH, 2MOV BH, 0 ; 页号MOV DL, 72 ; 列号MOV DH, 0 ; 行号INT 10H ; 提示光标位置设置MOV AH, 2CH ; 取系统时间,CH,CL,DH分别存放时/分/秒INT 21HMOV AL, CH ; 显示时CALL SHOWNUMMOV AH, 2MOV DL, ':'INT 21HMOV AL, CL ; 显示分CALL SHOWNUMMOV AH, 2MOV DL, ':'INT 21HMOV AL, DH ; 显示: 秒CALL SHOWNUMMOV AH,02H ; 设置光标位置MOV DX,090AHMOV BH,0INT 10HMOV BX,0018HRE: MOV CX,0FFFFH ; 延时REA: LOOP READEC BXJNZ REMOV AH, 0BH ; 或MOV AH, 01HINT 21H ; INT 16HCMP AL, 0 ; JE DISP1JZ DISP1 ; 检查键盘状态RETTIME ENDPSHOWNUM PROC ; 把AL中的数字以十进制输出; 入口参数:AL(待显示的数据); 出口参数:无CBWPUSH CXPUSH DXMOV CL, 10DIV CLADD AH, '0'MOV BH, AHADD AL, '0'MOV AH, 2MOV DL, ALINT 21HMOV DL, BHINT 21HPOP DXPOP CXRETSHOWNUM ENDPCODE ENDSEND START五、实验结果运行程序。

star es8086使用说明

star es8086使用说明

实验内容:微机原理第三次上机实验班级:通信1702 姓名:余昕海学号: 0905170214STAR ES80864 软件实验软件实验部分共有七个实验组成,通过对这些实验程序的编写、调试,使学生熟悉8086/8088的指令系统等,了解程序设计过程,掌握汇编程序、C程序设计方法以及如何使用实验系统提供的各种调试、分析手段来排除程序错误。

实验一数据传送一、实验目的熟悉星研集成环境软件的使用方法。

熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。

二、实验内容1、熟悉星研集成环境软件。

2、编写程序,实现数据段的传送、校验。

三、程序框图数据传送子程序数据块传送比较程序框图四、实验步骤在DS段内3000H~30FFH中输入数据;使用单步、断点方式调试程序,检测DS段内6000H ~60FFH中的内容。

熟悉查看特殊功能寄存器、CS段、DS段的各种方法。

五、程序清单_STACK SEGMENT STACKDW 100 DUP(?)_STACK ENDS_DATA SEGMENT WORD PUBLIC 'DATA'_DATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:_DATA, SS:_STACKMOV AX,_DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DI,6000HCALL MoveMOV CX,100HMOV SI,3000HMOV DI,6000HCLDREPE CMPSBJNE ERRORTRUE: JMP $ERROR: JMP $Move PROC NEARCLDCMP SI,DIJZ ReturnJNB Move1ADD SI,CXDEC SIADD DI,CXDEC DISTDMove1: REP MOVSBReturn: RETMove ENDPSTART ENDPCODE ENDSEND START实验运行情况:实验二双字节BCD码(十进制数)加法一、实验目的熟悉8086汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码,了解如何调用系统提供的子程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档