微机原理与应用第四章 习题

合集下载

微机原理习题解答第四章-

微机原理习题解答第四章-

第四章1.在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL,10HMOV CX,1000HMOV BX,2000HMOV [CX],ALXCHG CX,BXMOV DH,[BX]MOV DL,01HXCHG CX,BXMOV [BX],DLHLT解:寄存器及存储单元的内容如下:AL=10HBL=00HBH=20HCL=00HCH=10HDL=01HDH=10H(1000H=10H(2000H=01H2.要求同题4.1,程序如下:MOV AL,50HMOV BP,1000HMOV BX,2000HMOV [BP],ALMOV DH,20HMOV [BX],DHMOV DL,01HMOV DL,[BX]MOV CX,3000HHLT解:寄存器及存储单元的内容如下: BL=00HBH=20HCL=00HCH=30HDL=20HDH=20HBP=1000H(1000H=50H(2000H=20H3.自1000H单元开始有一个100个数的数据块,若要把它传送到自2000H开始的存储区中去,可以采用以下三种方法实现,试分别编写程序以实现数据块的传送。

(1不用数据块传送指令。

(2用单个传送的数据块传送指令。

(3用数据块成组传送指令。

解:(1LEA SI,1000HLEA DI,2000HMOV CX,100L1: MOV AX,[SI]MOV [DI],AXLOOP L1HLT(2LEA SI,1000HLEA DI,2000HMOV CX,100CLDL1:MOVSBLOOP L1HLT(3LEA SI,1000HLEA DI,2000HMOV CX,100CLDREP MOVSBHLT6.编写一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:数据区有重叠。

解:LEA SI,1000HLEA DI,1050HADD SI,63HADD DI,63HMOV CX,100STDREP MOVSBHLT7.自0500H单元开始,存放着100个数。

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

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

微机原理作业与答案第四章第四章汇编语⾔程序设计4-2 下列程序执⾏后,寄存器AX,BX,CX的内容分别是多少?ORG 0202HDA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202H (BX)=0,这是书中的参考答案MOV CL,BYTE PTR DA_WORD ;(CL)=20H(因PTR,则字的第⼀字节)MOV CH,TYPE DA_WORD ;(CH)=2(变量类型数值);(CX)=0220H4-4 试编制⼀程序(不是程序段),把CHAR1中各⼩写字母分别转换为对应的⼤写字母,并存放在CHAR2开始的单元中DDD0 SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1;变量必须先定义后使⽤,⽽不能相反CHAR2 DB N DUP(0);不能把此句与上⼀句对调DDD0 ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)CSEG SEGMENTASSUME CS:CSEG,DS:DDD0,SS:STACK START: MOV AX,DDD0 MOV DS,AX ;MOV DX,AXMOV ES,AX ;只要SI,DI都⽤MOV SI,0 ;LEA SI,CHAR1MOV DI,0 ;LEA DI,CHAR2MOV CX,NAGAIN: MOV AL,CHAR1[SI] ; MOV AL,[SI]SUB AL,20HMOV CHAR2[DI],AL ; MOV [DI],ALMOV DL,AL ;不是必须的,但做实验是有⽤的。

MOV AH,2INC SIINC DI LOOP AGAINMOV AH,4CHINT 21H ;不是必须的CSEG ENDSEND START第⼆种⽅法:DDD0 SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1CHAR2 DB N DUP(0) DDD0 ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)CSEG SEGMENTASSUME CS:CSEG,DS:DDD0,SS:STACKSTART: MOV AX,DDD0 MOV DS,AXMOV ES,AXLEA SI,CHAR1LEA DI,CHAR2MOV CX,NCLD ;不写(隐含)也是0(递增)但不能STDAGAIN: LODSB ;执⾏⼀次,隐含修改SISUB AL,32stosb ;MOV [DI],AL;执⾏⼀次, 隐含修改DInop ;INC DILOOP AGAIN ;LOOP指令只修改CX,不管SI,DIMOV AH,4CHINT 21H ;不是必须的CSEG ENDSEND START4-6在BUF地址处起,存放有100个字节的字符串,设其中有⼀个以上的“A”字符,编程查找出第⼀个“A”字符相对起始地址的距离,并将其存⼊LEN单元。

微机原理第四章课后习题答案

微机原理第四章课后习题答案

第四章课后作业(6—27)6.试按下列要求分别编制程序段。

(1)把标志寄存器中符号位SF置“1”。

(2)寄存器AL中高、低四位互换。

(3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位),试求这个数的负数。

(4)现有三个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下,实现(A)+(B) C。

(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1 形成奇数)。

答:(1) LAHFOR AH,80HSAHF(2) MOV CL,4ROL AL,CL(3) MOV CX,0NEG BXJC CHGJMP GOCHG: MOV CX,1GO: NEG AXSUB AX,CX(4) MOV CL,AMOV AL,BMOV X,ALCHECK:INC XDEC CLJNZ CHECK(5) OR CX,0001H7.试给出下列各指令的机器目标代码。

(1)MOV BL,12H [SI](2)MOV 12H [SI],BL(3)SAL DX,1(4)AND 0ABH [BP] [DI],1234H答:(1)100010 1 0 01 011 100 00010010=8A5C12H(2)100010 0 0 01 011 100 00010010=885C12H(3)110100 0 1 11 100 010=0D1E2H(4)100000 0 1 10 100 011 10101011 00000000 00110100 00010010=81A3AB003412H8.执行下列指令:STR1 DW ‘AB’STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT执行完成之后,寄存器CL的值是多少?寄存器AX的值是多少?答:因为CNT=16+2=18,所以CX=18=0012H,所以CL=12H=0001,0010;AX中装入的是‘AB’的ASCII码值,其中‘A’在高位AH中,‘B’在低位AL 中,所以AX=4142H=0100,0001,0100,0010。

微机原理第四章练习题及解

微机原理第四章练习题及解

微机原理第四章练习题及解一:单项选择题●汇编源程序文件的扩展名是( C )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●源程序文件汇编后的目标文件的扩展名是( B )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●目标文件连接后的可执行文件的扩展名是( D )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●下列可作为标识符用的字符串是( C )。

A:MOV B:ZF C:FAH D:PTR●下列为寄存器名的字符串是( B )。

A:ZP B:BP C:AP D:CP●下列为状态标志的字符串是( A )。

A:ZP B:BF C:DF D:TF●下列为控标志的字符串是( D )。

A:ZP B:SF C:OF D:TF●下列为指令助记符的字符串是( C )。

A:ADCC B:AAAA C:SUB D:POOP●下列为运算符的字符串是( B )。

A:ADC B:PTR C:OAG D:LOOP●定义字类型的伪指令符是( B )。

A:DB B:DW C:DD D:DQ●说明字节类型的伪指令符是( C )。

A:WORD B:DWORD C:BYTE D:SHOR●返回变量段属性的伪指令符是( B )。

A:OFFSET B:SEG C:TYPE D:SIZE●定义过程结束的伪指令符是( C )。

A:END B:ENDS C:ENDP D:ENDM●下列为段定义的伪指令是( B )。

A:PROC B:SEGMENT C:ASSUME D:STRUC●下列为符号定义的伪指令是( B )。

A:ORG B:EQU C:STR D:RET二:填空题●将指令助记符翻译为指令机器码的过程称为(汇编)。

●汇编程序的功能是输入扩展名为ASM的(汇编源程序)文件,输出扩展名为OBJ的(目标代码)文件和扩展名为LST的(列表)文件。

●汇编源程序中的保留字类型有(寄存器名)、(标志名)、(指令助记符)、(伪指令符)和(运算符)。

《微机原理》第04章 习题

《微机原理》第04章 习题

习题1 习题
1.编写 编写8086汇编语言程序 , 将寄存器 的高 位传 汇编语言程序, 的高8位传 编写 汇编语言程序 将寄存器AX的高 送到寄存器BL, 位传送到寄存器DL 送到寄存器 ,低8位传送到寄存器 位传送到寄存器
习题2 习题
2.将寄存器 的内容从低到高位的顺序分成 组 , 将寄存器DX的内容从低到高位的顺序分成 将寄存器 的内容从低到高位的顺序分成4组 并将各组数分别送到寄存器AL,BL,CL和 DL( 如 并将各组数分别送到寄存器 和 ( DX=6D82H,分成:06H、0DH、08H、02H)。 ,分成: 、 、 、 )
MOV AX,MEN MOV BX,AX SHR AX,1 JC PO_1 MOV MEMB,BX JMP DONE PO_1: MOV MEMA,BX : DONE:
习题4 习题
4.试统计 个数中偶数的个数,并将结果在屏幕显示 试统计9个数中偶数的个数 试统计 个数中偶数的个数,
SI BUFF 3BH 47H 8DH -75 0A4H 69H -2EH 0CCH 200 0000H 0001H 0002H 0003H 0004H 0005H 0006H 0007H 0008H
逻辑左移
CF
0 1 XXX XXXX 0 XXX XXXX
SHL AL,1 ADC DL,0
ADC指令实现 指令实现DL+CF+0 指令实现 如果是负数, 为 , 个数记录加1 如果是负数,CF为1,则DL个数记录加 个数记录加
DATA SEGMENT BUFF DW 6700H,9E00H,-6A00H,0A0BH,6D00H NUM DB $-BUFF MEM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA , START:MOV AX,DATA MOV DS,AX MOV CX,NUM LEA BX,BUFF

微机原理第四章习题及答案

微机原理第四章习题及答案

第四章8086/8088指令系统一、选择题1、在数据传送指令中要注意:立即数只能作为( A )。

A.源操作数B.源操作数或目的操作数C.目的操作数D.源操作数和目的操作数2、对堆栈进行存取操作时需遵守的原则是( B )。

A.先进先出B.先进后出C.任意顺序D.以上都不对3、MOV AX,[BP+SI]指令源操作数隐含的段地址为( D )。

A.CS B.DS C.ES D.SS4、堆栈指针SP的作用是用来指示( C )。

A.栈底地址B.下一条要执行指令的地址C.栈顶地址D.上一条要执行指令的地址5、在指令MOV AX,0执行后,CPU状态标志位ZF的取值( D )。

A.为0 B.为1 C.不确定D.没影响6、下列寄存器组中,全部用于寄存器间接寻址方式中的为( C )。

A.AX,BX,CX,IP B.BX,BP,DS,SIC.BP,BX,SI,DI D.IP,SP,AX,BX7、若8086 CPU工作于最小方式,则执行指令OUT DX,AL时其引脚信号M /IO和DT/R的电平应是( B )。

A.低,低B.低,高C.高,低D.高,高8、执行指令MOV AX,DATA后,AX中值为变量DATA的( D )。

A.段值B.偏移量值C.数据类型值D.地址DATA单元中的值9、下列指令中,不正确的指令是。

( D )A.MOV AX,BX B.MOV AX,[BX]C.MOV AL,BL D.MOV AL,[BL]10、8086CPU在执行MOV AL,[BX]指令的总线周期内,若BX存放的内容为1010H,则BHE和A0的状态是( C )。

A.0,0 B.0,1C.1,0 D.1,111、若DF=1,执行串操作指令MOVSW时,地址指针变化方式是( D )。

A.SI=SI + 1,DI = DI + 1B.SI = SI + 2,DI = DI + 2C.SI = SI-1,DI = DI-1D.SI = SI-2,DI = DI-212、条件转移指令JNE的条件是( C )。

微机原理第4章练习题及答案

微机原理第4章练习题及答案

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。

A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。

A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。

A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。

A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。

A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。

A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。

A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。

微机原理第4章练习题及答案

微机原理第4章练习题及答案

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。

A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。

A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。

A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。

A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。

A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。

A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。

A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。

微机原理 第4章 总线 习题及参考

微机原理 第4章 总线 习题及参考

第四章总线1. 什么是总线?答:总线是许多信号线的集合,是微机系统中连接各部件的信息通道,通过它实现数据的相互交换。

具体地说,总线是CPU内部各组成部件之间、微机芯片之间、系统各模块之间,或各设备之间传递数据信息、地址信息、控制和状态信息的通道。

2. 总线结构的优点是什么?答:概括起来有以下四点:1)支持模块结构的设计方法,可以简化系统设计;2)标准总线得到多厂商的广泛支持,便于生产与之兼容的硬件板卡和软件,具有开放性和通用性;3)便于模块的专业化生产和产品的升级换代,便于故障诊断和维修,灵活性好。

4)降低了设计及系统成本。

3. 按照布局范围,总线分为哪几种类型?答:四种类型:①内部总线——是处于CPU内部、用来连接片内运算器和寄存器等各个功能部件的总线。

内部总线的对外引线称为CPU总线。

②局部总线——是主机板上的信息通道,连接主机板上各个主要部件,而且通过扩展槽连接多种适配器(局部总线是组成微机系统的主框架)。

③系统总线——是多处理器系统中连接各CPU插件板的信息通道,用来支持多个CPU的并行处理。

④外部总线——是微机和外部设备之间或者几个微机系统之间的信息通道,又称通信总线。

4. 微机系统中常用的系统总线有哪几种?答:ISA总线、EISA总线、PCI总线、AGP总线等。

5. 按照功能,总线可分为哪几类?答:分为数据总线、地址总线和控制总线等三类。

数据总线、地址总线和控制总线分别用来传输数据、地址、命令和状态信号。

6. 为什么引入PCI总线有利于提高微机系统的整体工作性能和效率?答:随着各种应用软件的发展,需要在CPU与外设之间进行大量的高速数据传输。

以往的ISA总线及以后发展的EISA总线都未能解决总线的高效率传输问题。

PCI总线提供了CPU 与外设之间的高速通道,有利于提高微机系统的整体工作性能和效率。

7. 总线的性能主要从哪几方面来衡量?答:三方面:①总线宽度——指一次可以同时传输的数据位数。

微机原理 第四章答案

微机原理 第四章答案
14、设(BX)=0400H,(DI)=003CH,执行 LEA BX,[BX+DI+0F62H]后,(BX)=? (BX)=139E H
15、设(DS)=C000H,(C0010H)=0180H, (C0012H)=2000H,执行LDS SI,[10H]后, (SI)=?, (DS)=? (SI)=0180 H,(DS)=2000 H
REP STOSW 程序段的功能:
将起始地址为0404 H开始的80 H(128)个字单元清成0 或将起始地址为0404 H开始的100 H(256)个字节单元清成0
11
第4章 微型计算机原理作业情况
13、 设(BX)=6B30H,(BP)=0200H,(SI)=0046H, (SS)=2F00H,(2F246H)=4154H,试求执行 XCHG BX,[BP+SI]后, (BX)=?,(2F246H)=? (BX)=4154H (2F246H)=6B30H
6
第4章 微型计算机原理作业情况
8、分别执行下列指令,试求AL的内容及各状态标志位的状态。
(1) MOV AL,19H ;
ADD AL,61H ;(AL)=7AH
OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
(2) MOV AL,19H ;
SUB AL,61
;(AL)=0DCH
OF=0 SF=1 ZF=0 AF=1 PF=0 CF=1
(1) MOV CL,20H[BX][SI] ;(CL)=0F6 H
(2) MOV [BP][DI],CX
;(1E4F6 H)=5678 H
(3) LEA BX,20H[BX][SI] ;(BX)=0056 H
MOV AX,2[BX]
;(AX)=1E40 H

微机原理习题集(4章)

微机原理习题集(4章)

一.单项选择题:1、在汇编语言程序设计中,变量定义时,以下为非法的类型属性是__C__;A 字节B 字C 字符D 双字2、以下哪个元素是汇编语言中语句的必要组成部分_B___;A 标号B 操作助记符C 操作数D 注释3、下列指令错误的是__B__;A INC WORD PTR [SI]B PUSH ALC POP CXD JMP BX4、下面说法正确的是_D___;A 低级语言更接近于自然语言。

B 机器语言编写的程序可以应用于不同微处理器的计算机系统。

C 高级语言编写的程序依赖于微处理器的型号。

D 程序在准备执行时,必须存储于存储器中。

5、以下指令错误的是_D___;A MOV AX,2000HB MOV [BP],DLC MOV DS,AXD MOV 20H,AL6、下面叙述错误的是_C___;A 宏指令是用户自己定义的B 注释是以分号开头的。

C 名称在语句中是必须的D 每条语句都必须有操作助记符。

7、条件转移指令“JS”的转移条件是_B___;A SF=0B SF=1C CF=0D CF=18、在微计算机中用来存放源字符串地址的偏移量的寄存器是_C___;A SPB BPC SID DI9、汇编程序是一个__B__;A 源程序B 语言加工程序C 连接程序D 目标程序10、下列字符串能用于标识符的是_B___;A LENGTHB MOVEC 13AD SEGMENT11、若要对操作数清0,一般对操作数进行__C__运算。

A 相与B 相或C 异或D 移位12、汇编语言编辑程序输出的文件类型是_A___;A .asmB .obj C.exe D .c13、堆栈的存取规则正确的是_D___;14、 A FIFO B FILO CLILO D以上都不对14、以下指令不是逻辑运算指令的是__D__;A XOR AL,3B NOT ALC OR AL,3D CWD15、在指令“MOV AX,INBUFF”中,变量INBUFF 的段是_B___ ;A CSB DSC SSD ES16、若READY为低电平,此时CPU执行___B_周期;A T3 B TWC T4D T117、连接程序输出的文件类型是_C___;A .asmB .obj C.exe D .c18、已知程序段:_A_MOV AX,0FF60HSTCMOV DX,96XOR DX,0FF00HSBB AX,DX程序执行后AX=____,CF=____。

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

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

第四章汇编语言程序设计4-2 下列程序执行后,寄存器AX,BX,CX的内容分别是多少?D SEGMENT AT 0202H;定位数据段地址ORG 0202H ;定位偏移地址DA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202HMOV CL,BYTE PTR DA_WORD ;(CL)=20H(将变量DA_WORD的属性改变为字节型)MOV CH,TYPE DA_WORD ;(CH)=2(变量类型数值);(CX)=0220H4-4 试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放在CHAR2开始的单元中(题目要求:不改变CHAR1的内容)方法1,小写字母转换一个输出显示一个,前3种方法均使用了AL寄存器D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1;变量必须先定义后使用,而不能相反CHAR2 DB N DUP(0) ; ;不能把此句与上一句对调,CHAR2 DB$-CHAR1有;的同学这样写,错在哪D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:S ;ASSUME是伪指令,后面不能写冒号START: MOV AX,DMOV DS,AX;MOV ES,AX ;只要用到串操作指令且DILEA SI,CHAR1 ;MOV SI,OFFSET CHAR1LEA DI,CHAR2 ; MOV DI,OFFSET CHAR2MOV CX,N ;$-CHAR1,不可以AGAIN:MOV AL,[SI]SUB AL,20H ;AND AL,5FH有的同学是这样实现的MOV [DI],ALMOV DL,ALMOV AH,2INT 21H ;从屏幕显示INC SIINC DILOOP AGAINMOV AH,4CHINT 21H ; ;不是必须的C ENDSEND START方法2:使用通用数据传送指令MOVD SEGMENTCHAR1 DB ‘abcdefghijklmnopqrstuvwxyz’N EQU $-CHAR1;变量必须先定义后使用,而不能相反CHAR2 DB N DUP(0);不能把此句与上一句对调D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)C SEGMENTASSUME CS:C ,DS:D ,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AX ;只要用到串操作指令且DIMOV SI,0 ;MOV DI,0 ;MOV CX,NAGAIN: MOV AL,CHAR1[SI] ;SUB AL,20HMOV CHAR2[DI],AL ;INC SIINC DI LOOP AGAINMOV AH,4CHINT 21H ;不是必须的C ENDSEND START第3种方法:使用串的读写指令LODSB STOSBD SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1CHAR2 DB $-CHAR1 DUP(0) D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)C SEGMENTASSUME CS:C,DS:D,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AXMOV SI,OFFSET CHAR1 ;LEA SI,CHAR1MOV DI, OFFSET CHAR2 ;LEA DI,CHAR2MOV CX,NCLD ;不写(隐含)也是0(递增)但不能STDAGAIN: LODSB ;执行一次,隐含修改SISUB AL,32STOSB ;MOV [DI],AL;执行一次, 隐含修改DI INC DILOOP AGAIN ;LOOP指令只修改CX,不管SI,DIMOV AH,4CHINT 21H ;不是必须的C ENDSEND START第四种方法2006级,没有显示使用MOVSB指令D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXLEA SI,CHAR1LEA DI,CHAR2MOV CX,NAGAIN:MOVSB ; SUB [SI],20HDEC DI ; MOVSBSUB BYTE PTR[DI],20H ;LOOP AGAIN 错在哪里?结果如何?INC DILOOP AGAINMOV AH,4CHINT 21HC ENDSEND START方法5: 只用一个地址指针SID SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0MOV CX,NAGAIN:MOV AL,CHAR1[SI] ;只用一个地址指针,SI[CHAR1]是错误的SUB AL,20HMOV CHAR2[SI],ALINC SILOOP AGAINint 3MOV AH,4CHINT 21HC ENDSEND START有的同学按数据是由键盘录入的来考虑的,也可行,程序中还有不少问题方法6:由键盘输入小写字母再转换输出,回车符也占一个字节,输入需要小写转换成大写字母的内容从输入串的第3个元素开始D SEGMENTA DB"CHAR1",0DH,0AH,"$"B DB"CHAR2",0DH,0AH,"$"CHAR1 DB 11,?,11 DUP(0);准备输入10个小写字母CHAR2 DB 10 DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV DX,OFFSET AMOV AH,9INT 21HLEA DX,CHAR1MOV AH,0AHINT 21H ;由键盘输入字符串,10个字母(显示),1个回车,共11个字节LEA SI,CHAR1[2]LEA DI,CHAR2MOV CX,10 ;需要转换的字符长度为10个字节AGAIN:MOV AL,[SI]SUB AL,20HMOV [DI],ALINC SIINC DILOOP AGAIN ; 将小写字母字符串转换成大写字母字符串MOV BYTE PTR[DI],0DHINC DIMOV BYTE PTR[DI],0AHINC DIMOV BYTE PTR[DI],'$' ;必须指明数据类型MOV DX,OFFSET CHAR2MOV AH,9INT 21H ;输出'$'结尾的大写字母字符串int 3MOV AH,4CHINT 21HC ENDSEND START4-6在BUF地址处起,存放有100个字节的字符串,设其中有一个以上的“A”字符,编程查找出第一个“A”字符相对起始地址的距离,并将其存入LEN单元。

第3章和第4章习题参考答案

第3章和第4章习题参考答案
第3章和第4章习题参考答案
南京航空航天大学机电学院 张臣 2011年12月14日
1
《微机原理与应用》课件
第三章习题答案
1、用4种方法实现RAM中41H和40H单元中内容交换(直接 寻址法,间接寻址法,字节交换法,堆栈传递法) 直接寻址: MOV A,41H
MOV 41H,40H
MOV 40H,A 间接寻址: MOV R0,#41H MOV A,40H MOV 40H,@R0 MOV 41H,A
《微机原理与应用》课件
P80 .9 法2
ORG 2000H MOV R0,#30H LOOP: CJNE @R0,#OAAH,NEXT MOV 51H,#01H SJMP COMP NEXT: INC R0 CJNE R0,#51H,LOOP MOV 51H,#00H COMP:SJMP $ END
2011-12-14 张臣 18
《微机原理与应用》课件
P80 .10 法2
ORG 2000H MOV R0,#20H MOV R7,#21H MOV 41H,#00H LOOP: CJNE @R0,#00H,NEXT INC 41H NEXT: INC R0 DJNZ R7,LOOP SJMP $ END
ORG 2000H MOV R0,#2FH MOV R1,#21H LOOP:INC R0 CJNE @R0,#OAAH,NEXT MOV 51H,#01H SJMP COMP NEXT:DJNZ R1,LOOP MOV 51H,#00H COMP:SJMP $ END
2011-12-14 张臣 16
所以超出了转移范围
2011-12-14 张臣 5
《微机原理与应用》课件
设累加器A中数据为 29H,Cy=0,执行指令 ORL C,0E3H 后,Cy=

微机原理第四章习题

微机原理第四章习题
第4章 汇编语言程序设计 习题解答
习题4.1
• 画出下列语句的数据在存储器中的存储情况: • ARRAYB DB 63,63H,’ABCD’,3 DUP(?),2 DUP(1,3) • ARRAYW DW 1234H,5,’AB’,’CD’,?,2 DUP(1,3)
3FH 63H 41H 42H 43H 44H XX XX XX 01H 03H 01H 03H
习题4.19
• 编写一个完整的源程序,将BUF字节单元存放的两位 BCD码,转换成2个字节的ASCⅡ码,并分别存放在ASC 和ASC+1字节单元中. • 例如(BUF字节单元)=58H,那么(ASC字节单元)=35H, (ASC+1字节单元)=38H
SEGMENT BCD DB XXH ASC DB ?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CL,4 MOV AL,BCD ;取BCD码数 SHR AL,CL ;转换高位 ADD AL,30H MOV ASC,AL MOV AL,BCD AND AL,0FH ;转换低位 ADD AL,30H MOV ASC+1,AL MOV AH,4CH INT 21H CODE ENDS END START
习题4.17
• 设在数据段中有X,Y两个变量(字节单元),试编写程序 段计算(只写有关功能的指令). X 当X≥0时 • Y= │X│ 当X <0时
X Y
· · ·
DB DB
X Y
AL,X AL,0 DONE AL Y,AL
MOV CMP JGE NEG DONE: MOV
习题4.18

微机原理与应用知到章节答案智慧树2023年湖北大学

微机原理与应用知到章节答案智慧树2023年湖北大学

微机原理与应用知到章节测试答案智慧树2023年最新湖北大学第一章测试1.计算机内的溢出是指其运算结果( )。

参考答案:超出了该指令所指定的结果单元所能存储的数值范国2.一个完整的计算机系统通常应包括( )参考答案:硬件系统和软件系统3.微型计算机的性能主要由( )来决定。

参考答案:CPU4.通常所说的“裸机”是指( )参考答案:未装备任何软件的计算机5.通常所说的32位机是指这种计算机的CPU( )参考答案:能够同时处理32位二进制数据6.从第一代电子计算机到第四代计算机的体系结构都是相同的,都是由运算器、控制器存储器以及输入/输出设备组成的,称为( )体系结构。

参考答案:冯·诺依曼7.算机之所以能自动连续地进行数据处理,其主要原因是( )参考答案:具有存储程序的功能8.运算器的主要功能是进行( )。

参考答案:算术和逻辑运算9.在一般微处理器中包含( )参考答案:算术逻辑单元10.构成微机的主要部件除CPU、系统总线、IO接口外,还有( )。

参考答案:内存(ROM和RAM)11.与二进制数1100101lB等值的压缩型BCD码是1100101lB。

( )参考答案:错12.十进制数378转换成十六进制数是1710H。

( )参考答案:错13.与十进制小数0.5625等值的二进制小数是1.0011B。

( )参考答案:错14.八进制数的基数为8,因此在八进制数中可以使用的数字符号是0、1、2、3、4、5、6、7、8。

( )参考答案:错15.二进制数0000010111101111B转换成十六进制数是0FE5H。

( )参考答案:错16.对于种类不同的计算机,其机器指令系统都是相同的。

( )参考答案:错17.三总线就是数据总线,控制总线、地址总线。

( )参考答案:对18.计算机中所有数据都是以二进制形式存放的。

( )参考答案:对19.汇编语言就是机器语言。

( )参考答案:错第二章测试1.关于8088CPU和8086CPU的对比,正确的叙述是( )。

《微机原理及应用》各章习题参考答案

《微机原理及应用》各章习题参考答案

《微机原理及应用》各章习题参考答案第1章微型计算机概论一、填空题1. 微机硬件系统主要由CPU、(存储器)、(总线)、(输入输出接口)和输入输出设备组成。

2. 冯·诺依曼计算机的核心原理是(存储程序原理)3. 完成下列数制的转换1)10100110B=( 166 )D=( A6H )H2)223.25 =( 11011111.01 )B=( DF.4 )H3)1011011.101B=( 5B.A )H=(1001 0001.01100010 0101 )BCD4. 已知[X]补5. 已知A=10101111,B=01010000,则A∧B的结果为( 00000000 ) B=86H,则X的十进制表示形式为( -122 )6. -29H的8位二进制反码是(11010110 )B7.字符4的ASCII码=( 34 )H二、简答题1.冯.诺依曼计算机的结构是怎样的,主要特点有哪些?解:将计算机设计为由运算器、控制器、存储器、输入设备和输出设备等5个部分组成,所有的执行都以运算器为核心,采用存储程序工作原理。

