最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx

上传人:b****2 文档编号:14389876 上传时间:2022-10-22 格式:DOCX 页数:13 大小:21.62KB
下载 相关 举报
最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx_第1页
第1页 / 共13页
最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx_第2页
第2页 / 共13页
最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx_第3页
第3页 / 共13页
最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx_第4页
第4页 / 共13页
最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx

《最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

最新汇编语言程序设计第四版第3章课后答案Word格式文档下载.docx

〔习题3.5〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。

⒈ 

编辑 

 

 

文本编辑程序 

汇编语言源程序.asm

⒉ 

汇编 

汇编程序 

目标模块文件.obj

⒊ 

连接 

连接程序 

可执行文件.exe或.com

⒋ 

调试 

调试程序 

应用程序

〔习题3.6〕区分下列概念:

(1)变量和标号

(2)数值表达式和地址表达式

(3)符号常量和字符串常量

(1)变量是在程序运行过程中,其值可以被改变的量;

标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。

(2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。

(3)在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。

〔习题3.7〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。

(1)movbyteptr[bx],1000

(2)movbx,offsetmyword[si]

(3)cmpmybyte1,mybyte2

(4)moval,mybyte1+mybyte2

(5)subal,myword

(6)jnzmyword

(1)1000超出了一个字节范围

(2)寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为leabx,myword[si]

(3)两个都是存储单元,指令不允许

(4)变量值只有执行时才确定,汇编过程不能计算

(5)字节量AL与字量myword,类型不匹配

(6)Jcc指令只有相对寻址方式,不支持间接寻址方式

〔习题3.8〕OPR1是一个常量,问下列语句中两个AND操作有什么区别?

ANDAL,OPR1AND0feh

前者为“与”操作硬指令助记符,可汇编成机器代码。

后者为逻辑运算符,在汇编时进行“与”运算,产生具体数值。

〔习题3.9〕给出下列语句中,指令立即数(数值表达式)的值:

(1)moval,23hAND45hOR67h

(2)movax,1234h/16+10h

(3)movax,NOT(65535XOR1234h)

(4)moval,LOW1234hORHIGH5678h

(5)movax,23hSHL4

(6)movax,1234hSHR6

(7)moval,’a’AND(NOT(’a’-’A’))

(8)moval,’H’OR00100000b

(9)movax,(76543LT32768)XOR7654h

注:

对于逻辑运算,有关操作数可化为二进制数。

(1)67h

(2)133h

(3)1234h

(4)76h

(5)0234h

(6)0048h

(7)41h

(8)68h

(9)7654h

〔习题3.10〕画图说明下列语句分配的存储空间及初始化的数据值:

(1)byte_varDB’ABC’,10,10h,’EF’,3DUP(-1,?

3DUP(4))

(2)word_varDW10h,-5,’EF’,3DUP(?

(1)从低地址开始,依次是(十六进制表达):

41 

42 

43 

0a 

10 

45 

46 

ff 

- 

04 

-04 

04

(2)从低地址开始,依次是(十六进制表达):

10 

00 

FB 

FF 

46 

〔习题3.11〕请设置一个数据段mydataseg,按照如下要求定义变量:

(1)my1b为字符串变量:

PersonalComputer

(2)my2b为用十进制数表示的字节变量:

20

(3)my3b为用十六进制数表示的字节变量:

(4)my4b为用二进制数表示的字节变量:

(5)my5w为20个未赋值的字变量

(6)my6c为100的常量

(7)my7c表示字符串:

mydatasegsegment

my1b 

db‘PersonalComputer’

my2b 

db20

my3b 

db14h 

;

20h

my4b 

db00010100b

my5w 

dw20dup(?

my6c 

equ100 

my6c=100

my7c 

equ<

PersonalComputer>

mydatasegends

〔习题3.12〕分析例题3.2的数据段,并上机观察数据的存储形式。

以字节为单位从低地址向高地址依次是:

16

00 

12

FFH 

FFH 

FFH

00

5

45H 

23H 

‘a’ 

‘b’ 

‘c’

‘H’ 

‘e’ 

‘l’ 

‘o’ 

13 

‘$’

12个字符串’month’,每个字符串从低地址到高地址依次是:

’m’ 

‘n’ 

‘t’ 

‘h’

25×

4个字节未定义初值的存储单元,操作系统设置为0

〔习题3.13〕修改例题3.3,现在用字定义伪指令dw、字串传送指令movsw和字符串显示9号功能调用实现。

.modelsmall

.stack

.data

source 

dw3433h,3635h

target 

dw40dup(?

),'

$'

.code

.startup

movax,ds

moves,ax

cld

movsi,offsetsource

movdi,offsettarget

movcx,40

repmovsw

movsi,0

movdx,offsettarget

movah,9

int21h

.exit0

end

〔习题3.14〕变量和标号有什么属性?

段地址:

表示变量和标号所在代码段的段地址;

偏移地址:

表示变量和标号所在代码段的段内偏移地址;

类型:

引用变量时,表示是字节、字、双字等数据量。

引用该标号时,表示它所在同一个段――near类型,还是另外一个段――far类型。

〔习题3.15〕设在某个程序中有如下片段,请写出每条传送指令执行后寄存器AX的内容:

mydata 

segment

ORG100H

VARW 

DW1234H,5678H

VARB 

DB3,4

ALIGN4

VARD 

DD12345678H

EVEN

BUFF 

DB10DUP(?

MESS 

DB’HELLO’

BEGIN:

MOVAX,OFFSETMESS

MOVAX,TYPEBUFF+TYPEMESS+TYPEVARD

MOVAX,SIZEOFVARW+SIZEOFBUFF+SIZEOFMESS

MOVAX,LENGTHOFVARW+LENGTHOFVARD

MOVAX,LENGTHOFBUFF+SIZEOFVARW

MOVAX,TYPEBEGIN

MOVAX,OFFSETBEGIN

MOVAX,OFFSETMESS 

AX=116H

MOVAX,TYPEBUFF+TYPEMESS+TYPEVARD 

AX=1+1+4=06H

MOVAX,SIZEOFVARW+SIZEOFBUFF+SIZEOFMESS 

AX=4+10+5=19=13H

MOVAX,LENGTHOFVARW+LENGTHOFVARD 

AX=2+1=03H

MOVAX,LENGTHOFBUFF+SIZEOFVARW 

AX=10+4=14=0EH

MOVAX,TYPEBIGIN 

AX=FF02H(近)

MOVAX,OFFSETBEGIN 

AX=1BH 

〔习题3.16〕利用简化段定义格式,必须具有.MODEL语句。

MASM定义了哪7种存储模式,TINY和SMALL模式创建什么类

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1