用一条MASM语句完成要求:程序无条件转移到done标号  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:调用子程序sum  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将ECX寄存器内容与双字属性的变量var内容互换。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将寄存器EDX内容减去4578,差值存入EDX。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:定义双字变量var,初值有两个,依次是:110,120  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:获得变量var的偏移地址,并保存在EBX寄存器。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将寄存器EAX最高位改变为0,其他位保持不变。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:获得var变量的偏移地址,传送给ECX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将var变量值传送给EAX寄存器  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将DH内容传送给var双字变量最高字节部分  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将var双字变量最低字节部分传送给CL  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:获得变量var的偏移地址,并保存在EDX寄存器  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将var双字变量值增加99  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:定义一个字符串,名为string,内容是“hello.”  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将CX内容传送给var双字变量高字部分  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将寄存器EDX内容加上4578,和值存入EDX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:获得eq858双字变量的偏移地址,传送给EBX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将EAX寄存器内容赋值给eq858双字变量  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将eq858双字变量值压入堆栈  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将eq858双字变量最低字节部分传送给CL  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送回存储器中。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将eq858双字变量值减少100  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。  | 
          
          
             | 
          
		  
          
            数据段保存有如下字符串:string byte #39;Do not give up!#39;,0 ;以0结尾的字符串请在代码段,编写统计字符串中字符个数的程序片断(不包括结尾标志0)。  | 
          
          
             | 
          
		  
          
            如下在数据段为变量char预留了26个字母的存储空间。在代码段,编写程序片段,将大写字母A~Z依次存放进去。 .datachar byte 26 dup(?) .code  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将32位变量VARD与数3412H相加,并把结果送回该存储单元中。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。  | 
          
          
             | 
          
		  
          
            编写一个程序片段,实现将字符串中大写字母转换为小写字母的功能。已知EBX保存字符串的首地址,ECX保存字符串长度。  | 
          
          
             | 
          
		  
          
            编写一个程序片段,判断AL寄存器是不是数码“0”到“9”之间的ASCII码字符。如果是,则将BL设置为1;否则设置BL为0。  | 
          
          
             | 
          
		  
          
            编写一个程序片段,统计一个双字数据中所包含逻辑“1”的个数,假设这个数据保存在变量dwvar中。  | 
          
          
             | 
          
		  
          
            编写汇编语言程序片段,判断AL寄存器已经保存的字符是否是大写字母,如果是大写转换为小写字母;如果不是大写字母,则不变。  | 
          
          
             | 
          
		  
          
            编制一段程序,把变量var1和var2中较大者存入var3;若两者相等,则把其中之一存入var3中。假设变量存放的是32位无符号数。  | 
          
          
             | 
          
		  
          
            编制一个程序片断,把保存在变量dataA和dataB中较大的数据取出后存入maxC。假设变量存放的是32位有符号数。  | 
          
          
             | 
          
		  
          
            编写一个程序片段,在EDX低4位全为0时,使EAX=1;否则使EAX=-1。  | 
          
          
             | 
          
		  
          
            测试定义为字节单位的变量var的D0位,该位为1使AH=0,为0继续。  | 
          
          
             | 
          
		  
          
            MASM汇编语言中,在数据段如下定义了一个数组,请在代码段为其全部赋予初值1。 .datanumber = 500array byte number dup(?) .code  | 
          
          
             | 
          
		  
          
            使用移位、加减等指令实现将EBX内的无符号整数扩大17倍。注意,不允许使用乘法指令,要求有指令功能的简单注释。  | 
          
          
             | 
          
		  
          
            编制一个程序片断,将数组ARRAY所有元素求和,结果保存在变量SUM。假设数组元素为32位整数,个数用常量COUNT表示,且求和过程不会出现溢出或进位。  | 
          
          
             | 
          
		  
          
            指令CDQ将EAX符号扩展到EDX,即:EAX最高为0,则EDX=0;EAX最高为1,则EDX=FFFFFFFFH。请编程实现该指令功能。  | 
          
          
             | 
          
		  
          
            编写8253的初始化程序,使计数器0工作在方式1,按BCD码计数,计数值为3000。已知8253的计数器0~2和控制字I/O地址依次为204H~207H。  | 
          
          
             | 
          
		  
          
            设8253计数器1工作于方式1,按二进制计数,计数初值为400。假设该8253芯片计数器0~3以及控制字I/O地址依次为60H~63H。编写它的初始化程序段。  | 
          
          
             | 
          
		  
          
            编写8253的初始化程序,使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。已知8253的计数器0~2和控制字I/O地址依次为204H~207H。  | 
          
          
             | 
          
		  
          
            设8253计数器0工作于方式0,只需用8位二进制计数,其计数值为50。假设该8253芯片计数器0~3以及控制字I/O地址依次为90H~93H。编写它的初始化程序段。  | 
          
          
             | 
          
		  
          
            在PC机上,并行接口芯片8255A的端口B(I/O地址为62H)被设置为方式0输出,用若干条指令使其中PB4引脚输出低电平,其他引脚的高低电平不变。  | 
          
          
             | 
          
		  
          
            编写8253计数器2的初始化程序,使计数器2工作在方式1,仅用8位二进制计数,计数初值为210。已知8253的计数器0~2和控制字I/O地址依次为300H~303H。  | 
          
          
             | 
          
		  
          
            设8253的计数器1工作于方式5,按二进制计数,计数初值为4000H。假设该8253芯片计数器0~3以及控制字I/O地址依次为200H~203H。编写它的初始化程序段。  | 
          
          
             | 
          
		  
          
            编写8253的初始化程序,使计数器2工作在方式2,计数值为02F0H。已知8253的计数器0~2和控制字I/O地址依次为204H~207H。  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将数据3721传送给EBX寄存器  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:定义250为字节变量crazy的初值  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将EAX和EDX内容进行逻辑与,结果保存在EAX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:求反EAX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:程序无条件转移到again标号  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将EBX的内容减1  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:将EAX和EDX内容进行求和,结果保存在EAX  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:定义一个字符串,名为string,内容是“Try it.”  | 
          
          
             | 
          
		  
          
            用一条MASM语句完成要求:设置ESI为字符串string的偏移地址  | 
          
          
             | 
          
		  
          
            下段程序执行后,EAX=______________,EBX=______________  mov eax,1357ah add eax,10h sub ebx,ebx  | 
          
          
             | 
          
		  
          
            下段程序执行后,EAX=  (1)  ,EBX=  (2)  ,CF=  (3)   mov eax,98h add eax,8080h xor ebx,ebx  | 
          
          
             | 
          
		  
          
            下段程序执行后,ESI=  (1)  ,EDI=  (2)  ,CF=  (3)   mov esi,8899h mov edi,esi or esi,0 sub edi,8811h  | 
          
          
             | 
          
		  
          
            下段程序执行后,EAX=  (1)  ,EBX=  (2)  ,零位标志ZF=  (3)  。 mov eax,80h add eax,3 mov ebx,50h sub ebx,8  | 
          
          
             | 
          
		  
          
            下段程序执行后,EBX=  (1)  ,ECX=  (2)  ,进位标志CF=  (3)  。 mov ebx,2366h mov ecx,ebx sub ebx,1311h and ecx,0  | 
          
          
             | 
          
		  
          
            下段程序执行后,ESI=  (1)  ,EDI=  (2)  ,CF=  (3)   mov esi,3388h add esi,22h xor edi,edi  | 
          
          
             | 
          
		  
          
            下段程序执行后,EAX=  (1)  ,EDX=  (2)  ,ZF=  (3)   push dword ptr 8585h pop edx mov eax,edx add eax,105h  | 
          
          
             | 
          
		  
          
            下段程序执行后,ESI=____________,EDI=___________ mov esi,9ch mov edi,esi and esi,80h or edi,7fh  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov eax,80h ; EAX=__________ add eax,3 ; EAX=__________,CF=__________ add eax,80h ; EAX=__________,OF=__________  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov eax,100 ; EAX=__________ add ax,200 ; EAX=__________,CF=__________  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov eax,100 ; EAX=__________ add al,200 ; EAX=__________,CF=__________  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov al,7fh ; AL=__________ sub al,8 ; AL=__________,CF=__________ sub al,80h ; AL=__________,OF=__________  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov esi,10011100b ; ESI=__________H and esi,80h ; ESI=__________H or esi,7fh ; ESI=__________H xor esi,0feh ; ESI=__________H  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov eax,1011b ; EAX=__________B rol eax,2 ; EAX=__________B rcr eax,1 ; EAX=__________B or eax,3 ; EAX=__________B  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov eax,1010b ; EAX=__________B shr eax,2 ; EAX=__________B shl eax,1 ; EAX=__________B and eax,3 ; EAX=__________B  | 
          
          
             | 
          
		  
          
            给出如下每条指令执行后目的操作数的结果,并指出其源操作数的寻址方式。 .datadvar dword 3721h,4832h,5630h ;假设该变量的存储器地址是40040H .code mov eax,dvar ;EAX=______________,源操作数的寻址方式是_____________________ mov ebx,offset dvar ;EBX=______________,源操作数的寻址方式是_____________________ mov esi,[ebx] ;ESI=______________  | 
          
          
             | 
          
		  
          
            处理器执行如下程序片断,说明每条指令(和标志)的执行结果: mov edx,0f4h ; EDX=______________ sar edx,2  ; EDX=______________,CF=_____________  | 
          
          
             | 
          
		  
          
            填写下面指令的执行结果。 mov esi,9eh mov edi,esi and esi,80h ; ESI=____________H or edi,7fh ; EDI=____________H  | 
          
          
             | 
          
		  
          
            给出如下指令执行后目的操作数的结果,并指出其源操作数的寻址方式。 .datadvar dword 3721h,4832h,5630h ;假设该变量的存储器地址是40040H .code mov edx,100 ;EDX=______________,源操作数的寻址方式是_____________ mov esi,[ebx] ;目的操作数的寻址方式是__________,源操作数的寻址方式是__________ mov edi,[ebx+8] ;源操作数的寻址方式是__________  | 
          
          
             | 
          
		  
          
            填写下面指令执行的结果。 .dataarray dword 616h,727h,838h ;假设该变量的存储器地址是40100H .code mov esi,array+4 ;ESI=______________ mov edi,offset array ;EDI=______________ mov edx,[edi] ;EDX=______________  | 
          
          
             | 
          
		  
          
            填写下面指令的执行结果。 mov eax,3721h add eax,9 ; EAX=____________H mov ebx,50h sub ebx,8 ; EBX=____________H,ZF=________  | 
          
          
             | 
          
		  
          
            填写下面指令的执行结果。 mov ebx,3721h add ebx,7 ; EBX=____________H sub ebx,8 ; EBX=____________H or  ebx,80h ; EBX=____________H  | 
          
          
             | 
          
		  
          
            填写下面指令执行的结果。 .dataarray dword 616h,727h,838h ;假设该变量的存储器地址是40100H .code push array+8 ;array+8=______________ pop ecx ;ECX=______________  | 
          
          
             | 
          
		  
          
            给出下列指令执行后的结果。  mov eax,16H  mov ebx,eax ;EBX=____________H shl eax,2 ;EAX=____________H add eax,ebx ;EAX=____________H  | 
          
          
             | 
          
		  
          
            给出下列指令执行后的结果。 mov edx,13547hadd edx,23h ; EDX=______________,OF=__________xor edx,edx ; EDX=______________,CF=__________  | 
          
          
             | 
          
		  
          
            如下程序段将EAX和EBX中有符号数的较大值存放在DMAX变量中,请补充完整: cmp eax,ebx ___________ next _________________next: mov dmax,eax  | 
          
          
             | 
          
		  
          
            填写下面指令的执行结果(十六进制表达)。 mov eax,1355ah ; EAX=______________H add eax,14h ; EAX=______________H sub ebx,ebx ; EBX=______________H  | 
          
          
             | 
          
		  
          
            如下子程序实现数组元素求和,EBX指向一个数组,数组元素为8位数据,ECX保存数据个数。请补充完整。checksum proc xor al,alagain: add al,[ebx] (1)  (2)  again (3)checksum endp  | 
          
          
             | 
          
		  
          
            如下程序片段将EAX和EBX中无符号数的较小值存放在DWMIN变量中,请补充完整: cmp eax,ebx (1) next (2) next: mov dwmin,eax  | 
          
          
             | 
          
		  
          
            已知如下子程序中,EBX指向一个数组,数组元素为8位数据,ECX保存数据个数。为每个语句加上注释、说明其功能,并给出整个子程序所完成的功能。checksum proc xor al,alagain: add al,[ebx] inc ebx  loop again retchecksum endp  | 
          
          
             | 
          
		  
          
            如下程序片段统计以0结尾的字符串中字符个数,请补充完整。 ; 数据段string byte 'Do what you can do.',0 ; 代码段 xor ebx,ebx again: cmp string[ebx],0 jz  (1) inc (2) jmp (3)done: …  | 
          
          
             | 
          
		  
          
            什么是主机与外设进行数据交换的程序查询方式?  | 
          
          
             | 
          
		  
          
            主机与外设进行数据交换有哪几种常用方式。  | 
          
          
             | 
          
		  
          
            I/O地址(端口)的统一编址有什么特点?  | 
          
          
             | 
          
		  
          
            什么是IA-32处理器的除法错中断?什么情况下会出现该中断?请给出一个实例。  | 
          
          
             | 
          
		  
          
            简述中断传送的一般工作过程。  | 
          
          
             | 
          
		  
          
            给出4种主机与外设进行数据传送方式的名称。  | 
          
          
             | 
          
		  
          
            解释中断概念:中断识别、中断优先权、中断嵌套。  | 
          
          
             | 
          
		  
          
            8253芯片需要几个I/O地址,各用于何种目的?  | 
          
          
             | 
          
		  
          
            简述DMA传送的一般工作过程。  | 
          
          
             | 
          
		  
          
            什么是DMA传送,什么是DMA传送的DMA读和DMA写?  | 
          
          
             | 
          
		  
          
            什么是主机与外设进行数据交换的DMA传送?  | 
          
          
             | 
          
		  
          
            8253芯片每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?  | 
          
          
             | 
          
		  
          
            标志寄存器主要保存哪方面的信息?执行了一条加法指令后,发现ZF=1,说明结果是什么?  | 
          
          
             | 
          
		  
          
            什么是标志?什么是IA-32处理器的状态标志、控制标志和系统标志?  | 
          
          
             | 
          
		  
          
            说明标志ZF的含义,何时为0,何时为1?  | 
          
          
             | 
          
		  
          
            IA-32处理器有一个CF标志,它是如何定义的?并给出3条影响该标志的指令。  | 
          
          
             | 
          
		  
          
            使用MASM汇编程序,在数据段有一个语句“byte 37h,21,’no’”,它将使处理器为其分配多少个字节的主存空间?从低地址开始每个地址单元的内容依次是什么?  | 
          
          
             | 
          
		  
          
            使用MASM汇编程序,在数据段有一个语句“xyz  byte 56h,23,’ab’”,它将使变量xyz占用多少个字节的主存空间?从低地址开始每个地址单元的内容依次是什么?  | 
          
          
             | 
          
		  
          
            举例说明什么是Intel 80x86处理器数据存储的小端方式(Little Endian)?  | 
          
          
             | 
          
		  
          
            使用二进制8位表达无符号整数,257有对应的编码吗?数值500,能够作为字节变量的初值吗?为什么?  | 
          
          
             | 
          
		  
          
            在MASM中,字符“'F'”和数值46H作为MOV指令的源操作数有区别吗?为什么?  | 
          
          
             | 
          
		  
          
            为什么可以把指令“MOV AX, (34+67H)*3”中的数值表达式看成是常量?  | 
          
          
             | 
          
		  
          
            为什么说“XCHG EDX,CX”是一条错误的指令?  | 
          
          
             | 
          
		  
          
            都是获取偏移地址,为什么指令“LEA EBX, [ESI]”正确,而指令“MOV EBX, OFFSET[ESI]”就错误?  | 
          
          
             | 
          
		  
          
            INC,DEC,NEG和NOT都是单操作数指令,这个操作数应该是源操作数还是目的操作数?  | 
          
          
             | 
          
		  
          
            乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区别无符号数和有符号数运算?  | 
          
          
             | 
          
		  
          
            大小写字母转换使用了什么规律?  | 
          
          
             | 
          
		  
          
            说明如下ADD指令执行后,标志CF、ZF、SF、OF和PF的状态依次是什么? mov al,89h add al,al  | 
          
          
             | 
          
		  
          
            数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码0DH和0AH分别对应什么控制字符?  | 
          
          
             | 
          
		  
          
            执行如下程序片断后,CMP指令分别使得5个状态标志CF、ZF、SF、OF和PF为0还是为1?  mov eax,20h cmp eax,80h  | 
          
          
             | 
          
		  
          
            处理器执行指令“xor eax,eax”后,标志CF、ZF、SF、OF和PF的状态依次是什么?  | 
          
          
             | 
          
		  
          
            利用ADD指令的源操作数,各举一个指令实例说明什么是立即数寻址、寄存器寻址和存储器直接寻址。  | 
          
          
             | 
          
		  
          
            处理器的基本指令类型有数据传送、算术运算、逻辑运算、移位、流程控制等,以IA-32指令系统为例,对上述5种类型的指令各给出两个指令实例。  | 
          
          
             | 
          
		  
          
            执行如下程序片断后,CMP指令会使得哪些条件转移指令指令Jcc的条件成立、发生转移? mov eax,20h cmp eax,80h  | 
          
          
             | 
          
		  
          
            什么是JMP指令的近(near)转移和远(far)转移?  | 
          
          
             | 
          
		  
          
            什么是奇偶校验中的奇校验和偶校验?  | 
          
          
             | 
          
		  
          
            是什么特点决定了目标地址的相对寻址方式应用最多?  | 
          
          
             | 
          
		  
          
            子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?  | 
          
          
             | 
          
		  
          
            为什么判断无符号数大小和有符号大小的条件转移指令不同?  | 
          
          
             | 
          
		  
          
            处理器有哪4种最基本的总线操作(周期)?处理器8086有3个基本读写引脚:M/IO*、WR*和RD*(其中*号表示低电平有效),说明它们在进行这4种基本总线操作时的高低电平状态。  | 
          
          
             | 
          
		  
          
            参数传递的“传值”和“传址”有什么区别?  | 
          
          
             | 
          
		  
          
            ISA总线的时钟频率是8MHz,每2个时钟可以传送一个16位数据,计算其总线带宽。  | 
          
          
             | 
          
		  
          
            EISA总线的时钟频率是8MHz,每2个时钟可以传送一个32位数据,计算其总线带宽。  | 
          
          
             | 
          
		  
          
            处理器通过总线与存储器或外设进行数据交换,所以总线设计有4种最基本的总线操作(周期),请问是哪4种,表示怎样进行交换?  | 
          
          
             | 
          
		  
          
            8086处理器在最下组态有哪些基本的读写控制引脚信号,各是什么含义?  | 
          
          
             | 
          
		  
          
            为什么称处理器的数据总线是双向的?  | 
          
          
             | 
          
		  
          
            8086处理器的输入控制信号有RESET,HOLD,NMI和INTR,其含义各是什么?  | 
          
          
             | 
          
		  
          
            什么是微机的系统总线?一般将总线信号进一步分为哪3组总线?  | 
          
          
             | 
          
		  
          
            什么是指令周期、总线周期和时钟周期?  | 
          
          
             | 
          
		  
          
            半导体随机读写存储器有两类SRAM和DRAM,比较它们的主要特点。  | 
          
          
             | 
          
		  
          
            在半导体存储器件中,什么是RAM?SRAM和DRAM有什么区别?  | 
          
          
             | 
          
		  
          
            简述高性能存储系统的层次结构及各层存储部件的特点。  | 
          
          
             |