2. 已知X=-1101001B,Y=-1010110B,用补码方法求X-Y=?解:[X-Y]补=[X+(-Y)]补= [X]补+[-Y] [X]补原=11101001B [X]补 [-Y]=10010111B原=01010110B=[-Y] [X-Y]补补= [X]补+[-Y]补X-Y=[[X-Y]=11101101B补]补=10010011=-0010011=-193. 写出下列真值对应的原码和补码的形式:1)X=-1110011B2)X=-713)X=+1001001B解:1)[X]原码=11110011B , [X]补码=10001101B2)[X]原码=11000111B, [X]补码=10111001B3)[X]原码=01001001, [X] 补码=01001001B=?4. 已知X和Y的真值,求[X+Y]补1)X=-1110111B Y=+1011010B2)X=56 Y=-215. 若与门的输入端A、B、C的状态分别为1、0、1,则该与门的输出端状态为?若将这3位信号连接到或门,那么或门的输出又是什么状态?解:由与和或的逻辑关系知,若“与”门的输入端有一位为“0”,则输出为“0”;若“或”门的输入端有一位为“1”,则输出为“1”。

微机原理第4章习题与答案

微机原理第4章习题与答案
(2)PRGM SEG
……
PRGM ENDS
(3)ALPHA EQU BETA
(4) COUNT EQU 100
COUNT EQU 65
(5) GOON DW 10DUP(?)
……
JMP GOON
答案:
(1)字节变量,范围在0~255
(2)定义段的伪指令为SEGMENT
(3)BETA必须先定义
(4)EQU不能重复定义,在下一次定义前必须用PURGE撤消
MOV BX, F1
答案:
(1)
DATA SEGMENT PARA 'DATA' AT 46H
QA EQU 255;QA=255
QA1=QA GT 3000;255大于3000,命题假,QA1=0
QA2=0FFFH;QA2=0FFFH
QA3 EQU QA2 XOR 255;QA3=0FFFH⊕0FFH=0F00H
AND AX, 0FFH;AX=0045H
MOV BX, WORD PTR G1;BX=0FF20H
MOV BX, 255 AND 0FH;BX=000FH
ADD AX, OFFSET F2;AX=1245H
MOV BX, F1;BX=2211H
4.以下程序的执行结果是_______。
ADB‘1234’
BDW5 DUP(2,3 DUP(0))
CDW‘AB’,’C’,’D’
L1:MOVAL,TYPE B
MOVBL,LENGTHB
MOVAH,SIZE A
MOVBH,SIZE C
MOVCL,TYPEL1
MOVCH,SIZEB
答案:AX=0102H,BX=0205HCX=0AFFH

