文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言练习2+答案

汇编语言练习2+答案

汇编语言练习2+答案
汇编语言练习2+答案

全国2005年10月高等教育自学考试汇编语言试题

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.当执行ADD AX,BX指令后,若AX的内容为4E52H时,设置的奇偶标志位PF=0,下面的叙述正确的是( A)

A.表示结果中含1的个数是奇数

B.表示结果中含1的个数是偶数

C.表示该数是奇数

D.表示结果中低8位中含1的个数是奇数

2.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。如从地址21001H 中取出一个字的内容是( D)

A.2030H

B.3040H

C.3020H

D.4030H

3.转移指令JMP NEAR PTR PROCA的转移范围是( A )

A.8000H~7FFFH

B.7FFFH~0FFFH

C.80H~7FH

D.0FH~7FH

4.设CF=1,实现AL内容乘2的指令是( C )

A.RCL AL,1

B.SAR AL,1

C.SHL AL,1

D.ROR AL,1

5.算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是( A )

A.目的操作数最高位为0

B.目的操作数最高位为1

C.目的操作数为任意情况

D.无论什么情况都不可能完全相同

6.没有语法错误的输入指令是( A )

A.IN AL,30H

B.IN 30H,AL

C.IN DX,AL

D.IN AL,[BX]

7.与LEA BX,BUF指令完全等效的指令是( C)

A.MOV BX,BUF

B.LDS BX,BUF

C.MOV BX,OFFSET BUF

D.MOV BX,WOKD PTR BUF

8.设有变量VAR和标号LAB,不正确的指令是( C)P85

A.LEA AX,VAR

B.LEA AX,LAB

C.JMP NEAR PTR VAR

D.JMP SHORT LAB

9.设SP的初值为1000H,执行指令PUSH AX后SP的值是( C )

A.0FFFH

B.1001H

C.0FFEH

D.1002H

10.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( A )P69

A.XOR AX,AX

B.AND AX,AX

C.OR AX,AX

D.TEST AX,0

11.在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是( D )

A.MOV DX,BUF1*BUF2

B.MOV DX,BUF1/BUF2

C.MOV DX,(BUF1*BUF2)-BUF1

D.MOV DX,BUF2-BUF1

12.汇编语言源程序,可以是( D )

A.可以直接由机器执行

B.必须由编译程序生成目标程序才能执行

C.必须由解释程序生成目标程序才能执行

D.必须由汇编程序汇编成目标程序才能执行

13. ORG 200H

BUF DB 12H,34H

MOV AX,WORD PTR BUF

上述指令语句执行后AX中的内容是( A )

A.3412H

B.1234H

C.0200H

D.0012H

14.伪指令DA1 DB 04H DUP(3 DUP(2),2 DUP(3))在数据区中能构成0203H操作数共有

( C)

A.07个

B.04个

C.03个

D.02个

15.设NUM1 EQU 100

NUM2= 64H

下面指令执行后,使BL中为全1的指令是( A)P139

A.MOV BL,NUM1 EQ NUM2

B.MOV BL,NUM1 LT NUM2

C.MOV BL,NUM1 NE NUM2

D.MOV BL,NUM1 GT NUM2

16.设非压缩BCD码(AL)=09H,(BL)=04H在执行SUB AL,BL指令后应选的校正指令是P68

( B )

A.DAA

B.AAS

C.DAS

D.AAA

17.设AX=9ABCH,DX=8765H

PUSH AX

PUSH DX

POP AX

POP DX

上述4条指令执行后,AX,DX中内容分别是( D )

A.AX=9ABCH DX=8765H

B.AX=9ABCH DX=9ABCH

C.AX=8765H DX=8765H

D.AX=8765H DX=9ABCH

18.DA1 EQU WORD PTR DA2

DA2 DB 0ABH,0CDH

SHL DA1,1

SHR DA2,1

上述两条指令执行后,DA1中两字节单元内容分别是( D )

A.0ABH,0CDH

B.2BH,9BH

C.4DH,57H

D.56H,9BH

19.无条件转移指令JMP实现段间间接转移,转移的目标地址在( B )

A.某个字存储单元中

B.某个双字存储单元中P86

C.某个16位通用寄存器中

D.两个16位通用寄存器中

20.检查BUF单元的内容是否为正偶数,下面程序段正确的是( D )

