汇编语言参考答案.pdf
新版汇编语言程序设计习题答案(钱晓捷主编)电子教案

新版汇编语言程序设计习题答案(钱晓捷主编)新版汇编语言程序设计习题答案(钱晓捷主编)第一章汇编语言基础知识1.1、简述计算机系统的硬件组成及各部分作用1.2、明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB1.3、什么是汇编语言源程序、汇编程序、目标程序?1.4、汇编语言与高级语言相比有什么优缺点?1.5、将下列十六进制数转换为二进制和十进制表示(1)FFH (2)0H (3)5EH (4)EFH(5)2EH (6)10H (7)1FH (8)ABH1.6、将下列十进制数转换为BCD码表示(1)12 (2)24 (3)68 (4)127(5)128 (6)255 (7)1234 (8)24581.7、将下列BCD码转换为十进制数(1)10010001 (2)10001001 (3)00110110 (4)10010000(5)00001000 (6)10010111 (7)10000001 (8)000000101.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示(1)0 (2)-127 (3)127 (4)-57(5)126 (6)-126 (7)-128 (8)681.9、完成下列二进制数的运算(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001(5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7)1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?1.12、简述Intel 80x86系列微处理器在指令集方面的发展。
汇编语言程序设计(第四版)第3章【课后答案】

汇编语言程序设计第四版【课后习题答案】--囮裑為檤第3章汇编语言程序格式〔习题3.1〕伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用?〔解答〕伪指令语句与硬指令语句的本质区别是能不能产生CPU动作;伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。
〔习题3.2〕什么是标识符,汇编程序中标识符怎样组成?〔解答〕为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符;汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,?,@)组成,不能以数字开头。
〔习题3.3〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。
〔解答保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。
汇编语言对大小写不敏感。
如定义字节数和字符串的DB就是伪指令助记符。
〔习题3.4〕汇编语句有哪两种,每个语句由哪4个部分组成?〔解答〕汇编语句有执行性语句和说明性语句;执行性语句由标号、硬指令助记符、操作数和注释四部分组成;说明性语句由名字、伪指令助记符、参数和注释四部分组成〔习题3.5〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。
〔解答〕⒈编辑文本编辑程序汇编语言源程序.asm⒉汇编汇编程序目标模块文件.obj⒊连接连接程序可执行文件.exe或.com⒋调试调试程序应用程序〔习题3.6〕区分下列概念:(1)变量和标号(2)数值表达式和地址表达式(3)符号常量和字符串常量〔解答〕(1)变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。
(2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。
汇编语言习题答案

汇编语⾔习题答案第⼀章.习题1.1⽤降幂法和除法将下列⼗进制数转换为⼆进制数和⼗六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列⼆进制数转换为⼗六进制数和⼗进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列⼗六进制数转换为⼆进制数和⼗进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列⼗六进制数的运算,并转换为⼗进制数进⾏校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为⼗进制数,请⽤8位⼆进制补码计算下列各题,并⽤⼗六进制数表⽰其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6)-85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6下列各数为⼗六进制表⽰的8位⼆进制数,请说明当它们分别被看作是⽤补码表⽰的带符号数或⽆符号数时,它们所表⽰的⼗进制数是什么?(1) D8 (2) FF答:(1) D8H表⽰的带符号数为-40,D8H表⽰的⽆符号数为216;(2) FFH表⽰的带符号数为-1,FFH表⽰的⽆符号数为255。
汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。
答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。
答案:100H:200H3. 汇编语言中,指令CALL的作用是________。
汇编语言第三章答案