微机原理第四章习题答案

微机原理第四章习题答案

1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?答:数据操作数的寻址方式有七种,分别为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对基址变址和相对基址变址寻址。

其中寄存器寻址的指令执行速度最快。

2.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=120 0H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少?(1)MOV AX,[64H]答:寻址方式为直接寻址;PA=60064H(2)MOV AX,NUM 答:寻址方式为直接寻址;PA=60005H (3)MOV AX,[SI]答:寻址方式为寄存器间接寻址;PA=60100H(4)MOV AX,[BX]答:寻址方式为寄存器间接寻址;PA=60300H(5)MOV AX,[BP]答:寻址方式为寄存器间接寻址;PA=50400H(6)MOV AL,[DI]答:寻址方式为寄存器间接寻址;PA=61200H (7)MOV AL,[BX+1110H]答:寻址方式为寄存器相对寻址;PA=61410H(8)MOV AX,NUM[BX]答:寻址方式为寄存器相对寻址;PA=60305H(9)MOV AX,[BX+SI]答:寻址方式为基址变址寻址;PA=60400H (10)MOV AX,NUM[BX][DI]答:寻址方式为相对基址变址寻址;PA=61505H3.设BX=637DH,SI=2A9BH,位移量为C237H,试确定由这些寄存器和下列寻址方式产生的有效地址。