A.MOV AL,BUF

B.MOV AL,BUF

JS K1 AND AL,11H

SHR AL,1 JNE K1

JC K1 ……;是正偶数

……;是正偶数

K1:……

K1:……

C.MOV AL,BUF

D.MOV AL,BUF

JNP K1 TEST AL,81H

TEST AL,80H JNE K1

JNE K1 ……;是正偶数

……;是正偶数

K1:……

K1:……

二、填空题(本大题共5小题,每小题1分,共5分)

21.8086/8088存贮器地址分段时,每个段起始地址的特征是__偶地址__。

22.执行带符号数字节相乘指令IMUL BL后,CF=1,OF=1意味着结果是字。P65

23.假设执行前AX=7862H,指令XOR AX,AX执行后AX中的值是0。

24.ARRAY DB 0,2 DUP(1,2),0,3汇编时生成的数据依次是0,1,2,1,2,0,3。

25.在存取一个存储器操作数时,段地址必须由段寄存器提供。

三、简答题(本大题共3小题,每小题2分,共6分)

26.在汇编源程序时,下面数据段共分配多少个字节存储单元?变量BUF的偏移地址是多少?

DATA SEGMENT

ORG $+20H

DA1 DB 10H DUP(2,3)

DA2 DW 10H DUP(2,3)

ORG $+20H

BUF DD DA1,DA2

DATA ENDS 68H 82H

27.设BX=0FFFFH,下面指令序列中,每条指令执行后,分别用0,1表示SF、ZF、CF的值,若对标志位无影响,用斜杠/表示

SF ZF CF

STC / / 1

XOR BX,BX 0 1 0

ADD BX,8001H 1 0 1

SAR BX,1 1 0 1

28.如果执行NEG AL指令后AL中的内容仍保持不变,那么AL中的值是多少?执行后OF的值又是多少?P63 0 OF=0

四、程序分析题(本大题共7小题,每小题5分,共35分)

29. DA1 DB ′01234′

DA2 DB 5 DUP(0)

MOV SI,0

MOV CX,5

LOP:MOV AL,DA1[SI]

ADD AL,11H

OR AL,01H

MOV DA2[SI],AL

INC SI

LOOP LOP

试问:(1)程序段执行后,写出DA2各字节中的数据。41H,43H,43H,45H,45H

(2)程序中MOV AL,DA1[SI]指令的源操作数是什么寻址方式寄存器相对

30.VAR1 DW 1234H,89,255,-2,-0AH

VAR2 DB 34,78H,44,22,19,-12

MOV AH,23H

LEA BX,VAR1+4

MOV AL,BYTE PTR [BX+1]

MOV SI,WORD PTR VAR2+3

程序段执行后AX=2300H SI=1922。

31.BUF DW 1,0,0AB1CH,582H,9,3A04H,9,0

LEA DI,BUF

MOV CX,8

MOV AX,9

REPNZ SCASW

JNZ K1

SUB DI,OFFSET BUF

MOV DX,DI

SHR DX,1

ADD DL,30H

MOV AH,2

INT 21H

K1:……

上述程序执行后:(1)程序完成什么功能?(2)显示输出的是什么值?

(1)找出BUF缓冲区中是否有数字9,如果有,显示其下一个数字的位置。

(2)5

32. MOV BX,1

XOR AX,AX

MOV CX,5

NEXT:ADD AX,BX

INC BX

LOOP NEXT

上述程序段执行后AX=15 ;BX= 6 。

33.设AL中高低4位分别有大于7的数,

MOV AH,AL

AND AH,88H

MOV AL,AH

OR AL,11H

程序段运行后,AH=88H,AL= 99 。

34.AT DB 0AH,0BH,0CH,0DH,0EH,0FH,00H

MOV BX,0

LOP:MOV DL,AT[BX]

CMP DL,0

JZ DONE

ADD DL,37H

MOV AH,2

INT 21H

INC BX

JMP LOP

DONE:……

①上述程序段执行后在屏幕上显示的内容依次是:41H42H43H44H45H46H

②执行后BX= 6 。

35.DEC2 DB′56′

XOR DI,DI

MOV BL,DEC2[DI+1]

AND BL,0FH

MOV AL,DEC2[DI]

AND AL,0FH

MOV DL,10