3.1 给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的寄存器寻址(4) 使用BX的简接寻址(5) 使用BX的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。
3.2 试根据以下要求写出相应的汇编语言指令(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。
(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。
(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。
(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。
(5) 把数0B5H与(AL)相加,并把结果送回AL中。
答:(1) ADD DX, BX(2) ADD AL, [BX][SI](3) ADD [BX+0B2H], CX(4) ADD WORD PTR [0524H], 2A59H(5) ADD AL, 0B5H3.3 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。
要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1) MOV BX, OFFSET BLOCKADD BX, (6–1)*2MOV DX, [BX](2) MOV BX, OFFSET BLOCK 改为:MOV BX, (6-1)*2MOV DX, [BX+(6–1)*2] 也可MOV DX, BLOCK[BX](3) MOV BX, OFFSET BLOCKMOV SI, (6–1)*2MOV DX, [BX][SI]3.4 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。
汇编语言程序设计(第四版)第4章【课后答案】

汇编语言程序设计(第四版)第4章【课后答案】汇编语言程序设计第四版【课后习题答案】--囮裑為檤第4章基本汇编语言程序设计〔习题4.1〕例题4.2如果要求算术右移8位,如何修改程序。
〔解答〕思路:首先由最高位字节向次低位字节传送……次低位字节向最低位字节传送(共7次);再判最高位字节符号位,如为0,送00h到最高位字节;如为1,送ffh到最高位字节。
传送可参考例题4.2,不过应从第一号字节送第零号字节,……最高位字节向次低位字节传送;也可以用循环来完成:.model small.stack 256.dataqvar dq 1234567887654321h.code.startupmov cx,7mov si,1again: mov al, byte ptr qvar[si]mov byte ptr qvar[si-1],alinc siloop againtest al,80hjz ezzmov bl,0ffhjmp doneezz: mov bl,0done: mov byte ptr qvar[7],bl.exit 0end〔习题4.2〕例题4.2如果要求算术左移7位,如何用移位指令实现。
〔解答〕思路:可设计外循环体为8个字节左移一次,方法是:最低位字节算术左移一次,次低位字节至最高位字节依次带CF 位循环左移一次(内循环共8次),外循环体控制执行7次即可。
.model small.stack 256.dataqvar dq 1234567887654321h.code.startupmov dx, 7 ;外循环次数mov ax, byte ptr qvar[0] ;最低位字节送axlpp: shl ax, 1 ;最低位字节左移一次,其d7移入CF位mov si, 1mov cx, 7 ;内循环次数again: rcl byte ptr qvar[si], 1 ;高位字节依次左移P50inc siloop againdec dxjnz lpp.exit 0.end〔习题4.3〕将AX寄存器中的16位数连续4位分成一组,共4组,然后把这4组数分别放在AL、BL、CL和DL寄存器中。
汇编语言程序设计(第四版)【课后答案】

汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
微机原理---汇编语言习题(完整参考答案)

微机原理---汇编语⾔习题(完整参考答案)MIS 硬件原理复习内容1.数的不同进制转换,原码、反码、补码转码,BCD码2.掌握D触发器逻辑3.D触发器组成的电路:卡诺图及简化、真值表、波形图、状态转换图4.三态门、总线结构5.存储器扩展⽅法:地址总线的作⽤,内存分页技术,地址译码⽅法,译码器6.86X 系列CPU 结构框图7.8086寄存器组,寻址⽅式8.指令,伪指令9.数据定义,完整程序结构10.汇编语⾔上机及调试过程1.分别指出下列指令中的源操作数和⽬的操作数的寻址⽅式:(1)MOV SI, 200(2)MOV CX, DA TA[SI](3)ADD AX, [BX][DI](4)AND AX, BX(5)PUSHF2.指出指令MOV AX, 2010H 和MOV AX, DS:[2010H]的区别3.写出以下指令中内存操作数的所在地址(1)MOV AL, [BX+5](2)MOV [BP+5], 5(3)INC BYTE PTR[SI+3](4)MOV DL, ES:[BX+DI](5)MOV BX, [BX+SI+2]4.判断下列指令书写是否正确(1)MOV DS, 0100H (错)(2)MOV AL, BX (错)(3)MOV BL, F5H (错)(4)MOV DX, 2000H (对)(5)INC [BX] (对)(6)MOV 5, AL (错)(7)MOV [BX], [SI] (错)5.若SP=2000H, AX=3355H, BX=4466H, 试指出执⾏下列指令后有关寄存器的值:(1)PUSH AX;执⾏后AX=? SP=? (AX=3355H SP=1FFEH)(2)PUSH AXPUSH BXPOP DX;执⾏后AX=? DX=? SP=?(AX=3355H DX=4466H SP=1FFEH)6.假设想从100中减去AL中的内容,⽤SUB 100, AL是否正确?如果不对,应⽤什么⽅法?7.有如下程序,当AL某位为何值时,可将程序转⾄AGIN2语句。
汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。
(1)ADD DX,BX(2)ADD AL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADD AL,0B5H3.(1)寄存器间接寻址MOV BX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3)基址变址寻址MOV BX,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(2 1200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
《汇编语言》各章习题答案

汇编语言各章习题答案习题一答案:1.1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH1.2 5E8AH,0BE6H,3DEH,4940H1.3 00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1171.4 00101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2071.5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H1.6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 1.7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码1.8(1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H(4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD码0000001001010100,ASCII码323534H1.9(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=11.10回车、换行、响铃、ESC键、空格键、@、P、p习题二答案:2.9最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)2.10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP2.11字节单元保存8位数,字单元保存16位数。
《汇编语言程序设计》课后习题6.5参考答案

6.5 下面是一个程序清单,请在下面的图中填入此程序执行过程中的堆栈变化。
;*************************0000 STACKSG SEGMENT0000 20 [. DW 32 DUP (?)? ? ? ?]0040 STACKSG ENDS;*************************0000 CODESG SEGMENT PARA ‘CODE ’;--------------------------------------0000 BEGIN PROC FARASSUME CS: CODESG , SS: STACKSG0000 1E PUSH DS0001 2B C0 SUB AX, AX0003 50 PUSH AX0004 E8 0008 R CALL B10;--------------------------------------0007 CB RET0008 BEGIN ENDP;--------------------------------------0008 B10 PROC0008 E8 000C R CALL C10;--------------------------------------000B C3 RET000C B10 ENDP;--------------------------------------000C C10 PROC;--------------------------------------000C C3 RET000D C10 ENDP;--------------------------------------000D CODESG ENDS;*************************END BEGIN答:程序执行过程中的堆栈变化如下图所示。
注意:(上图中画图偏移地址是按字排,考试应该按字节排)1) 先填写最下面的偏移地址,即0020H (如试卷中一般可根据LIST 表中的代码行“TOP LABEL WORD ”之前的地址得到),这个存储单元空着,不放任何数据或地址;然后偏移地址从下往上以“字”为间隔排序分别为:001EH,001CH,001AH,0018H,0016H. ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) SP : (DS) ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) 0000 (DS) ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) 0007 0000 (DS) 0020H 001EH 001CH 001AH ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) 000B 0007 0000 (DS) ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) SP : 000B 0007 0000 (DS) ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) 000B 0007 0000 (DS) ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H )000B00070000(DS) 0018H 001AH 001CH 0020H ( 0016H ) ( 0018H ) ( 001AH ) ( 001CH ) ( 001EH ) ( 0020H ) BEGIN PUSH DS PUSH AX CALL B10偏移地址 堆栈(见上面8个图中第一行的第一个图)2)考试时,一般只需要填写一个图,即堆栈满时的情况,如第2行的第一个图。
汇编语言程序设计教程(第二版)习题参考答案

汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。
科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。
书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。
2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。
电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。
计算机能同时处理二进制信息的位宽定义为计算机的字长。
如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。
4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。
非数值数据如字符、字符串、逻辑值等。
(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。
二进制用B,如10101010B八进制用Q,如437Q。
十进制用D或不用,如54D,或54。
十六进制用H,如27A8H10.完成下列二进制数的加减运算。
(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。
(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。
汇编语言程序设计练习题及参考答案

一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。
汇编语言(王爽)第三版检测点答案(带目录).pdf

汇编语言(王爽)第三版检测点答案(带目录).pdf汇编语言答案(王爽)第一章检测点1.1(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。
(2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。
(3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。
(4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。
(5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。
则它们一次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。
(7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。
(8)在存储器中,数据和程序以二进制形式存放。
解题过程:(1)1KB=1024B,8KB=1024B*8=2^N,N=13。
(2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。
(3)8Bit=1Byte,1024Byte=1KB (1KB=1024B=1024B*8Bit)。
(4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。
(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。
这样的CPU最多可以寻找2的N次方个内存单元。
(一个内存单元=1Byte)。
(6)8根数据总线一次可以传送8位二进制数据(即一个字节)。
(7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。
汇编语言试题及答案

汇编语言试题及答案一、选择题1. 下列汇编指令中,用于加载立即数至寄存器的是:A. MOVB. ADDC. SUBD. XOR答案:A. MOV2. MOV指令中,源操作数与目的操作数的位数必须相同吗?A. 是B. 否答案:B. 否3. 下列指令中,用于从内存读取数据的是:A. MOVB. JMPC. ADDD. LEA答案:D. LEA4. 下列寻址方式中,可以直接给出操作数的地址的是:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 寄存器间接寻址答案:A. 直接寻址5. CPU中的程序计数器(PC)用于保存:A. 下一条指令的地址B. 当前指令的地址C. 上一条指令的地址D. 中断服务程序的地址答案:A. 下一条指令的地址二、填空题1. 8086处理器的数据总线位数是_________。
答案:162. MOV AX, BX 汇编指令是将______的值复制到______。
答案:BX,AX3. 寻址方式LEA BX, [SI+DI]的含义是将_______与_______的和作为BX的值。
答案:SI,DI4. 8086处理器的寻址空间大小是_________。
答案:1MB5. 标志寄存器中的ZF标志位表示_________。
答案:零标志位,表示结果为零三、简答题1. 简述什么是汇编语言?汇编语言是一种底层的程序设计语言,通过使用助记符来代替具体的操作码,使得编写的代码易于阅读和理解。
汇编语言直接操作计算机硬件,与机器语言密切相关,最终会被翻译成机器语言运行在计算机上。
2. 什么是寄存器?寄存器是计算机内部用于存储数据和执行操作的高速存储器。
不同的计算机体系结构会有不同的寄存器数量和用途。
寄存器的访问速度非常快,因此在编写汇编语言代码时,经常使用寄存器来进行数据的操作和传递。
3. 请举例说明MOV指令的用法及其作用。
MOV指令用于将数据从一个位置复制到另一个位置。
它可以将立即数、寄存器或内存中的数据复制到目标寄存器或内存位置。
汇编语言课后习题及答案_按章节_超全面[1]
![汇编语言课后习题及答案_按章节_超全面[1]](https://img.taocdn.com/s3/m/65c65a0902020740be1e9be9.png)
`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。
(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。
(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。
(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。
(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。
(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。
(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。
(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。
2.目前广泛使用的Pentium计算机其字长为5个字节(×)。
3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。
4.微型计算机的字长并不一定是字节的整数倍(×)。
三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。
2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。
汇编语言程序设计第四版第3章课后答案

汇编语言程序设计第四版第3章课后答案第3章课后答案1. 简答题1) 什么是机器代码?机器代码是计算机能够直接执行的二进制指令形式。
每个机器代码指令都对应着特定的操作,如加法、乘法、跳转等。
2) 简要解释高级语言和低级语言的区别。
高级语言是相对于机器语言而言的,它使用更接近自然语言的语法,提供了更多的抽象和封装,便于程序员编写和维护。
低级语言是直接面向硬件的,更加底层和繁琐,需要人工管理更多的细节。
3) 在汇编语言中,标号有什么作用?标号在汇编语言中用于标识一个程序或一段代码的起始位置,它可以被跳转指令引用,使程序执行流程可以根据条件或需求进行跳转。
4) MOV指令和ADD指令有什么区别?MOV指令用于将一个值从一个位置复制到另一个位置,而ADD指令用于将两个值相加并将结果存储在指定位置。
MOV指令只进行简单的值传递,ADD指令涉及运算操作。
5) 什么是汇编器?它的作用是什么?汇编器是一种将汇编语言转化为机器码的工具。
它将汇编语言源代码转换为机器可以直接执行的二进制指令,使程序能够在计算机上运行。
2. 选择题1) 在一台计算机上,每个指令都以二进制表示。
这个二进制串被解释成对应的操作。
这句话描述了:a) 汇编语言b) 机器码 (正确答案)c) 高级语言2) MOV指令用于:a) 在寄存器之间传递数据 (正确答案)b) 进行加法运算c) 进行跳转操作3) 汇编语言的源代码以什么文件扩展名保存?a) .asm (正确答案)b) .exec) .txt4) 在汇编语言中,用于标识起始位置的符号称为:a) 操作码b) 标号 (正确答案)c) 寄存器5) 汇编器的作用是:a) 将机器码转换为汇编语言b) 将汇编语言转换为机器码 (正确答案)c) 将高级语言转换为机器码3. 程序设计题编写一个汇编程序,实现将两个数字相加的功能。
```asmDATA SEGMENTNUM1 DB 10NUM2 DB 20RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AL, NUM1ADD AL, NUM2MOV RESULT, ALMOV AH, 4CHINT 21HCODE ENDSEND START```程序解读:1) 首先声明了一个数据段(DATA SEGMENT),其中定义了NUM1和NUM2两个字节变量,用于存储待加的两个数字;RESULT 变量用于存储结果。
汇编语言_王爽_详细答案

第一章检测点1.11) 13(2) 1024,0,1023(3) 8192,1024(4) 2^30,2^20,2^10(5) 64,1,16,4(6) 1,1,2,2,4(7) 512,256(8) 二进制注:符号'^'指求幂运算(如: 2^30指2的30次方)第二章检测点2.1(1)大家做这题的时候一定要注意,要看清楚数制,比如是二进制还是十进制,还是十六进,我当时没注意,做错了!!呵呵!!第一空:F4A3H第二空:31A3H第三空:3123H第四空:6246H第五空:826CH第六空:6246H第七空:826CH第八空:04D8H第九空:0482H第十空:6C82H第十一空:D882H第十二空:D888H第十三空:D810H第十四空:6246H(2)mov ax,2add ax,axadd ax,axadd ax,ax检测点2.2(1)00010H 1000fH(2)0001H 2000H检测点2.3共修改了4次ip 第一次mov ax,bx 第二次是sub ax,ax 第三次是jmp ax 第四次是执行jmp ax 最后ip的值是0 因为ax的值是零!!检测点3.1(1)第一空:2662H第二空:E626H第三空:E626H第四空:2662H第五空:D6E6H第六空:FD48H第七空:2C14H第八空:0000H第九空:00E6H第十空:0000H第十一空:0026H第十二空:000CH注意:ax中存取的是字型数据,高地址存放高字节,低地址存放低字节!!(一定要小心)(2)①写出cpu的执行序列Mov ax,6622Jmp 0ff0:0100Mov ax,2000HMov ds,axMov ax ,[0008]Mov ax,[0002]②指令执行顺序寄存器CSDSAXBX初值2000H 00001000Hmov ax,6622h 2000H 00031000H 6622H 0000jmp 0ff0:0100 1000h00001000H 6622H 0000mov ax,2000h 1000H 00031000H 2000H 0000mov ds,ax 1000H 00052000H 2000H 0000mov ax,[0008] 1000H 00082000HC389H0000mov ax,[0002]1000H000B2000HEA66H0000③数据和程序在计算机中都是以二进制的形式存放的,在区别程序和数据时,关键是看段地址,如果段地址是ds段,说明该内存中存放的是数据,如果段地址是cs段,说明该内存中存放的是程序指令检测点3.2(1)Mov ax,2000HMov ss,axMov sp,0010H(2)Mov ax,1000HMov ss,axMov sp,0000H注意:出栈时和入栈时的顺序,空栈时栈顶指向的是最高端地址!栈满是栈顶指针指向的是最底端地址!!2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编参考答案
注:题目旁的数字为课本页码
1.处理器的性能指标。
1
处理器的性能用字长、时钟频率、集成度等基本的技术参数来衡量。
字长:表明处理器每个时间单位可以处理的二进制数据位数,如一次运算、传输的位数。
时钟频率表明处理器的处理速度,反映了处理器的基本时间单位。
集成度表明处理器的生产工艺水平,通常用芯片上集成的晶体管数量来表达。
2.冯诺依曼的基本思想。
10
(1)采用二进制形式表示数据和指令,指令有操作码和地址码组成
(2)将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执
行,自动完成计算任务。
(3)指令的执行时顺序的,即一般按照指令在存储器中的存放的顺序执行,程序
分支由转移指令实现。
(4)计算机有存储器运算器,控制器。
输入设备和输出设备五大基本部件组成,
并规定了5部分的基本功能。
3.有三种系统总线是哪些13或154
地址总线、数据总线、控制总线
4.计算机系统的层次结构17184
(1)第0层数字电路层
(2)第1层控制层
(3)第2层机器语言层
(4)第3层操作系统层
(5)第4层汇编语言层
(6)第5层高级语言层
(7)第6层用户层
5.软件与硬件的等价性原理19
软件与硬件的等价性原理是指软硬件在逻辑功能上的等价,并不意味着性能和成本的等价。
6.区别如下概念:助记符,汇编语言,汇编语言程序和汇编程序
助记符:帮助记忆指令的符号,反应指令的功能。
处理器指令助记符可以是任何一条处理器指令,表示一种处理器操作。
44
汇编语言:为了便于理解与记忆,将机器指令用助记符代替形成的一种语言18汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。
汇编程序:汇编语言程序翻译成机器语言的过程称为汇编,完成汇编工作的程序就是汇编程序(Assembler)。
18
7.移位指令SHL SAL SHR SAR ROL ROR RCR93
SHL(Shift Left):逻辑左移
SHR(Shift Right):逻辑右移
SAL(Shift Arithmetic Left):算术左移
SAR:算术右移
ROL(Rotate Left):循环左移
ROR(Rotate Right):循环右移
RCR(Rotate through Carry Right):带进位循环右移
8.什么是存储器芯片的全译码和部分译码?各有什么特点194
全译码:使用全部系统地址总线进行译码。
特点是地址唯一,一个存储单元只对应一个存储器地址(反之亦然),组成的存储系统其地址空间连续。
部分译码:只使用部分系统地址总线进行译码。
其特点:有一个没有被使用的地址信号就有两种编码,这两种编码指向同一个存储单元,出现地址重复:一个存储单元对应多个存储器地址,浪费存储空间。
B总线理论上能连接多少个设备177
USB通过集线器理论上可以连接多达127个USB设备。
10.汇编语言程序开发过程,有哪些步骤49
编辑:用文本编辑器形成一个以ASM为扩展名的源程序文件。
汇编:用汇编程序将ASM文件转换为OBJ模块文件。
连接:用连接程序将一个或多个目标文件链接成一个EXE或COM可执行文件。
调试:用调试程序排除错误,生成正确的可执行文件。
11.存储系统的层次结构以及各层存储部件的特点184
(1)CPU寄存器。
是处理器内部的存储单元,要处理器执行核心集成在一起,是透明的。
(2)高速缓存由静态存储器ARAM技术构成,完全用一件实现了主存储器速度的提高是透明的,不可见的。
(3)主存存储器(RAM/ROM)存放当前运行的程序和数据,采用半导体存储器构成,与处理器在同一主板上,。
(4)辅助存储器以光盘或磁盘形式存放可读,可写或只读内容。
且读取磁盘或关盘需要相应的驱动设备,并以外设方式连接和访问。
12.什么是接口,接口的功能有哪些221~223
外设不会像存储器芯片那样直接与处理器相连,必须经过一个转换电路,这部分就是输入输出接口电路,简称I/O接口,I/O接口是位于基本系统与外设间实现两者数据交换的控制电路
基本功能
(1)数据缓冲用于匹配快速的处理器与相对慢速的外设之间的数据交换,与数据寄存器的作用相对应。
(2)信号变换将信号相互转换为适合外设与数字计算机的形式
13.8个通用寄存器,标志寄存器CF OF ZF PF32~35
EAX-累加器,使用频度最高,用于算术运算、逻辑运算以及与外设传送信息等。
EBX-基址寄存器,常用来存放存储器地址,以方便指向变量或数组中的元素。
ECX-计数器,作为循环操作等指令中的计数器。
EDX-数据寄存器,可用来存放数据,其中低16位DX常用来存放外设端口地址。
ESI-源变址寄存器,用于指向字符串或数组的源操作数。
源操作数是指被传送或参与运算的操作数
EDI-目的变址寄存器,用于指向字符串或数组的目的操作数。
目的操作数是指保存传送结果或运算结果的操作数。
EBP-基址指针寄存器,默认情况下指向程序堆栈区域的数据,主要用于在子程序中访问通过推栈传递的参数和局部变量。
ESP-堆栈指针寄存器,专用于指向程序堆栈区域顶部的数据,在涉及堆栈操作的指令中会自动增加或减少。
CF-进位标志针对无符号证书运算设计的,反映无符号数据加减运算的结果是否超出范围,是否需要利用进(借)位反映正确结果。
OF-溢出标志用于表达有符号证书进行加减运算的结果是否超出范围。
ZF-零标志反映运算结果是否为零。
PF-奇偶标志反映运算结果最低字节中“1”的个数是偶数还是奇数。
14.存储器技术指标183
存储器主要用容量、速度和成本来评价。
其中,存储器成本通常用每位价格衡量。
一、存储容量:微机系统地存储容量总是以字节(Byte)为基本单位,半导体存储器芯片常以位(Bit)为基本单位表达存储容量。
二、存取速度存储器主要采用存取时间衡量其存取速度。
存取时间是指从读/写/命令发出,到数据传输操作完成所经历的时间。
有时还用存取周期表达两次存储器访问所允许的最小时间间隔,存取周期大于等于存取时间。
15.总线性能指标有哪些157~158
通常使用总线的宽度、频率和带宽描述总线的数据传输能力,即性能指标。
总线带宽:是指单位时间内总线上可传送的数据量。
总线频率:是指总线信号的时钟频率(工作频率),时钟频率越高,工作速度越快。
总线宽带:是指单位时间传输的数据量,也称为总线传输速度或吞吐率。
16.8237A的4种工作方式是什么?252
(1)单字节传送方式
(2)数据块传送方式
(3)请求传送方式
(4)级联方式
17.8253有几个独立的计数通道?是几位的,每个计数器有哪几种工作方式. 257~260
可编程计数/定时芯片8253,有3个独立的16位计数器通道。
每个计数器有6种工作方式。
(1)方式0技术结束中断
(2)方式1可编程单稳脉冲
(3)方式2频率发生器(分频器)
(4)方式3方波发生器
(5)方式4软件触发选通信号
(6)方式5硬件触发选通信号
18.8259A是什么控制器243
是中断控制器
19.什么是中断,中断系统有几种中断,内部中断有哪些,外部中断有哪些。
中断:处理器在执行程序时,被内部或外部的事件打断,赚取执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序,这个过程称为中断。
235
中断系统有内部中断和外部中断253
内部中断(也称为异常)有:除法错异常、调试异常、断点异常、溢出异常、执行无效代码引起的异常、通用保护异常、页面失效异常等。
238
外部中断有:不可屏蔽中断、可屏蔽中断240
20.I/O接口主要的两个基本功能。
222
(1)数据缓冲用于匹配快速的处理器与相对慢速的外设之间的数据交换,与数据寄存器的作用相对应。
(2)信号变换将信号相互转换为适合外设和数字计算机的形式
21.I/O独立编址和统一编址,及特点。
223~224
独立编址是将I/O端口单独编排地址,独立于存储器地址。
特点: 优点不占用宝贵的存储器空间;I/O指令使程序中的I/O操作一目了然;较小的I/O地址空间使地址译码简单。
不足主要是I/O指令的功能简单,寻址方式没有存储器指令丰富。
统一编址是将I/O端口与存储器地址统一编排,共享一个地址空间。
统一编址特点: 优点:处理器不用设计I/O指令和引脚,丰富的存储器访问方法同样能够运用于I/O访问。
不足:I/O端口会占用存储器的部分地址空间,通过指令不易辨认I/O操作。
22.系统最多有多少个中断241
256个。