(1)直接寻址答:有效地址为EA=C237H(2)用BX的寄存器间接寻址答:有效地址为EA=637DH(3)用BX的相对寄存器间接寻址答:有效地址为EA=125B4H(4)基址加变址寻址答:有效地址为EA=8E18H(5)相对基址变址寻址答:有效地址为EA=1504FH其中,(3)和(5)中产生进位,要把最高位1舍去。

微机原理与应用习题4汇编语言部分

微机原理与应用习题4汇编语言部分

第四章汇编语言程序设计4-1 请写出完成下列操作的伪指令语句。

(1)将78,-40,0D6H,49H存放在定义为字节变量STAD的存储单元中。

(2)将字数据1245H,64H,1245,0C7H存放在定义为字节变量ARRAY的存储单元中。

(3)将字节数据12H,0FCH,0E4H,65H存放在定义为字变量ALPHA的存储单元中,并且不改变数据按字节存储的次序。

(4)在以BETA为首地址的存储单元中连续存放字节数据:4个8,6个‘S’,20个空单元,10个(1,3)。

(5)在以STRING为首地址的存储单元中存放字符串THIS IS A EXAMPE。

(6)用符号TOTAL代替数字780。

4-2 请画出下列数据定义语句的内存数据排列图。

DATA1 DB -10,29H,29,‘7’,?DATA2 DW 2 DUP(‘12’,12),0CDHDATA3 DD 123456H4-3 假设数据定义语句如下,请画出内存数据排列图。

