汇编语言程序设计课后习题解答宋人杰2版

合集下载

第4章 汇编语言程序设计习题解答

第4章 汇编语言程序设计习题解答

习题4.5 习题
• 设BX=1034H,则执行下列指令: ,则执行下列指令: MOV AX,BX AND 0FFH , MOV CX,BX EQ 1234H , 各多少? 后,AX和CX各多少?若BX=1234H,则结果 和 各多少 , 如何? 如何? 解答( ) 解答(1) BX AND 0FFH=0034H (2) 0034H→ AX=0034H ) (3) BX EQ 1234H= 0000H ) (4) 0000H → CX=0000H ) 结果: 结果: AX=0034H; CX=0000H ; 若BX=1234H,则结果: ,则结果: AX=0034H; CX=FFFFH ;
0027H 0028H 0029H 00H 2CH 00H
习题4.7 习题
• 已知数据定义语句为: 已知数据定义语句为: BUFFER DB 16 DUP(0,2 DUP(1)) ( , ( )) 则其中字数据单元内容为0100H的单元数是多少? 的单元数是多少? 则其中字数据单元内容为 的单元数是多少 解答: 解答:字数据单元内容 00H 01H 的单元数是16个 为0100H的单元数是 个 的单元数是 01H 16 DUP 16组
习题4.3 习题
• 程序中数据定义如下: 程序中数据定义如下: ARRAY DB ‘ABCDEF’ RESULT DB ? TABLE DW 20 DUP(?) (?) • 则执行指令 MOV AX,TYPE RESULT后,AX=1 , 后 MOV BX, TYPE TABLE后,BX= 2 , 后 MOV CX, LENGTH TABLE后,CX=20 , 后 MOV DX, LENGTH ARRAY后,DX=1 , 后 MOV SI ,SIZE TABLE后,SI=2×20=40 后 × MOV DI ,SIZE ARRAY后,DI=1 后

汇编语言课后题答案

汇编语言课后题答案

16/32位微机原理、汇编语言及接口技术钱晓捷第2版

课后习题答案(JJ修改)

第一章

1.1 解:

五代,详细见书

1.2 解:

微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。

PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机。

单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。

数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用

1.3 解:

微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:

CPU:统一协调和控制系统中的各个部件

系统总线:传送信息

存储器:存放程序和数据

I/O设备:实现微机的输入输出功能

I/O接口:I/O设备与CPU的桥梁

操作系统:管理系统所有的软硬件资源

1.4 解:

系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。

好处:组态灵活、扩展方便

三组信号线:数据总线、地址总线和控制总线。

其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。

1.5解:

(1)用于数值计算、数据处理及信息管理方向。采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。

《汇编语言程序设计》习题详解

《汇编语言程序设计》习题详解

《汇编语言程序设计》习题详解

一、 选择题

1. 机器数为10000000B, 它代表-127D,则它是(C )。

A. 补码

B. 原码

C. 反码

D. 原码或反码

2.[x1]原=10111101B, [x2]反=10111101B, [x3]补=10111101B (C )。

A. x1最小

B. x2最小

C. x3最小

D. x2=x1=x3

3.计算机的内存“溢出”是指其运算结果()。

A .为无穷大

B .超出了计算机内存储单元所能存储的数值范围

C .超出了该指令所指定的结果单元所能存储的数值范围

D .超出了一个字所能表示数的范围

4. [x1]原=11001010B, [x2]反=11001010B, [x3]补=11001010B ,那么它们的关系是()。

A. x3>x1>x2

B. x2>x3>x1

C. x3>x2>x1

D. x2>x1>x3

5. 在计算机中表示地址时使用(A )。

A 无符号数

B 原码

C 反码

D 以上都不对

6. 下面说法错误的是(D )。

A 8位二进制无符号数表示的最大十进制数是255

B 8位二进制带符号数表示的最大十进制数是127

C 计算机中无符号数最常用于表示地址

D 计算机中小数点隐含在符号位之后,占一位

7. 只有当与非门的输入变量A 、B 的值为( )时,其输出才为0。

A 0,0

B 0,1

C 1,0

D 1,1