MUL DL

ADD AL,BL

上述程序段运行后,AL=38H,BL=06H。

五、程序填空题(本大题共2小题,每小题6分,共12分)

36.NUM和NUM+1单元分别存有一个8位带符号数,下面程序段将两数中大者NUM单元,小者NUM+1单元,请在方框处各填一条指令补充完整。

MOV AL,NUM

CMP AL,NUM+1

①JGE DONE

②XCHG AL,NUM+1

MOV NUM,AL

DONE:……

37.下面程序段是将BUFF单元的绝对值送入DAR单元,请将空白处各填上一条指令

BUFF DW ××××P92

DAR DW?

①TEST AX,8000H

JZ NEXT

②NEG AX

NEXT:MOV DAR,AX

六、编制程序题(本大题共3小题,共22分)

38.用字符串指令编制一程序段,把以DAT1为首址的数据区中的100个字节数据依次传送到以DAT2为首址的数据区中。要求:在程序中按地址递减方式进行数据传送。(5分)

LEA SI,DAT1

ADD SI,99

LEA DI,DAT2

ADD DI,99

MOV CX,100

STD

REP MOVSB

39.设有DX:AX构成一个32位数据,从AX的低位(第0位)开始,逐位向高位和DX置1,置1的个数由CX的内容确定(已知CX<32)。试编制一程序段,实现上述要求。(5分)

……

MOV CX,Y

AGAIN: CMP CX,16

JA NEXT

MOV BX,0001H

OR AX,BX

NEXT1: SUB CX,16

OR AX,FFH

OR DX,BX

NEXT2: SHL BX,1

LOOP AGAIN

……

40.编写一完整源程序,将DB1中的二进制数按位倒排送DB2中,即DB1第0位送DB2第7位,DB1第1位送DB2第6位,依次类推。(12分)

DATA SEGMENT

DB1 DB XX;任一字节数

DB2 DB?

DATA ENDS

CODE SEGMNET

ASSUME CS:CODE,DS:DATA,ES:DATA

MAIN PROC FAR

START: PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV SI,0

ADD SI,7

MOV DI,0

MOV CX,8 AGAIN: MOV AL,DB1[SI]

MOV DB2[DI],AL

DEC SI

INC DI

LOOP AGAIN

RET

MAIN ENDP

CODE ENDS

END START

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言第二章答案

2.1 在80x86微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00~FFH的端口号。试问可直接由指令指定的I/O端口数。 答:可直接由指令指定的I/O端口数为256个。 2.2 有两个16位字1EE5H和2A3CH分别存放在80x86微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。 答:存储器里的存放情况如右下图所示: 000B0H E5H 000B1H 1EH 000B2H 000B3H 3CH 000B4H 2AH 2.3在IBM PC机的存储器中存放信息如右下图所示。试读出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。 30020H 12H 30021H 34H 30022H ABH 30023H CDH 30024H EFH 答:30022H字节单元的内容为ABH;30024H字节单元的内容为EFH。30021H字单元的内容为AB34H;30022H字单元的内容为CDABH。 2.4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢? 答:3017:000A、3015:002A和3010:007A的存储单元的物理地址都是3017AH。 2.5 如果在一个程序开始执行以前(CS)=0A7F0H,(如16进制数的最高位为字母,则应在其前加一个0) (IP)=2B40H,试问该程序的第一个字的物理地址是多少? 答:该程序的第一个字的物理地址是0AAA40H。 2.6在实模式下,存储器中每一段最多可有10000H个字节。如果用调试程序DEBUG的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、CF的值。 C>debug -r AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC 答:此时存储器分段的示意图如右图所示。OF、SF、ZF、CF的值都为0。 2.7 下列操作可使用那些寄存器?

汇编语言 第二版 王爽 完整答案