X1 DB ?,76X2 DW 20 DUP(1,2),80H,?X3 DD 5COUNT EQU $-X2请问:COUNT的值是多少?它表示什么意义?4-4 请画出下列数据定义语句的内存数据排列图。

ORG 0100HSA1 DB 30,‘30’SA2 DW SA1SA3 EQU $-SA1SA4 DW SA34-5 数据定义语句如下:ORG 30HDA1 DB 0,‘0’,30HDW DA1请回答:字数据为3000H存储单元的偏移地址是什么?4-6 假设数据定义语句如下:BUF1 DB 50DUP(0)BUF2 DW 4567H,671,0D8HBUF3 DB 10 DUP(?)BUF4 DB 3,4,8,9,10(1)写出将BUF1的偏移地址送BX的指令。

(2)将BUF2的第4个字节数据送CL的指令。

(3)将0C6H送入BUF3的第8个字节单元中的指令。

(4)用伪指令写出BUF2和BUF3总字节数。

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

分别连接到P1.0~P17,Y连接到 例5:设A~H分别连接到 : 分别连接到 , 连接到 P3.0,试用布尔指令编制一芯片测试程Biblioteka 。 ,试用布尔指令编制一芯片测试程序。
逻辑表达式: 逻辑表达式: Y
= ABC D + EFG H
ANL ANL MOV MOV ANL ANL ANL ORL CPLC MOV SJMP END C,C1 C,D1 F0,C C,E1 C,F1 C,G1 C,H1 C,F0 Y1,C $
ORG 1000H BLOCK DATA 30H LEN DATA 10H MINI DATA 20H MOV R0,#BLOCK MOV R7,LEN DEC R7 MOV A,@R0 LOOP: CLR C MOV B,A INC R0 MOV A,@R0 SUBB A,B JC NEXT MOV A,B SJMP NEXT1 NEXT:ADD A,B NEXT1:DJNZ R7,LOOP MOV MINI,A SJMP $ END
第四章 习题
单元中8个 例1:试求内部 :试求内部RAM30H~37H单元中 个 单元中 无符号数的算术平均值,结果存入38H单 无符号数的算术平均值,结果存入 单 元。
方法一: ORG 1000H 方法一:
MOV R0,#30H MOV R7,#08H MOV R2,#00H MOV R3,#00H CLR C LOOP1:MOV A,R3 ADD A,@R0 MOV R3,A MOV A,R2 ADDC A,#00H MOV R2,A INC R0 DJNZ R7,LOOP1 ;右移 位相当于除 右移3位相当于除 右移 位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R2 RRC A MOV R2,A MOV A,R3 RRC A MOV R3,A DJNZ R7,LOOP2 MOV 38H,R3 SJMP $ END
LOOP:
NEXT:
例2:试编一数据块搬迁程序。将外部 :试编一数据块搬迁程序。 RAM2000H~204FH单元中的数移入内 单元中的数移入内 单元中。 部RAM30H~7FH单元中。 单元中
方法一: 方法一:
ORG 1000H MOV DPTR,#2000H MOV R7,#50H MOV R0,#30H MOVX A,@DPTR MOV @R0,A INC R0 INC DPL DJNZ R7,LOOP SJMP $ END
存入VAR单元,函数 存入 单元, 例4:假设变量 存入 :假设变量X存入 单元 函数F存入 FUNC单元,编程按下式要求给 赋值。 单元, 赋值。 单元 编程按下式要求给F赋值
1 若X > 0 F = 0 若X = 0 −1 若X < 0
ORG 1000H VAR DATA 30H FUNC DATA 31H MOV A,VAR JNB ACC.7,GOE MOV FUNC,#FFH SJMP FINISH GOE: JNZ GR MOV FUNC,#0 SJMPFINISH GR: MOV FUNC,#1 FINISH: SJMP $ END
方法二: 方法二:
START: ORG 0030H MOV R7,#7 MOV R3,#0 MOV A,30H MOV R0,#31H ADD A,@R0 JNC NEXT INC R3 INC R0 DJNZR7, LOOP MOV R2, A ;右移 位相当于除 右移3位相当于除 右移 位相当于除8 MOV R7,#03H LOOP2: CLR C MOV A,R3 RRC A MOV R3,A MOV A,R2 RRC A MOV R2,A DJNZ R7,LOOP2 MOV 38H,R2 SJMP $ END
LOOP:
方法二: 方法二:
MOV SP, #2FH MOV DPTR,#2000H MOV R7,#50H MOVX A,@DPTR PUSH A INC DPL ;或者 或者INC 或者 DJNZR7,NEXT SJMP $ END
NEXT:
DPTR
例3:在内部 :在内部RAM的BLOCK开始的单元中 的 开始的单元中 有一无符号数据块,数据块长度存入LEN单 有一无符号数据块,数据块长度存入 单 试编程求其中的最小数并存入MINI单元。 单元。 元。试编程求其中的最小数并存入 单元
ORG 1000H A1 BIT P1.0 B1 BIT P1.1 C1 BIT P1.2 D1 BIT P1.3 E1 BIT P1.4 F1 BIT P1.5 G1 BIT P1.6 H1 BIT P1.7 Y1 BIT P3.0 TEST: MOV C,A1 ANL C,B1
相关文档
最新文档