有答案的汇编习题 下载本文

1. 计算机系统概述 习题

1、简述计算机系统的构成。(1.1) 2、试述汇编语言的特点。(1.1)

3、将下列十进制数转换为二进制数和十六进制数。(1.2.1) (1)369 (2)10000 (3)4095 (4)32767

4、将下列二进制数转换为十六进制数和十进制数。(1.2.1)

(1)101101 (2)10000000 (3)1111111111111111 (4)11111111 5、将下列十六进制数转换为二进制数和十进制数。(1.2.1) (1)FA (2)5B (3)FFFE (4)1234

6、试分别判断下列各组数据中哪个数据最大?哪个最小?(1.2.1) (1)A=0.101B B=0.101D C=0.101H (2)A=1011B B=1011D C=1011H

7、将下列十进制数转换为BCD码。(1.2.2) (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 8、将下列BCD码转换为十进制数。(1.2.2)

(1)1001,0001 (2)1000,1001 (3)0011,0110 (4)1001,0000 (5)0000,1000 (6)1001,0111, (7)1000,0001 (8)0000,00010 9、请写出下列字符串的ASCII码值。(1.2.2) For example,

This is a number 3692.

10、下列各数为用十六进制表示的8位二进制数,它们所表示的十进制数及被看作字符的ASCII码时的字符是什么?(1.2.2)

(1)4F (2)2B (3)73 (4)59

11、下列各数为十六进制表示的8位二进制数,说明当它们分别被看作是无符号数或用补码表示的带符号数时,所表示的十进制数是什么?(1.2.3) (1)D8 (2)FF

12、现有一个二进制数10110110,若将该数分别看作是无符号数,原码表示的带符号数,补码表示的带符号数,它对应的十进制数的真值分别是多少?(1.2.3)

13、将下列十进制数分别用8位二进制数的原码、反码和补码表示。(1.2.3) (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)68

14、计算机中有一个\编码,如果把它认为是无符号数,它是十进制的什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?(1.2.3) 15、完成下列无符号二进制数的运算。(1.2.4)

(1)11,1010+1011,0111 (2)1,0010,0011,0100+1010,1111

(3)1010,1011,1100,1101-1111,1110 (4)111,1010,1011*110,1111

16、下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其结果。(1.2.4) (1)(-85)+76 (2)85+(-76) (3)85-76 (4)85-(-76) (5)(-85)-76 (6)-85-(-76) 17、完成下列二进制数的运算。(1.2.4)

(1)1011,1000/1001 (2)1011∧1001 (3)1011∨1001 (4)~1011 (5)1011⊕1001

18、简述Intel 80X86系列CPU体系结构发展。(1.3)

19、简述PC机最低1MB主存空间的使用情况。 (1.4) 20、列出8086寄存器时所用的DEBUG命令是什么?(1.4)

第二章 8086指令系统 习题

1、简述标志寄存器各个位的含义。(2.1) 2、简述8086机器代码格式。 (2.2)

3、分别指出下列指令中源操作数和目的操作数的寻址方式。(2.2) (1)MOV SI,100 (2)MOV CX,DATA[SI] (3)MOV [SI],AX (4)PUSHF

4、假定DS=2000H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令中源操作数字段是什么寻址方式?它的物理地址是多少?(2.2) (1)MOV AX,100H (2)MOV AX,[100H] (3)MOV AX,[BP] (4)MOV AX,VAL[BX][SI]

5、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式。(2.2) (1)AND AX,0FFH (2)AND BL,[0FFH] (3)MOV DS,AX

(4)CMP [SI],CX (5)MOV DS:[0FFH],CL (6)SUB [BP][SI],AH (7)ADC AX,0ABH (8)OR DX,-35[BX][DI] (9)PUSH DS

6、给定(BX)=637DH (SI)=2A9BH 位移量D=7237H,试确定下列各种寻址方式下的有效地址是什么?(2.2) (1)直接寻址 (2)使用BX的寄存器寻址 (3)使用BX的间接寻址 (4)使用BX的寄存器相对寻址 (5)基址变址寻址 (6)相对基址变址寻址 7、指出下列指令中的错误。(2.3)

(1)MOV AH,BX (2)MOV [BX],[SI]

(3)MOV AX,[SI][DI] (4)MOV BYTE PTR[BX],1000 (5)MOV CS,AX

8、计算下列4条指令中操作数的地址并指出执行结果。(2.3) (1) MOV 1[BX+SI],AX (2) MOV 2[BP+SI],BX (3) MOV 3[BX+DI],CX (4) MOV 4[BP+DI],DX 假定执行前:

(DS)=1000H, (SS)=2000H, (BX)=300H, (BP)=400H, (SI)=50H, (DI)=60H, (AX)=12H, (CX)=13H, (DX)=15H. 9、指出下列指令的功能。(2.3) MOV BX,OFFSET TAB MOV AL,4 XLAT TAB

10、分别指出下列各条指令的功能。(2.3) MOV SI,OFFSET NUM LEA SI,NUM MOV AX,[SI] LEA AX,[SI] LEA DI,4[SI] LEA POIN,BUF MOV POIN,OFFSET BUF

11、编指令实现两个双精度数SUB1和SUB2的减法运算,相减后结果保存在DSUB和DSUB+2的单元中。(2.4) 12、若AL=0B4H,BL=11H,指令MUL BL和指令IMUL BL分别执行后,它们的结果为何值?OF、CF为何值?(2.4)

13、写出完成下述功能的程序段。(2.4) (1)传送25H到AL寄存器。 (2)将AL内容乘以2。 (3)传送15H到BL寄存器。 (4)AL的内容乘以BL的内容。 问最后结果AX=?

14、写出实现\的运算的程序段。(2.4)

15、下述程序段执行完后,AX和SI中的内容各为多少?(2.4) MOV AL,-7 CBW MOV SI,AX

16、阅读下列程序,写出此程序所完成的运算算式。已知符号常量A,B,C分别表示数值常量a,b,c。(2.4) MOV AX,A IMUL B MOV CX,AX MOV BX,DX MOV AX,C CWD ADD AX,CX ADC DX,BX SUB AX,70 SBB DX,0 IDIV A MOV D,AX MOV D+2,DX

17、编写程序段实现字节非压缩的BCD码53除以字节非压缩的BCD码3,要求商置于字节单元C中,余数置于字节单元R中。(2.4)

18、如(BCD1)=1834,(BCD2)=2789,要求执行(BCD3)<-(BCD1)+(BCD2),BCD1和BCD2均为用压缩的BCD码表示的十进制数,由于它们都是4位数,所以每个数占有2个字节,高位数占有高位字节,其存放方式为 (BCD1)=34, (BCD1+1)=18 (BCD2)=89, (BCD2+1)=27。(2.4)

19、分析下面程序段中第三条语句执行后,AL中的内容是多少?(2.5) A EQU B6H MOV AL,0ABH AND AL,A AND 0FDH

20、对给定字节数据,用指令序列实现下述要求: (1)屏蔽0BFH的0、1位; (2)将43H的第5位置1;

(3)测试40H的第0,1,2,3,5,7,位是否为0;

(4)测试AL寄存器中字节数的第2位是否为1,如为1则转NEXT执行; (5)将11H的第0、1两位变反;

(6)测试AL寄存器内容是否与04FFH相等,若相等则转NEXT执行。(2.5)

21、将S1为起始地址的30个字符依次传送到同数据段的以S2为起始地址的一段字节存储单元中。(2.6) 22、有一段程序如下:(2.6)

MOV CX,10 LEA SI,FIRST LEA DI,SECOND CLD REP MOVSB

(1)这个程序段完成什么操作? (2)REP和MOVSB哪部分先执行?

(3)MOVSB第一次执行时,要完成什么动作? (4)REP第一次执行时,要完成什么工作? 23、用其它指令完成和下列指令一样的功能。(2.6) (1)REP MOVSB (2)REP STOSB

24、阅读下列程序段,指出它所完成的运算。(2.7) CMP AX,0 JGE EXIT NEG AX EXIT:??

25、分析下面两条语句的功能。(2.7) CMP AX,0 JNE T

26、编程序段计算S=2+4+6+??+200.(2.7)

27、比较AX,BX,CX中带符号数的大小,并将最大数放在AX中。试编写此程序段。(2.7) 28、编写程序段将DATA中的100个字节数据的位置颠倒过来。(2.7) 29、试编写一程序段,求符号函数SNG(X)的值。(2.7)

30、有一串L个字符的字符串存储于首地址为ASCII_STR的存储区中。如要求在字符串中查找\空格\(ASCII码为20H)字符,找到则继续执行,如未找到则转到NOT_FOUND去执行,编制实现这一要求的程序。(2.7)

第三章 汇编语言程序格式 习题

1. 简述汇编语言程序的两种格式。(3.1) 2. 简述汇编语言程序的命令行开发过程。(3.1) 3. 简述汇编语言程序的集成化开发过程(PWB)。(3.1) 4. 下面两条语句有何区别:(3.2.1)

X1 EQU 1000H X2 = 1000H 5. 指令

AND AX,OPD1 AND OPD2

中,OPD1和OPD2是两个已赋值的变量,问两个AND操作分别在什么时间进行?有什么区别?(3.2.1)

6. 下列程序完成什么工作?(3.2.2)

DATX1 DB 300 DUP(?) DATX2 DB 100 DUP(?)

MOV CX,100 MOV BX,200 MOV SI,0