第1章基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。 (2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。 (3)1KB的存储器可以存储1024*8个bit,1024个Byte。 (4)1GB、1MB、1KB分别是2^30、2^20、2^10 Byte。(n^m的意思是n的m次幂) (5)8080、8088、80286、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)在存储器中,数据和程序以二进制形式存放。 第2章寄存器答案 检测点2.1 (1) 写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=6246H mov ax,bx AX=826CH add ax,bx AX=04D8H mov al,bh AX=0482H mov ah,bl AX=6C82H add ah,ah AX=D882H add al,6 AX=D888H add al,al AX=D810H mov ax,cx AX=6246H (2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点2.2 (1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。 (2) 有一数据存放在内存 20000H 单元中,先给定段地址为SA,若想用偏移地址寻到此单元。

汇编语言复习题(带答案)

汇编语言复习题(带答案) 汇编语言期末复习题 第1章:基础知识 1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。DX A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句 中不可省略的项是(B)。DX A、名字项 B、操作项 C、操作数项 D、注释项 3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。DX 4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。DX 5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址 在SS寄存器中。TK 6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释 的开始。TK 7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执行INT21H。TK 8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。TK 9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源。TK 10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。TK 11、计算机系统通过接口与外围设备通信。TK 12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。TK 13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节 为显示字符的ASCII码,第二个字节为显示字符的属性。TK 14、简述上机运行汇编语言程序的过程。JD

微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案 ——CSDN下载频道提供,请尊重原创 一、选择题: 1. 设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A. 51H B. A3H C. 47H D. 0C5H 2. 下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3. 完成对CL寄存器的容乘以4的正确操作是() A.ROL CL,1 B.MUL 4 C.SHL CL,1 D.MOV CL,2 ROL CL,1 SHL CL,1 SHL CL,CL 4. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 5. 假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= () A. 0E903H B. 2003H C. 0DBBH D. 2008H 6. 下面的数据传送指令中,错误的操作是() A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H 7. CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址C.物理地址D.逻辑地址 8. 某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9. 计算机能直接识别的的语言() A.汇编语言 B.机器语言C.高级语言D.低级语言 10. 下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为()A.直接、立即、间接B.直接、间接、立即 C.立即、直接、间接D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是()A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14. JMP BX的目标地址偏移量是(D)。 A.SI的容B.SI所指向的存字单元之容 C.IP+SI的容D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址B.寄存器寻址MOV AX,BX C.变址寻址AX【BX+DI】(只能用BX,BP;SI和DI) D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的。()

汇编语言王爽第二版课后答案

第一章基础知识 检测点(第8页) ---------------------- (1) 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) 二进制 注意: 1.第4题中的符号'^'指求幂运算(如: 2^30指2的30次方) 第二章寄存器(CPU工作原理) 检测点(第18页) ---------------------- (1)写出每条汇编指令执行后相关寄存器中的值。第一空:F4A3H 第二空:31A3H 第三空:3123H 第四空:6246H 第五空:826CH 第六空:6246H 第七空:826CH 第八空:04D8H 第九空:0482H 第十空:6C82H 第十一空:D882H 第十二空:D888H 第十三空:D810H 第十四空:6246H (2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解答如下: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点(第23页) ---------------------- (1)00010H,1000FH (2)1001H,2000H 第2题说明: 因为段的起始地址要为16的倍数。所以当段地址小于1001H或大于2000H时CPU都无法寻到。 检测点(第33页) ----------------------答:CPU修改了4次IP的值。 情况如下: 第1次:执行完mov ax,bx后 第2次:执行完sub ax,ax后 第3次:读入jmp ax后 第4次:执行完jmp ax后 最后IP的值为0 实验1 查看CPU和内存,用机器指令和汇编指令编程(第33页) ----------------------------------------------------- 1.预备知识:Debug的使用 <此部分略> 2.实验任务(第43页) (1) <此部分略> (2) <此部分略> (3) 通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。此生产日期不能被改变,因为其具有‘只读’属性。 (4) 通过向内存中的显存写入数据,使计算机根据写入的数据进行ASCII转换,并将转换后且可打印的字符输出到屏幕上。<注:关于显存的详细讨论不在此题范围> 第三章寄存器(内存访问) 检测点(第52页) ---------------------- (1)(题目:略) 第一空:2662H 第二空:E626H 第三空:E626H 第四空:2662H 第五空:D6E6H 第六空:FD48H 第七空:2C14H 第八空:0000H 第九空:00E6H 第十空:0000H 第十一空:0026H 第十二空:000CH 提示:此题可在DEBUG中利用E命令在本机上按照题目中所给出的内存单元及其数据进行相应地修改,然后再用A命令进行写入(题目中所给出的)相应的汇编指令,最后再进行T命令进行逐步执行,以查看相应结果。

汇编语言课后习题解答

第1章基础知识 检测点1.1(第9页) (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。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言课后习题答案---郑晓薇(整理后的)

习题一 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=AAH 2 5E8AH,0BE6H,3DEH,4940H 3 00011101+00110101=01010010=5 2H=82 01001001+11101000=00110001=3 1H=49 10111110+01010010=00010000=1 0H=16 10011010+11110001=10001011=8 BH= -117 4 00101001+01010011=01111100+0 0000110=10000010=82H=82 01110011-00100100=01001111-00000110=01001001=49H=49 01100110+00011000=01111110+0 0000110=10000100=84H=84 10010+01110101=00111+0000011 0 =00111=0207H=207 5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H 6 无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 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码 8 (1) 108=01101100B=6CH,补码01101100B,压缩BCD码01000,ASCII 码313038H (2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H (3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H (4) 254=11110B=00FEH,补码11110B,压缩BCD码10100,ASCII 码323534H 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=1 10 回车、换行、响铃、ESC键、空格键、、P、p 习题二 9 最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节) 10 CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP 11 字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。 12 对于字节单元来说,偶地址和奇地址一样;对于字单元而言,最好用偶地址保存,可减少CPU的访存次数。 13 首单元的物理地址=38AE8H,末单元的物理地址 =38AE8H+7FFFH=40AE7H 16 (1)物理地址=27679H (2) 物理地址=20F92H (3) 物理地址=20F92H (2)和(3)的物理地址是一样的。说明逻辑地

汇编语言习题-测验题答案

汇编语言各章习题、测试题答案 习题一 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数 01110111 00101111 十六进制运算 1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示) 29+53 73-24 -66+82 -102-15 用压缩BCD码计算(结果用二进制、BCD码、十进制表示) 29+53 73-24 66+18 132+75 符号位扩展(字节扩展为字,字扩展为双字) 20A3H 94H 3456H 7FH EC00H 若机器字长为16位,其无符号数表示范围是多少带符号数表示范围是多少分别用十进制和十六进制表示。 写出下列十六进制数所能代表的数值或编码: (1)38H (2)FFH (3)5AH (4)0DH 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码: (1)108 (2)46 (3)-15 (4)254 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值 (1)56+63 (2)83-45 (3)-74+29 (4)-12-37 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。 测验一 单选题: 1.已知X=76,则[X]补= 。 A. 76H B. 4CH 2.已知[X]补=80H,则X= 。 A. 80H B. 0 C. 0FFH D. -80H 3.已知[X]补=98H,则[X]补/2= 。 A. 0CCH C. 49H D. 31H 4.已知X=78,Y=-83,则[X+Y]补= 。 A. 0F5H B. 0A1H C. 0FBH D. 65H 5.将124转换成十六进制数的结果是 A. 7CH B. 7DH C. 7EH D. 7BH 6.将93H看成一个压缩BCD码,其结果是 A. B. C. D. 7. 45转换成二进制数是 A. C. 00101101 D. 8.6CH转换成十进制数是 A. 118 B. 108 C. 48 D. 68 9.将93H扩展为字的结果是 A. FF93H B. 0093H C. 1193H D. 1093H

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言(王爽)_第二版_课后题全_答案6

解题过程: 物理地址=SA*16+EA 20000h=SA*16+EA SA=(20000h-EA)/16=2000h-EA/16 EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值 EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值 这里的ffffH/16=fffh是通过WIN自带计算器算的 按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了 单就除法来说,应有商和余数,但此题要求的是地址最大和最小,所以余数忽略了 如果根据位移的算法(段地址*16=16进制左移一位),小数点后应该是不能省略的 我们可以反过来再思考下,如果SA为1000h的话,小数点后省略 SA=1000h,EA取最大ffffh,物理地址为1ffffh,将无法寻到20000H单元 这道题不应看成是单纯的计算题 检测点2.3 下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少? mov ax,bx sub ax,ax jmp ax 答:一共修改四次 第一次:读取mov ax,bx之后 第二次:读取sub ax,ax之后 第三次:读取jmp ax之后 第四次:执行jmp ax修改IP 最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H 实验一查看CPU和内存,用机器指令和汇编指令编程 2实验任务 (1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器中内容的变化。 机器码汇编指令寄存器 b8 20 4e mov ax,4E20H ax=4E20H 05 16 14 add ax,1416H ax=6236H bb 00 20 mov BX,2000H bx=2000H

汇编语言复习题附带答案.

复习题 一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。多选不给分。。 1.十六进制数 88H ,可表示成下面几种形式,请找出错误的表示(④。 ①无符号十进制数 136 ②带符号十进制数-120 ③它的二进制形式是 10001000B ④ 8位二进制数-8的补码表示 2.存放条件码标志、控制标志和系统标志的寄存器是(④。 ① IP ② SP ③ BP ④ PSW 3. 执行加法运算不能使用的寄存器是 ( ③。 ①、 BP ②、 SI ③、 CS ④、 CL 4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是 (② ①、 AX , BX , CX , DX ②、 BX , BP , SI , DI ③、 SP , IP , BP , DX ④、 CS , DS , ES , SS 4、下列传送指令中有语法错误的是 (①。 ①、 MOV CS, AX ②、 MOV DS, AX ③、 MOV SS, AX ④、 MOV ES, AX 5. ADD AX , BX 指令执行完后 OF=1,下列说法正确的是(③ ①、如果 AX,BX 得内容均是带符号数,那么表示执行结果正确

②、如果 AX,BX 得内容均是无符号数,那么表示执行结果不正确; ③、如果 AX,BX 得内容均是带符号数,那么执行结果表示溢出; ④、如果 AX,BX 得内容均是无符号数,那么执行结果表示溢出; 6.一个有 16字的数据区域,它的起始地址是 70A0:DDF6,那么该数据单元第三个字单元的物理地址为(④ ①、 7E816H ②、 7E814H ③、 7E7F8H ④、 7E7FAH 7、与 MOV BX, OFFSET VAR指令完全等效的指令是 ( ④。 ①、 MOV BX, VAR ②、 LDS BX, VAR ③、 LES BX, VAR ④、 LEA BX, VAR 8.如果 AX=0FFFEH,那么单独执行完 ADD AX , 1, RCR AX , 1 , (AX = (④ ①、 0000H ②、 8000H ③、 0FFFFH ④、 7FFFH 9. MOV AL , 88H TEST AL , 66H 指令执行完后, (AL =(① ①、 88H ②、 66H ③、 0H ④、 0EEH 10、 BUF DW 10H DUP(3 DUP(2, 10H , 3, 5 上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (②。 ① A 、 80H ②、 100H ③、 124 ④、 192 11、下面指令执行后,变量 DAB 中的内容是(③。

汇编语言试题及答案(1)

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节

汇编语言程序设计(第二版) 钱晓捷 课后答案

汇编语言程序设计(第二版)钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2 (1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.5 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.7 W=X+Y+24-Z 2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax

计算机组成原理第二版课后习题答案

第1章计算机系统概论 1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解: 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机硬件:指计算机中的电子线路和物理装置。 计算机软件:计算机运行所需的程序及相关资料。 硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。 2. 如何理解计算机的层次结构? 答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。 (1)硬件系统是最层的,它是整个计算机系统的基础和核心。 (2)系统软件在硬件之外,为用户提供一个基本操作界面。 (3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。 通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。 3. 说明高级语言、汇编语言和机器语言的差别及其联系。 答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语

言的符号表示,高级语言是面向算法的语言。高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。 4. 如何理解计算机组成和计算机体系结构? 答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。 5. ?诺依曼计算机的特点是什么? 解:?诺依曼计算机的特点是:P8 ●计算机由运算器、控制器、存储器、输入设备、输出设备五大 部件组成; ●指令和数据以同同等地位存放于存储器,并可以按地址访问; ●指令和数据均用二进制表示; ●指令由操作码、地址码两大部分组成,操作码用来表示操作的 性质,地址码用来表示操作数在存储器中的位置; ●指令在存储器中顺序存放,通常自动顺序取出执行; ●机器以运算器为中心(原始?诺依曼机)。

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH ;偏移地址=bx=0100h (4)AX=3412H ;偏移地址=bx=0100h (5)AX=4C2AH ;偏移地址=bx+1100h=1200h (6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov [sp],ax (7)mov ax,bx+di

(8)mov 20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[ SI ] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS = 2200H、SP = 00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop [bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h

相关文档
相关文档 最新文档