8. 只有当或非门的输入变量A 、B 的值为( )时,其输出才为1。

A 0,0

B 0,1

C 1,0

D 1,1

9. 若逻辑运算Y=A+B, 当A=B=1时,Y 为( )。

第三章8088汇编语言程序设计微机原理第2版课后答案

第三章8088汇编语言程序设计微机原理第2版课后答案

第三章8088汇编语⾔程序设计微机原理第2版课后答案

第三章 8088汇编语⾔程序设计

本章的主要内容是汇编语⾔语句⾏的构成,源程序的结构,汇编语⾔程序设计⽅法。

3.1 重点与难点

本章的学习重点是结构化程序设计思想,顺序、分⽀、循环结构的程序设计,⼦程序结构的设计与调⽤,中断指令的应⽤。另外,汇编语⾔伪指令的使⽤、源程序的结构等也是必须掌握的。

3.1.1 汇编语⾔语句⾏的构成

1.标记

(1)标识符:由数字、字母和下划线组成,且不能以数字开头,最⼤长度不超过31个字符。

(2)保留字:汇编语⾔中保留下来的具有特殊⽤途的字串,如指令、伪指令、寄存器名等都是保留字。保留字不可⽤作标识符。

(3)界符:程序或指令中两个部分的分隔符号。汇编语⾔源程序中可⽤的界符:′〈〉;,:? $ () + - = &[] * / ·(4)常量:数字常量,可以使⽤不同的进制D、B、H、Q;字符串常量,由引号引起来的字符串,相当给出字符所对应的ASCII码串。

2.符号及其属性

(1)寄存器:8086/8088 CPU的寄存器可以作为指令的操作数。

(2)变量:即内存单元的符号地址。变量不能与保留字、段名重名。它有三个属性:段属性,指变量所在段的段地址;

偏移量,指变量所在段的起始地址到变量地址之间的字节数,即偏移(有效、逻辑)地址。

类型,指指变量具有的字节数,包括BYTE、WORD、DWORD、QWORD和TBYTE等。

(3)标号:即代码段中某条指令的符号地址,由编程者根据需要确定的。标号不能与保留字重名,可使⽤字母、数字及下划线,但不允许⽤数字开头,字符个数不超过31个。

汇编语言程序设计习题答案

汇编语言程序设计习题答案

汇编语言程序设计习题答案

第一章. 习题

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=7FFFH

1.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=255

1.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=4660

1.4完成下列十六进制数的运算,并转换为十进制数进行校核:

