版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。2. 微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。这些特点是由于微型计算机
2、广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。3. 微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。“存储程序控制”的概念可简要地概括为以下几点: 计算机(指硬件)应由运算器、存储器、控制器和输入/ 输出设备五大基本部件组成。 在计算机内部采用二进制来表示程序和数据。 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 五大部件以运算器为中心进行组织。4. 请说明微型计算机
3、系统的工作过程。答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起, 逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。5. 试说明微处理器字长的意义。答: 微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。 计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。6. 微机系统中
4、采用的总线结构有几种类型?各有什么特点?答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。7. 将下列十进制数转换成二进制数、八进制数、十六进制数。( 4.75) 10=( 0100.11 ) 2=( 4.6) 8=( 4.C) 16 ( 2.25) 10=( 10.01 ) 2=( 2.2) 8=( 2.8) 16 ( 1.875) 10=( 1.111 ) 2=( 1.7) 8=( 1.E) 168. 将下列二进制数转换成十进制数。 ( 1011.011 ) 2=( 11.6) 10 ( 1101.01011 ) 2=
5、( 13.58) 10 ( 111.001 ) 2=( 7.2) 109. 将下列十进制数转换成8421BC则。 2006=( 0010 0000 0000 0110 ) BCD 123.456= ( 0001 0010 0011.0100 0101 0110 ) BCD10. 求下列带符号十进制数的8 位基 2 码补码。 +127 补 = 01111111 -1 补 = 11111111 -128 补 = 10000000 +1 补 = 0000000111. 求下列带符号十进制数的16 位基 2 码补码。 +655 补 = 0000001010001111 -1 补 =1111111111
6、111110 -3212 补 =1111011101011100 +100 补 =0000000001100100习题 21 . 8086CPU在内部结构上由哪几部分组成?各部分的功能是什么?答:8086 CPUfi部由两大独立功能部件构成,分别是执行部件和总线接口部件。执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。总线接口部件是CPUft存储器和I/O设备之间的接口部件,负责对全部引脚的操作。2 .简述8086 CPU的寄存器组织。答:8086CPUfi部共有14个16位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器
7、,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4 个逻辑段。地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器。3 .试述8086CPU标志寄存器各位的含义与作用。答:标志寄存器是16 位的寄存器,但实际上8086 只用到 9 位,其中的6 位是状态标识位,3 位是控制标识位。状态标志位分别是CF, PF, AF, ZF, SF,和OF控制标志位包括 DF, IF , TF0CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,贝U CF=1,否贝U CF=QPF:奇偶标志位。反应计
8、算结果中1的个数是偶数还是奇数。若运算结果的 低8位中含有偶数个1,则PF=1;否则PF=0.AF:辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.ZF:零标志位。若指令运算结果为 0,则ZF=1;否则ZF=dSF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1否则OF=0DF:方向标志位。用于用操作指令,指令字符串处理时的方向。IF:中断允许标志位。用来控制 8086是否允许接收外部中断请求。TF:单步标志位。它是为调试程序而设定的陷阱控制位。4 . 8086CPU犬态标志和控制标志有何不同?程序中是怎
9、样利用这两类标识的? 8086的状态标志和控制标识分别有哪些?答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。它们分别是 CF, PF, AF, ZF, SF,和OF控制标志位用来控制CPU勺操作,由指令进行置位和复位,控制标志位包括DF, IF, TF05 .将 1001 1100 和 1110 0101 相加后,标识寄存器中 CF, PF, AF, ZF, SF, OF 各为何值?答:CF=1, PF=1, AF=1, ZF=0, SF=1, OF=06 .什么是存储器的物理地址和逻辑地址?在 8086系统中,如何由逻辑地址计 算物理地址?答:逻辑地址是思维
10、性的表示,由段地址和偏移地址联合表示的地址类型叫 逻辑地址。物理地址是真实存在的唯一地址,指的是存储器中各个单元的单 元号。在8086系统中,物理地址二段地址X 10H偏移地址7 .段寄存器CS=1200H指令指车+寄存器IP=4000H,此时,指令的物理地址为 多少?指向这一地址的 CS指和IP值是唯一的吗?答:此指令的物理地址=1200HX 10H+ 4000H=16000H并且指向这一物理地址 的CS值和IP值并不是唯一的。8 .在8086系统中,逻辑地址 FFFF 0001, 00A2 37F和B80G 173F的物理地 址分别是多少?逻辑地址FFFF: 000100A2: 3TFB8
11、00: 173F物理地址FFFF1H00D9FHB973FH9 .在8086系统中,从物理地址388H开始顺序存放下列3个双字节的数据651AHD761H和 007BH 请问物理地址 388H, 389H, 38AH 38BH 38CH和 38DH 6 个单元中分别是什么数据?答:(388H) =1AH (389H)=65H, (38AH> =61H, (38BH) =DTH (38CH =7BH (38DH =00H10 . 8086微处理器有哪几种工作模式?各有什么特点?答:8086微处理器有最大和最小工作模式。在最小模式下:8086 CPUft接产生全部总线控制信号 (DT/R,
12、DEN ALE, M/IO)和命令输出信号(RD WRINTA)并提出请求访问总线的逻辑信号 HOLD HLDA在最大工作模式下,必须配置 8288总线控制器,并且根据8086提供的 状态信号S2, S1, SO,输出读写控制命令,可以提供灵活多变的系统配置, 以实现最佳的系统性能。11 .简述 8086 引脚信号中 M/IO, DT/R, RD WR ALE, DENff口 BHE的作用。答:M/IO:输出信号,高电平时,表示 CPU与存储器之间数据传输;低电 平时,表示CPlUf I/O设备之间数据传输。DT/R :控制其数据传输方向的信号。DT/R=1时,进行数据发送;DT/R=0 时,
13、进行数据接收。RD CPU勺读信号,RD=0寸,表示8086为存储口或I/O端口读操作。WR CPU勺写信号,WR =0时,表示8086为存储口或I/O端口写操作。ALE地址存锁信号,在T1能时刻有效。DEN数据选通信号,当DENt效时,表示允许传输。BHE数据总线允许信号,与 A0组合使用,表示是否访问奇地址字节。12 .简述8086读总线周期和写总线周期和引脚上的信号动尖态变化过程。8086的读周期时序和写周期时序的区别有哪些?答:在8086读周期内,有关总线信号的变化如下:M/IO:在整个读周期保持有效,当进行存储器读操作时,M/IO为高电平;当进行I/O端口读操作时,M/1O为低电平。
14、AWS6A16/S3:在Ti期间,输出CPU要读取的存储单元或I/O端口的地址 高4位。T2T4期间输出状态信息&-S3。BHE/S7:在期间,输出BHE有效信号(BHE为低电平),表示高8位数 据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号(偶地址 存储体的体选信号是最低地址位 A)。T2 T4期间输出高电平。AD5AD:在T1期间,输出CPL®读取的存储单元或I/O端口的地址A15 A T2期间为高阻态,T3T4期间,存储单元或I/O端口将数据送上数据总线。 CPUR AD5AD上接收数据。ALE在Ti期间地址锁存有效信号,为一正脉冲,系统中的地址锁存器
15、正 是利用该脉冲的下降沿来锁存 A19/S6A16/S3, AD5AD中的20位地址信息以及BHE。RD: T2期间输出低电平送到被选中的存储器或 i/o接口,注意,只有被 地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据(数据送上数据总线AD5AD)。DT/R:在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来控制数据传输方向。DEN:在T2T3期间输出有效低电平,表示数据有效,在接有数据总线收 发器的系统中,用来实现数据的选通。总线写操作的时序与读操作时序相似,具不同处在于:AD5AD:在T2T4期间送上欲输出的的数据,而无高阻态。W :从
16、T2丁4, W引脚输出有效低电平,该信号送到所有的存储器和I/O 接口。注意,只有被地址信号选中的存储单元或 I/O端口才会被 而信号写入数 据。DT/R:在整个总线周期内保持高电平,表示本总线周期为写周期,在接 有数据总线收发器的系统中,用来控制数据传输方向。1. 假定 (DS)=2000H, (ES)=2100H,(SS)=1500H,(SI) =00A0H,(BX)=0100H,(B? =0010H,数据变量VAL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1) MOV AX, 0ABH(2) MOV AX, 100H(3) MOV AX, VAL(
17、4) MOV BX, SI(5) MOV AL, VALBX(6) MOV CL, BXSI(7) MOV VALSI, BX(8) MOV BPSI, 100答: (1) 立即数寻址,无物理地址(2)直接寻址,物理地址=2000HX 10H+100H=20100H 直接寻址,物理地址=2000HX 10H+0050H=20050H 寄存器间接寻址,物理地址 =2000HX 10H+00A0=200A0H(5)相对寄存器寻址,物理地址 =2000HX 10H+ ( 0050+0100H =20150H (6)基址加变寻址,物理地址 =2000HX 10H+ ( 0100H+00A0H =201
18、A0H (7) 寄存器寻址,无物理地址(8) 立即数寻址,无物理地址2. 已知(SS) =0FFA0H (SP) =00B0H先执行两条把8057H和0F79%别进栈 的PUSH旨令,再执行一条POP旨令,试画出堆栈区和SP内容变化的过程示 意图。答:“8057H'进栈,WJ SP自动从 00B0H旨向 00B2H “0F79H'进栈,WJ SP 自动 从00B2H指向00B4H执行一条POP旨令,“0F79H'被弹出栈,SP从00B4H指向 00B2H图略。3. 设有关寄存器及存储单元的内容如下:(DS)=2000H, (BX)=0100H,(AX)=1200H, (
19、SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH, (21202H)=0B7H, (21203H)=65H.试说明下列各条指令单独执行后相关寄存器或存储单元的内容。(1)MOV AX, 1800H (2) MOV AX, BX(3) MOV BX, 1200H (4) MOV DX, 1100BX(5) MOV BXSI, AL (6) MOV AX, 1100BXSI答: (1) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH(4)
20、(DX)=4C2AH (5) (20102H)=00H (6) (AX)=65B7H4. 写出实现下列计算的指令序列。(1) Z=W+(X+Z) (2) Z=W-(X+6)-(R+9)答: (1) MOV AX, ZADD AX, XADD AX, WMOV Z, AX(2) MOV AX, WADD X, 6SUB AX, XADD R, 9SUB AX, RMOV Z, AX5.若在数据段中从字节变量TABL耕目应的单元开始存放了 015的平方值,试 写出包含XLAT旨令的指令序列查找 N (015)中的某个平方数。答: LEA BX, TABLEMOV AL, CLXLAT6. 写出实现
21、下列计算的指令序列。(1) Z=(W*X)/(R+6) (2) Z=(W-X)/5*Y)*2答: (1) MOV AX, WIMUL XADD R, 6IDIV RMOV Z, AX(2) MOV AX, WSUB AX, XMOV BL, 5IDIV BLCBWIMUL YMOV BX, 2IMUL BXMOV Z, AX7. 假定(DX)=1100100110111001B,CL=3, CF=1, 试确定下列各条指令单独执行后DX的值。(1) SHR DX, 1(2) SHL DL, 1(3) SAL DH, 1 (4) SAR DX, CL(5) ROR DX, CL(6) ROL DL
22、, CL(7) RCR DL, 1 (8) RCL DX, CL答: (1) (DX)=0110 0100 1101 1100B (2) (DX)=1100 1001 0111 0010B(3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B(5) (DX)= 0011 1001 0011 0111B (6)(DX)= 0100 1101 1100 1110B(7) (DX)= 1110 0100 1101 1100B (8) (DX)= 1001 0011 0111 0011B8. 已知程序段如下:MOV AX, 1234HM
23、OV CL, 4ROL AX, CLDEC AXMOV CX, 4MUL CXINT 20H试问: ( 1)每条指令执行后,AX 寄存器的内容是什么?(2)每条指令执行后,CF, SF及ZF的值分别是什么? ( 3)程序运行结束后,AX及DX寄 存器的值为多少?MOV CL, 4ROL AX,CLDEC AXMOV CX,4MULL CX答: MOV AX, 1234H(AX)=1234H, CF=0 , SF=0, ZF=0SF=0, ZF=0SF=0, ZF=0SF=1, ZF=0(AX)=2341H,CF=1(AX)=2340H,CF=1(AX)=8D00H, CF=0INT 20H结束
24、后,(DX)=0000H, (AX)=8000H9. 试分析下列程序段:ADD AX, BXJNC L2SUB AX, BXJNC L3JMP SHORTL5如果AX, BX的内容给定如下:AX BX(1) 14C6H80DCH(2) B568H54B7H问该程序在上述情况下执行后,程序转向何处。答:(1)转到L2处(2)转到L3处1下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。VAR1 DB 10, 2VAR2 DW 5 DU(?)P, 0VAR3 DB HOW ARE YO? U , 3 DUP( 1, 2)VAR4 DD -1, 1 , 0答:字节空间:VAR1:
25、 2;VAR2: 12;VAR3: 13;VAR4: 8。存储空间的分配图:2假定VAR1 和 VAR2 为字变量,LAB 为标号,试指出下列指令的错误之处。( 1) ADD VAR, 1 VAR2 ( 2) SUB AL, VAR1(3)JMP LABCX(4)JNZ VAR1(5)MOV 1000H,100(6)SHL AL, 4答: (1) 在算术运算指令中,两个操作数不能同时为存储器寻址方式(2) AL 为字节,VAR1 为字变量,字长不相等;(3) 错误 1:寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器。错误2:汇编格式错误,无法判段是段内转移还是段间转移。(4)
26、 转向地址应为标号,不能是变量;(5) 目的操作数的类型不确定;(6) SHL 指令中,当所移位数超过1时,必须用CL取代所移位数。 3对于下面的符号定义,指出下列指令的错误。A1 DB ?A2 DB 10K1 EQU 1024( 1) MOV K1, AX ( 2) MOV A,1 AX( 3) CMP A1, A2 ( 4) K1 EQU 2048答:(1)K1为常量,不能用MOV旨令赋值; (2)A1为字节,AX为字变量,类型不一致;(3)A1和A2同为存储器寻址方式,不符合语法规则;(4)K1重新赋值前,必须用PURGE?放。4数据定义语句如下所示:FIRST DB 90H, 5FH,
27、 6EH, 69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?)自 FIRST 单元开始存放的是一个四字节的十六进制数(低位字节在前), 要求 :编一段程序将这个数左移两位后存放到自SECONDS始的单元,右移两位后存放到自THIRD开始的单元,求补后放到FORTHF始的单元。(注意保留移出部分) 答:DATA SEGMENTFIRST DB 90H, 5FH, 6EH, 69HSECOND DB 5 DUP(?)THIRD DB 5 DUP(?)FORTH DB 4 DUP (?) DATA ENDSCODE SEGMENT;左移
28、2 位;AX=5F90H为低TASSUME C:S COD,E DS: DATA START: MOV AX, DATA MOV DS, AX LEA SI , FIRST LEA DI , SECOND MOV C,X 2 CLCMOV AX, WORD PTR SI 六位数据INC SIMOV DX WORD PTR SI; DX=696EH为高十六位数据PUSH DX;保存原有的高十六位数据PUSH AX;保存原有的低十六位数据ROL DX, CL; 将高位数据不带进位循环左移两位,即高 2 位数据在 DL 的低 2 位AND DL, 03H;让 DL 中仅保存移出的高2 位数据MOV
29、DI+4 , DL;将移出的高 2位数据放入 SECON珅的 最高单元中ROL AX, CL;将低位数据不带进位循环左移两位,即AX 的高 2 位在 AL 的低 2 位AND AL, 03H;让AL中仅保存移出的 AX高2位数据MOV BL , AL;将AL中的数据放入 BL中保存POP AX;弹出原有的低十六位数据POP DX;弹出原有的高十六位数据SHL DX, CL;将高位数据算术逻辑左移 2位SHL AX, CL;将低位数据算术逻辑左移 2位OR DL , BL; 将 AX 中移出的高2 位数据放入DX 的低 2 位MOV WORD PTR DI , AXMOV WORD PTR DI
30、+2 , DX;右移 2 位LEA SI , FIRSTLEA DI , THIRDMOV CX, 2CLCMOV AX WORD PTR SI ; AX=5F90H为低十六位数据INC SIINC SIMOV DX, WORD PTR SI ; DX=696EH 为高十六位数据PUSH DX;保存原有的高十六位数据PUSH AX;保存原有的低十六位数据ROR AX, CL;将低位数据不带进位循环右移两位,即低 2位 数据在 AH 的高 2 位AND AH, 0C0H让AH中仅保存移出的低2位数据PUSH CXMOV CX, 6SHR AH , CLPOP CXMOV DI , AH ;将移出
31、的低2 位数据放入THIRD 中的最低单元中ROR DX , CL;将低位数据不带进位循环左移两位,即AX 的高 2 位在 AL 的低 2 位AND DH, 0C0H; 让 DH 中仅保存移出的DX 低 2 位数据MOV BL , DHPOP AXPOP DXSHR DX, CLSHR AX, CLOR AH , BL2 位;将 DH 中的数据放入BL 中保存;弹出原有的低十六位数据;弹出原有的高十六位数据;将高位数据算术逻辑左移2 位;将低位数据算术逻辑左移2 位;将DX中移出的低2位数据放入AXMOV WORD PTR DI+1 , AXMOV WORD PTR DI+3 , DX ;求补
32、LEA SI , FIRSTLEA DI , FORTHMOV AX, WORD PTR SIINC SIINC SIMOV DX, WORD PTR SIXOR AX , 0FFFFHXOR DX , OFFFFHCLCADD AX , 01HADC DX , 0MOV WORD PTR DI ,MOV WORD PTR DI+2 ,MOV AH, 4CHINT 21H;AX=5F90H为低十六位数据; DX=696EH 为高十六位数据;将低十六位取反;将高十六位按位取反;低位加1,即可为原数的求;高位加低位加法时的进位AXDXCODE ENDSEND START5 .试编程序将内存从400
33、00H到4BFFFH的每个单元中均写入55H,并再逐个单元读出比较,看写入的与读出的是否一致。若全对,则将AL 置 7EH; 只要有错,则将AL 置 81H。DATA SEGMENTDA1 DB 55HCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000HMOV DS,AXMOV CX,0C000HMOV BX,0000HMOV AH,55HNEXT1: MOV byte ptrBX,AHINC BXLOOP NEXT1MOV BX,0000HMOV CX,0C000HMOV AL,81HNEXT2: MOV AH, BXCMP AH,55H
34、JNZ EXITINC BXLOOP NEXT2MOV AL,7EHEXIT: MOV AH,4CHINT 21HCODE ENDSEND START6 .在当前数据段4000H开始的128个单元中存放一组数据,试编程序将它们顺 序搬移到A000H开始的顺序128个单元中,并将两个数据块逐个单元进行比 较;若有错将BL置00H;全对则将BL置FFH试编程序。答:DATA SEGMENTORG 400HDA1 DB 128 DUP(?)ORG 0A00HDA2 DB 128 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTAR
35、T: MOV AX,DATAMOV DS,AXLEA SI,DA1LEA DI,DA2MOV CX,128AGAIN: MOV AL,SIINC SIINC DILOOP AGAINLEA SI, DA1LEA DI, DA2MOV CX,128NEXT: MOV AL,SIMOV BL,DICMP AL,BLJNZ ERRORINC SIINC DIMOV BL,0FFHLOOP NEXTJMP EXITERROR: MOV BL,00HEXIT: MOV AH,4CHINT 21HCODE ENDSEND START7 .设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,
36、 存放在D中;若有一个为零,则将其余两个也清零,试编写程序。答:DATA SEGMENTA DB ?B DB ?C DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXCMP A,00HJNZ LP1MOV B,0MOV C,0JMP LP4LP1: CMP B,00HJNZ LP2MOV A,0MOV C,0JMP LP4LP2: CMP C,00HJNZ LP3MOV A,0MOV B,0JMP LP4LP3: MOV AL,AADD AL,BADD AL,CMOV AH,4CHLP4: INT
37、 21HCODE ENDS END START8 . 有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束; 否则,按顺序将此元素插入表中适当的位置,并修改表长。答:DATA SEGMENTBUFF DB 100 DUP(?)DA1 DB (?)LENGTH DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,0MOV AL,DA1MOV CX,100FIND0: CMP BUFFSI,ALJZ EXITINC SIL
38、OOP FIND0MOV DI,99MOV SI,0COMPARE: CMP BUFFDI,ALJG INSERTMOV BL,BUFFDIMOV BUFFDI+1,BLDEC DICMP DI,SIJNL COMPAREJMP EXITINSERT: MOV BUFFDI+1,ALMOV LENGTH , 101EXIT: MOV AH,4CHINT 21HCODE ENDSEND START 9.内存中以FIRST和SECOND始的单元中分别存放着两个 16位组合的十进制 (BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRDS 始的单元。DATA SEGMENTF
39、IRST DD 34341212HSECOND DD 78785656HTHIRD DB ?,?,?,?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,FIRSTLEA DI,SECONDLEA BX,THIRDMOV CX,4CLCAGAIN:MOV AL,BYTE PTRSIMOV DL,BYTE PTRDIADC AL,DLDAAMOV BYTE PTRBX,ALINC SIINC DIINC BXLOOP AGAINJC AAMOV BYTE PTRBX,0JMP EXITAA:MO
40、V BYTE PTRBX,1EXIT: MOV AH,4CHINT 21HCODE ENDSEND START10. 编写一段程序,接收从键盘输入的10 个数,输入回车符表示结束,然后将这些数加密后存于BUFFg冲区中。加密表如下:输入数字:0,1,2,3,4,5,6,7,8,9; 密码数字:7,5,9,1,3,6,8,0, 2, 4。答:DATA SEGMENTMITABDB '7591368024'CONTEQU $-MITABBUFFDB 10 DUP (?), '$'YUANWEN DB 10 DUP (?), '$'DATAENDSCO
41、DE SEGMENTASSUME CS: CODE DS: DATASTART : MOV AX , DATAMOVDS, AXMOV SI,0MOV CX, CONTINPUT: MOV AH , 1INT21HCMP AL , 13JZ EXITANDAL, 0FHMOV YUANWENSI , ALINC SILOOP INPUTEXIT : LEABX, MITABMOV CX , SIMOV SI , 0JIAMI: MOV AL , YUANWENSIXLATMITABMOVBUFFSI, ALINC SILOOP JIAMIMOV AH, 4CHINT 21HCODE ENDSE
42、ND START11 .试编程序,统计由40000H开始的16K个单元中所存放的字符“ A”的个数, 并将结果存放在DX中。答:DATA SEGMENTDA1 DB 'A'BUFF DB 4000H DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,4000HMOV DS,AXMOV BX,0MOV CX,4000HFIND: MOV AL,BXMOV BL,DA1CMP AL,BLJNZ NEXTINC DXNEXT:INC SILOOP FINDMOV AH,4CHINT 21HCODE ENDSE
43、ND START12 .在当前数据段(DS),偏移地址为DATABT始的顺序80个单元中,存放着某班 80 个同学某门考试成绩。按如下要求编写程序:(1)编写程序统计90分;80 分89分;70 分79分;60 分69分,60 分的人数各为多少,并将结果放在同一数据段、偏移地址为 BTRXW始的顺序单 元中。(2)试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVERI元中。答:DATA SEGMENTBUFF DW 80 DUP(?)DA9 DB 0DA8 DB 0DA7 DB 0DA6 DB 0DA5 DB 0AVER DB 0DATA ENDSCODE SEGMENTASSUM
44、E CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,80COMPARE: MOV BX,0CMP BUFFBX,90JB LP8INC DA9JMP NEXTLP8: CMP BUFFBX,80JB LP7INC DA8JMP NEXTLP7: CMP BUFFBX,70JB LP6INC DA7JMP NEXTLP6: CMP BUFFBX,60JB LP5INC DA6JMP NEXTLP5: INC DA5JMP NEXTNEXT:INC BXLOOP COMPAREMOV CX,80XOR AX,AXMOV BX,00SUM: ADD A
45、X,BUFFBX INC BX LOOP LP1MOV CL,80DIV CLMOV AVER , ALMOV AH,4CHINT 21HCODE ENDSEND START13 . 编写一个子程序,对 AL 中的数据进行偶校验,并将经过校验的结果放回AL中。答:JIOU PROCPUSH CXPUSH BXXOR AH, AHPUSH AXMOV CL, 7LOOP1: SAR AL, 1ADC AH, 0LOOP LOOP1MOV AL, AHXOR AH, AHMOV BL, 2DIV BLMOV BL, AHPOP AXROR BL, 1OR AL, BLPOP BXPOP CXRET
46、JIOU ENDP14 .利用上题的子程序,对80000H开始的256个单元的数据加上偶校验,试编 程序。CODE SEGMENTASSUME CS: CODESTART : MOV AX, 8000HMOV DS, AXMOV SI, 0MOV CX, 256LP: MOV AL, SICALL JIOUMOV SI, ALINC SILOOP LPMOV AH, 4CHINT 21HJIOU PROCPUSH CXPUSH BXXOR AH, AHPUSH AXMOV CL, 7LOOP1: SAR AL, 1ADC AH, 0LOOP LOOP1MOV AL, AHXOR AH, AHM
47、OV BL, 2DIV BLMOV BL, AHPOP AXROR BL, 1OR AL, BLPOP BXPOP CXRETJIOU ENDPCODE ENDSEND START习题 51 .试述DRAM勺工作特点;与SRAM目比有什么长处和不足之处;说明它的使用场合。答:DRAM动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的。与SRAMf目比,DRAMT格便宜、速度慢、容量大,主要用来做主存储器,存 储程序和数据;而SRAMfc要用在Cache等对速度要
48、求高的情况。2 .试述DRAMM新过程和正常读/写过程的区别。答:刷新是以行为单位进行,且刷新过程中不能进行读写操作。3 . 设有一个具有20位地址和32位字长的存储器,问:( 1) 该存储器能存储多少个字节的信息?(2)如果存储器由512K*8位SRAM5片组成,需要多少片?( 3) 需要多少位作芯片选择?(1) 1)该存储器能存储4MB的信息。(2) 需要8 片 512K*8 位的芯片。(3) 需要1 位做芯片选择。4 .对于8KX 8位RAM&成的存储器系统,若某组的起始地址为08000H,则其末地址为多少?答:末地址为9FFF.5 .在8088最大方式系统总线上扩充设计 4K字
49、节的SRAMfr储器电路。SRAM5 片选用Intel 2114 ,起始地址从0000Ho试画出此存储器电路与系统总线的连接图。答:系统容量为4K*8bit ,芯片容量为1K*4bit ,所以一共需要8片芯片连接图如下:6 .在8088系统总线上扩充设计8K的字节的SRA的储器电路。SRAM5片选用Intel 6264 ,起始地址从04000H开始,译码器电路 74LS138.(1)计算此RAMff储区的最高地址是多少。( 2) 画出此存储器电路与系统总线的连接图。答: ( 1)最高地址是05FFFH。( 2)7.在8086最小方式系统总线上扩充设计 16K字节的SRA的储器电路,SRAM5片
50、选用Intel 6264 ,起始地址从04000H开始,译码器电路采用74LS138.(1)计算此RAM#储区域的最高地址是多少( 2) 画出此存储器与总线的连接图。答: (1) 07FFFH(2)习题 61. 什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称为接口电路,接口电路对输入/输出过程起缓冲和联络作用。接口的功能是有,数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。2. 计算机对I/O 端口编址时通常采用哪两种方法?在8086 系统中,用哪种方法进行编址?答: I/O 端口和存储器统一编址;I/O 端口单独编址。8086 系
51、统采用I/O 端口单独编址方式。3. CPUf口输入/输出设备之间传送的信息有哪几类?答 : 数据信息,控制信息,与状态信息。4. 简述CPUt外设进行数据交换的几种常用方式.答 : 程序控制方式: 特点是依靠程序的控制来实现主机和外设的数据传送,可分为无条件传送方式和查询方式.中断控制方式:每次输入和输出一个数据,CPL®要检查外设的状态。直接存储器存取控制方式:cpu不参加数据传送,而是由 DMA空制器来实现内存与外设,外设与外设之间的直接传递。通道方式:可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。外围处理机方式:由PPUtt立于主机工作,减少了 CPU空制外设的
52、负担。5无条件传送方式适用哪些场合?查询方式原理怎样?主要用在什么场合?答:无条件传送适用于简单的输入/ 输出设备,CPU 可以随时读取或接受状态。这些信号变化缓慢,当需要采集数据时,无需检查端口,就可以立即采集数据,直接用输入/输出指令完成。无条件传送方式主要用于控制 CPUtf低俗I/O接口 之间的信息交换。6.现有一输入设备,其数据端口的地址为 FFE0H并于端口 FFE2例供状态,当 其D0位为1时表明输入数据准备好。请编写采用查询方式进行数据传送的程序 段,要求从该设备读取100B并输入到1000H:2000H开始的内存中。MOV DX, 0FFE2HL1 : IN AL, DX这是
53、习题6的第 6题的答案,这个程序写不出来,建议删这一问TEST AL, 01HJZ L1MOV AX, 1000HMOV DS, AXMOV DX, 2000HMOV CX, 100MOV DX, 0FFE0HL2: IN AL, DXMOV DX, ALINC BXLOOPN L27查询式传送方式有什么优缺点?中断方式为什么能弥补查询方式的缺点?答:查询传送方式CPU!过程序不断查询相应设备的状态,状态不符合要求,则CPU!要等待;只有当状态信号符合要求时,CPUt能进行相应的操作。中断方式提高了计算机系统中信息处理的并行和处理器效率,中断可以实现同步操作,实时处理等功能。8. 8088/8086 中断向量表的作用是什么?答:中断向量表建立了不同的中断源与其相应的中断服务程序首地址之间的联系,它是CPUS响应中断时可以依据中断类型码自动转向中断服务程序。9. 什么叫中断向量?它放在哪里?对于 1CH的中断向量在哪里?如果1CH的中 断程序从5110H开始:2030H开始,则中断向量应该怎样存放?答:中断向量即用来提供中断入口地址的一个指针。10. 8259 中 IRR, IMR, ISR 三个寄存器的作用是什么?答:中断t#求寄存器IRR8259A有8条外部中断请求输入信号线IR0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内审和管理评审培训课件
- 手球指纹课件教学课件
- 营养门诊课件教学课件
- 第三章第一节第二课时铁盐和亚铁盐高一上学期化学人教版(2019)必修第一册
- 护理学科建设竞聘
- 2.3.2气体摩尔体积 课件 高一上学期化学人教版(2019)必修第一册
- 新食品安全责任制度
- 沉与浮科学教案反思
- 化学反应速率说课稿
- 好玩的沙子说课稿
- 专利检索制度
- BAND-IN-A-BOX 2004 快速入门教程(上)
- 阴阳五行学说ppt课件
- 电子科学与技术专业介绍图文ppt课件
- 檐口检验批质量验收记录
- 鉴定附件1关于组织2018年甘肃省教育科学规划课题集中鉴定结题的通知
- 球磨机安装施工工法
- 家校合作落实双减政策家长会动态PPT
- 新公司成立可行性报告范本1[5篇材料] (4)
- 储槽基础施工方案#吉林
- 综合实践活动衣服的学问一服装面料特点大搜索课件(7)ppt课件
评论
0/150
提交评论