(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F

答:(1) 3A+B7H=F1H=241

最新第4章习题-汇编语言程序设计(单片机第二版)

最新第4章习题-汇编语言程序设计(单片机第二版)

第4章习题-汇编语言程序设计(单片机第

二版)

第四章习题与参考答案

4.1 程序设计语言有哪三种?各有什么异同?汇编语言有哪两类语言?各有什么特点?

4.2 在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用?

4.3 MCS-51汇编语言有哪几条常用伪指令?各起什么作用?

4.4 汇编语言程序设计分哪几步?各步骤的任务是什么?

4.5 汇编语言源程序的机器汇编过程是什么?第二次汇编的任务是什么?

4.6 请用除法指令编写例4.2的程序,并计算所占内存字节数和所需机器周期数。

4.7 设内部RAM 20H 单元有两个非零的BCD数,请编写求两个BCD数的积并把积送入21H单元的程序。

4.8 已知,从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LED

单元。请编写可以统计其中正数和负数个数并分别存入NUM和NUM+1单元的程序。

4.9 设自变量X为一无符号数,存放在内部RAM的VAX单元,函数Y存放在FUNC 单元。请编写满足如下关系的程序:

X>=50时:Y=X;

50>X>=20时:Y=5X;

X<20时:Y=2X;

4.10 在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任务位置。请修改原程序,修改后的程序最多可实现多少个分支?

4.11 从外部RAM的SOUCE(二进制8位)开始有一数据块,该数据块以$字符结尾。请编写程序,把它们传送到以内部RAM的DIST为起始地址的区域($字符也要传送)。

汇编语言程序设计课后答案

汇编语言程序设计课后答案

第一章. 习题

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=7FFFH

1.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=255

1.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=4660

1.4 完成下列十六进制数的运算,并转换为十进制数进行校核:

(1) 3A+B7 (2) 1234+AF (3) ABCD-FE

(4) 7AB×6F

答:(1) 3A+B7H=F1H=241

(2) 1234+AFH=12E3H=4835

汇编语言程序设计教案及习题答案

汇编语言程序设计教案及习题答案

《汇编语言程序设计》教案

附:习题参考答案

《IBM-PC汇编语言程序设计》

(第2版)

沈美明、温冬婵编著

教案编写时间:2007年8月18日

前言

1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3.本教材共有十一章,其内容安排如下:

(1).第一、二章为汇编语言所用的基础知识。

(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。

(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7).第九章说明BIOS和DOS系统功能调用的使用方法。

(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计

方法和程序实例。

附:教学参考书

1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)

2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年

3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月

【精品】汇编语言程序设计习题答案

【精品】汇编语言程序设计习题答案

钱晓捷新版汇编语言程序设计习题答案

第一章汇编语言基础知识

1.1、简述计算机系统的硬件组成及各部分作用

1。2、明确下列概念或符号:

主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB

1.3、什么是汇编语言源程序、汇编程序、目标程序?

1。4、汇编语言与高级语言相比有什么优缺点?

1.5、将下列十六进制数转换为二进制和十进制表示

(1)FFH (2)0H (3)5EH (4)EFH

(5)2EH (6)10H (7)1FH (8)ABH

1。6、将下列十进制数转换为BCD码表示

(1)12 (2)24 (3)68 (4)127

(5)128 (6)255 (7)1234 (8)2458

1.7、将下列BCD码转换为十进制数

(1)10010001 (2)10001001 (3)00110110 (4)10010000

(5)00001000 (6)10010111 (7)10000001 (8)00000010

1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示

(1)0 (2)—127 (3)127 (4)—57

(5)126 (6)-126 (7)—128 (8)68

1。9、完成下列二进制数的运算

(1)1011+1001 (2)1011-1001(3)1011×1001(4)10111000÷1001

(5)1011 ∧~1011 (8)1011 ⊕10011001(6)1011 ∨1001(7)

1。10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII 码为0dh、0ah对应的是什么字符?

汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案

第二章

1.解答:有256个

2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元

E5

1E

3C

2A

3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH

30021H字单元内容:AB34H30022H字单元内容:CDABH

4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址

5.解答:CS+IP第一个字的物理地址为:0AAA40H

6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0

7.下列操作可使用那些寄存器?

(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,SS

8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP

9.一一对应;

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)相对基址变址004FH

汇编语言程序设计课后习题答案

汇编语言程序设计课后习题答案

第四章汇编语言程序设计习题答案

一、单项选择题

1.C

2.B

3.C

4.C

5.C

6.A

7.A

8.C

9.B10. D

11.B12.B13.D14.C15.C16.A17.D18.D19.A20. C

21.B22.D23.D24. A

二、多项选择题

1.ABCEF

2.ACE

3.AC

4.ABCD

三、填空题

1.PARA

2.1,2,60,120, 1

3.SEGMENT,ENDS

4.1200

5.段内转移,段间转移

6.AH

7.过程,PROC,RET,NEAR,FAR

8.LEA BX,BUF

9.1, 4

10..0504H

11.ASM,EXE

12.立即寻址,直接寻址

四、判断题

××××V V V××V

五、程序分析题

1. 3

2.12H,3412H

3.46H,73H

4.(1) 从目的串中查找是否包含字符‘0’,若找到则停止,否则继续重复搜索。

(2) ZF=1, 说明已找到字符

ZF=0, 说明未找到字符

CX 0,说明中途已找到字符退出

CX=0,且ZF=0说明串中无字符‘0’

5.1, 0, 3, 2, 5, 4, 7, 6, 9, 8

6.87H,81H

7.44AAH,44D5H

8.DEC CX,JNC,JZ

9.JNZ L2

10.ADC DX,0,CLC

11.AAS

12.STOSB

13.1,3,1,2, 2

14.(2000H)=39H (2001H)=00H

将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,

并存入(2000H)单元,0 (2001H)

15.A)2345H,6780H

03《汇编语言程序设计》

03《汇编语言程序设计》

;.

《汇编语言程序设计》习题答案

一、单项选择题(本大题共170 小题,每小题 2 分)

1、在汇编语言程序中,对END 语句的叙述正确的是( C )。

A、END 语句是一可执行语句

B、END 语句表示程序执行到此结束

C、END 语句表示源程序到此结束

D、END 语句在汇编后要产生机器码

2、将DX 的内容除以 2 ,正确的指令是( C )

A、DIV 2 B 、DIV DX,2

C、SAR DX,1 D 、SHL DX,1

3、下列数值表达式和地址表达式中,错误的是( D )。

A、MOV A L,8*14+4 B 、MOV SI,OFFSET BUF+13

C、MOV CX,NUM2-NUM1 D 、MOV CX,NUM2+NUM1

4、用来存放下一条将要执行的指令地址的寄存器是( B )

A、SP B 、IP C 、BP D 、CS

5、要使串处理从低地址向高地址进行,应把标志位置为( D )

A、IF=1 B 、TF=0 C 、DF=1 D 、DF=0

6、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )

A、20640H

B、2063EH

C、2063FH

7、十进制数269 变换为十六进制数是( C

D、21900H )。

A、10B

B、10C

C、10D

D、10E

8、8 位的微型计算机系统是以16 位来表示地址,则该微机系统有( C )个地址空间。

A、255

B、65535

C、65536

D、1048576

9、8 位有符号二进制数能表示的最大十进制数是( D )。

A、256

B、255

C、128

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答

徐洁,俸远祯电子工业出版社第1章习题一

1.什么是程序存储工作方式?

答:计算机的工作方式——存储程序工作方式。即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。

2.采用数字化方法表示信息有哪些优点?

用数字化方法表示信息的优点:

(1)抗干扰能力强, 可靠性高。

(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。

(3)数字化的信息可以存储、信息传送也比较容易实现。

(4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。

3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

4.数字计算机的主要特点是什么?

1. (1)能在程序控制下自动连续地工作;

(2|)运算速度快;

(3)运算精度高;

(4)具有很强的信息存储能力;

(5)通用性强,应用领域及其广泛。

5.衡量计算机性能的基本指标有哪些?

答:衡量计算机性能的基本指标:

(1)基本字长——参加一次运算的数的位数;

(2)数据通路宽度——数据总线一次能并行传送的位数;

(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。

(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。

(6)配备的外围设备及其性能。

(7)系统软件配置。

7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。

系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现

代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原

理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。本文将

介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编

程能力。

一、基础习题

1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。答案:

```assembly

MOV AL, [地址]

INC AL

MOV [地址], AL

```

2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄

存器中。

答案:

```assembly

MOV CX, 数组长度

MOV BX, 数组首地址

MOV AX, 0

LOOP_START:

ADD AX, [BX]

ADD BX, 2

LOOP LOOP_START

```

二、进阶习题

1. 编写一个汇编程序,实现字符串的逆序输出。答案:

```assembly

MOV SI, 字符串首地址

MOV DI, 字符串尾地址

MOV CX, 字符串长度

DEC CX

REVERSE:

MOV AL, [SI]

MOV AH, [DI]

MOV [DI], AL

MOV [SI], AH

INC SI

DEC DI

LOOP REVERSE

```

2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。

答案:

```assembly

MOV AX, 第一个数

MOV BX, 第二个数

MUL BX

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

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

4.1、判断下列标识符的合法性。

1)、code 合法

2)、Data 合法

3)、ABCDH 合法

4)、1abcH 不

5)、eax 不

6)、01 合法

7)、A?@ 合法

8)、www@zsu 合法

9)、***********.cn不

10)、AX$DX 合法

11)、_BX 合法

12)、CX 不

4.2、按下面要求写出相应的数据定义语句(未指定变量名的,可任意指定或省缺)。1)、定义一个字节区域,第一个字节的值为20,其后跟20个初值为0的连续字节;

DB 20,20 DUP(0)

2)、定义一个以0为结束符的字符串,其初值为:The course is easy;

DB “The course is easy”,0

3)、定义一个以'$'为结束符的字符串,该串中含有换行符和回车符;

DB 0D,0A,”$”

4)、定义100个字,其初值为0;

DW 100 DUP(0)

5)、从一个偶地址开始定义一个字变量word;

EVEN

WORD DW ?

6)、先定义一个字符串String,其偏移量指定为10,其初值为"ABCDEF",然后再定义3个字类型的数组Data,要求String和Data的偏移量相同;

ORG 10

STRING DB "ABCDEF"

ORG 10

DATA DW 3 DUP(?)

7)、定义一个字符串String,其初值为"12345678",再定义4个字类型的数组Data,要求String和Data共享同一片内存单元;

STRING DB "12345678"

ORG $-8

DATA DW 4 DUP (?)

Python语言程序设计基础(第2版)第四章课后习题答案

Python语言程序设计基础(第2版)第四章课后习题答案

Python语⾔程序设计基础(第2版)第四章课后习题答案程序练习题

4.1猜数游戏

代码如下(加⼊了异常捕获):

import random

num = random.randint(1,9)

counts =1

try:

guess_num =eval(input('请输⼊1-9之内的整数:'))

while guess_num != num:

if guess_num > num:

print('遗憾,太⼤了')

elif guess_num < num:

print('遗憾,太⼩了')

counts +=1

guess_num =eval(input('请继续输⼊数字:'))

print('预测{}次,你猜中了!'.format(counts))

except NameError:

print('请输⼊数字!')

运⾏结果如下:

请输⼊1-9之内的整数:a

请输⼊数字!

>>>

请输⼊1-9之内的整数:8

遗憾,太⼩了

请继续输⼊数字:9

预测2次,你猜中了!

4.2 统计不同字符的个数

代码如下:

#统计字符.py

a,b,c,d,e =0,0,0,0,0

Str =input()

for item in Str:

if0x4e00<=ord(item)<0x9fa6:

a +=1

elif ord('0')<=ord(item)<=ord('9'):

b +=1

elif ord('a')<=ord(item)<=ord('z')or ord('A')<=ord(item)<=ord('Z'):

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章汇编语言基础知识

1.简述汇编语言源程序、汇编程序、和目标程序的关系。

答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。

2. 简述汇编语言的优缺点。

答:(1) 汇编语言的优点:

①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。.

②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

③可与高级语言配合使用,应用十分广泛。

(2) 汇编语言的缺点:

①通用性和可移植性较差

②相对于高级语言来说较繁锁、易出错、不够直观。

3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?

答:13

4. 1KB的存储器有多少个存储单元?

答:1024个字节。

5. 指令中的逻辑地址由哪两部分组成?

答:指令中的逻辑地址由段基址和偏移量组成。

6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。

(1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF

答: (1) 13080H

(2) 1A3F3H

(3) 1A3F3H

(4) 245EFH

7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06

11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据

的值。

答:字节型数据:11H

字型数据:0A311H

双字型数据:0113A311H

8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为

多少?若段内偏移地址为2228H,则段基地址为多少?

答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH

9. 在实模式环境中,一个段最长不能超过多少字节?

答:64KB

10. 实模式可寻址的内存范围是多少?

答:1MB

第2章 汇编语言源程序格式

1.请解释变量和标号的含义,两者有何区别?

答:标号代表一条指令所在单元的地址,在代码段中定义;变量是存放数据的存储单元的地址符号名,在除代码段以外的其他段中定义。变量和标号的主要区别在于变量指的是数据,而标号则对应的是指令。 2. 变量和标号有什么属性?答:都具有三种属性:段属性、偏移属性和类型属性 3. 伪指令语句与指令语句的区别是什么?伪指令有什么用途?

答:伪指令并不像指令语句那样在程序运行期间由计算机自动执行,而是在汇编程序对源程序汇编期间由汇编程序处理的操作。伪指令可以完成如处理器选择、定义程序模块、数据定义、存储区分配、指示程序开始和结束等功能。 4. 数值返回运算符有哪几种?简述LENGTH 和SIZE 的区别。 答:⑴数值返回运算符包括:SEG (取段地址)、OFFSET (取偏移地址)、TYPE (取类型值)、LENGTH (取长度)、SIZE (取总字节数)。⑵对于变量中使用DUP 的情况,LENGTH 回送分配给该变量的单元数,对于其他情况则送1;而SIZE 会送分配给变量的总字节数,也就是LENGTH 和TYPE 的乘积。 5. 画图说明下列伪指令所定义的数据在内存中的存放形式。 (1) ARR1 DB 6,34H,-7 (2) ARR2 DW 3C5DH,1,?

(3) ARR3 DB 2 DUP(1,2,DUP(2,5),3) (4) ARR4 DB ‘HELLO ’ (5) ARR% DB ‘1234’ 答:(1) 见题图2.1

06H 34H F9H

ARR1

题图2.1

(2) 见题图2.2

00H ARR2

01H 3CH 5DH - -- -

题图2.2

(3) 见题图2.3

02H ARR3

05H 02H 01H 05H 03H 02H 05H 02H 01H 05H 03H

题图2.3

(4) 见题图2.4

4CH ARR4

4CH 45H 48H 4FH

题图2.4

(5) 题图2.5

34H

ARR5

33H 32H 31H

题图2.5

6. 写出下列变量定义语句。

(1) 为缓冲区BUF1预留20B 的存储空间。

(2) 将字符串‘ABCD’,‘1234’存放于BUF2存储区中。 答: (1) BUF1 DB 20 DUP(?) (2) BUF2 DB ‘ABCD ’ DB ‘1234’ 7. 符号定义语句如下:

BUF DB 2,3,4,5,‘345’ EBUF DB 8

LT DB EQU EBUF-BUF 问LT 的值是多少? 答:LT 的值为7

8. 假设程序中的数据定义如下: A DW ?

B DB 16 DUP(?)

C D

D ? T EQU $-A

问T 的值是多少?它表示什么意义?

答:T的值是22;它表示从变量A到T之间分配的存储空间(字节)数目。9. 如何规定一个程序执行的开始位置?主程序执行结束应该如何返回DOS?

源程序在何处停止汇编过程?

答:程序开始位置:END伪指令后的标号所对应的地址;应用程序开始伪指令.STARTUP处。

返回DOS:RET指令结合PUSH DS等指令;用DOS功能调用的第4CH号中断;.EXIT伪指令。

END伪指令处停止汇编过程。

10.EQU伪指令与“=”伪指令有何区别?

答:在同一程序中,“=”伪指令可对一个符号重复定义

11.指出下列伪指令表达方式的错误,并改正之。

(1) DATA SEG

(2) SEGMENT ‘CODE’

(3) MYDATA SEGMENT

DATA ENDS

(4) MAIN PROC FAR

END MAIN

MAIN ENDP

答:(1) SEG改为SEGMENT

(2) 没有段名

(3) DATA ENDS改为MYDATA ENDS

(4) END MAIN删除

第3章8086/8088寻址方式及指令系统

1.什么是寻址方式,8086/8088微处理器有几种寻址方式,各类寻址方式的基本特征是什么?

答:寻址方式就是寻找指令中操作数的方式,或寻找指令转移目的地址的方式。

8086/8088微处理器的寻址方式分为数据寻址方式和程序转移寻址方式。数据寻址方式主要包括立即数寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式和相对基址变址寻址方式;程序转移寻址方式主要包括段内直接寻址、段内间接寻址、段间直接寻址、段间间接寻址。

立即数寻址:操作数就在指令中,作为指令的一部分,跟在操作码后存放在代码段。

寄存器寻址:操作数在寄存器中,指令中指定寄存器号。

直接寻址方式:操作数在存储器中,指令直接包含操作数的有效地址EA。

寄存器间接寻址:操作数在存储器中,操作数的有效地址在SI,DI,BX,BP这4个寄存器之一中。

寄存器相对寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)或变址寄存器(SI,DI)的内容加上8位或16位的位移之和。

基址变址寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)加上变址寄存器(SI,DI)的内容。

相关文档
最新文档