教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

80X86汇编语言程序设计教程(杨季文)课后习题答案(3)

来源:网络收集 时间:2026-09-17
导读: 题3.2 汇编语言中的表达式与高级语言中的表达式有何相同点和不同点? 答: 汇编语言中的表达式与高级语言中的表达式的相同点是都采用运算符、操作符以及括号把常数和符合连起来; 不同点是汇编语言的表达式除了数值

题3.2 汇编语言中的表达式与高级语言中的表达式有何相同点和不同点?

答: 汇编语言中的表达式与高级语言中的表达式的相同点是都采用运算符、操作符以及括号把常数和符合连起来;

不同点是汇编语言的表达式除了数值表达式外还有地址表达式;

题3.3 汇编语言中数值表达式与地址表达式有何区别?

答: 汇编语言中数值表达式在汇编过程中由汇编程序计算出数值,而地址表达式中部分相对地址的地方,在汇编时无法确定其确定地址;

题3.4 汇编语言中的变量和标号有何异同之处?

答: 汇编语言中的变量和标号的相同之处是都代表着一个地址;

80X86汇编语言程序设计教程(杨季文)课后习题答案

不同之处是变量表示的地址中存放的是数据,而标号表示的地址中存放的是代码;

题3.5 请计算如下各数值表达式的值:

23H AND 45H OR 67H

1234H/16+10H

NOT(65535 XOR 1234H)

1024 MOD 7+3

LOW 1234 OR HIGH 5678H

23H SHL 4

"Eb" GE 4562H XOR -1

1234H SHR 6

'a' AND (NOT ('a'-'A')

'H' OR 00100000B

76543Q LT 32768 XOR 76543

3645H AND 0FF00H

答: 23H AND 45H OR 67H ;67H

1234H/16+10H ;133H

NOT(65535 XOR 1234H) ;1234H

1024 MOD 7+3 ;5

LOW 1234 OR HIGH 5678H ;D6H 注意1234 不是1234H

23H SHL 4 ;30H

"Eb" GE 4562H XOR -1 ;0

1234H SHR 6 ;0048H

'a' AND (NOT ('a'-'A') ;41H or 'A'

'H' OR 00100000B ;68H or 'h'

76543Q LT 32768 XOR 76543 ;题目最后的76543有错,按照76543Q处理:829CH 3645H AND 0FF00H ;3600H

题3.6 请计算如下程序片段中各地址表达式的值,设BX=1000H,SI=2000H,DI=3000H, BP=4000H

[BX+100H]

[DI][BP]

2000H[SI]

10H[BX][SI]

[BP-128]

[BX][DI-2]

答: [BX+100H] ;[1100H]

[DI][BP] ;[7000H]

2000H[SI] ;[4000H]

10H[BX][SI] ;[3010H]

[BP-128] ;[3F80H]

[BX][DI-2] ;[3FFEH]

80X86汇编语言程序设计教程(杨季文)课后习题答案

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

VARW DW 1234H,5678H

VARB DB 3,4

VARD DD 12345678H

BUFF DB 10 DUP(?)

MESS DB 'HELLO'

BEGIN: MOV AX,OFFSET VARB + OFFSET MESS

MOV AX,TYPE BUFF + TYPE MESS + TYPE VARD

MOV AX,SIZE VARW + SIZE BUFF + SIZE MESS

MOV AX,LENGTH VARW + LENGTH VARD

MOV AX,LENGTH BUFF + SIZE VARW

MOV AX,TYPE BEGIN

MOV AX,OFFSET BEGIN

答: ORG 100H

VARW DW 1234H,5678H

VARB DB 3,4

VARD DD 12345678H

BUFF DB 10 DUP(?)

MESS DB 'HELLO'

BEGIN: MOV AX,OFFSET VARB + OFFSET MESS ;AX=0218H

MOV AX,TYPE BUFF + TYPE MESS + TYPE VARD ;AX=0006H

MOV AX,SIZE VARW + SIZE BUFF + SIZE MESS ;AX=000DH

MOV AX,LENGTH VARW + LENGTH VARD ;AX=0002H

MOV AX,LENGTH BUFF + SIZE VARW ;AX=000CH

MOV AX,TYPE BEGIN ;AX=FFFFH

MOV AX,OFFSET BEGIN ;AX=0119H

题3.8 设如下两条指令中的符号ABCD是变量名,请说明这两条指令的异同。

MOV AX,OFFSET ABCD

LEA AX,ABCD

答: 两条指令都是将ABCD的偏移地址放入AX寄存器中;

不同之处是OFFSET只能取得用数据定义伪指令的变量的有效地址,而不能取得一般操作数的有效地址;

题3.9 请指出如下指令的不明确之处,并使其明确:

MOV ES:[BP],5

ADD CS:[1000H],10H

DEC SS:[BX-8]

JMP CS:[SI+1000H]

MUL [BX+DI+2]

80X86汇编语言程序设计教程(杨季文)课后习题答案

DIV [BP-4]

答: MOV ES:[BP],5 ;未指定存储单元属性 MOV WORD PTR ES:[BP],5

ADD CS:[1000H],10H ;同上 ADD WORD PTR CS:[1000H],10H

DEC SS:[BX-8] ;同上 DEC WORD PTR SS:[BX-8]

JMP CS:[SI+1000H] ;无法确定段间还是段内转移

JMP WORD PTR CS:[SI+1000H]

MUL [BX+DI+2] ;无法确定是8位乘法还是16位乘法

MUL WORD PTR [BX+DI+2]

DIV [BP-4] ;同上 DIV WORD PTR [BP-4]

题3.10 设在某个程序中有如下片段,请改正其中有错误的指令语句:

VARW DW 1234H,5678H

VARB DB 3,4

VARD DD 12345678H

......

MOV AX,VARB

MOV VARD,BX

MOV VARD+2,ES

MOV CL,VARW+3

LES DI,VARW

答: MOV AX,VARB ;VARB是8bit量,应该修改AX到AL or AH

MOV VARD,BX ;VARD是32bit量,要分两次传

MOV VARD+2,ES ;同上

MOV CL,VARW+3 ;同上,CL改为CX

LES DI,VARW ;VARW非32位量,应改为VARD

题3.11 请举例说明伪指令ASSUME的作用。

答: ASSUME的作用是声明现在开始CS寄存器对应于哪个段,DS对应于哪个段,SS和ES分别对应哪个段,可以相同也可以不同;如:

ASSUME CS:CSEG,DS:DSEG,SS:SSEG,ES:ESEG

可以根据需要重新建立对应关系;

题3.12 设在某个程序片段中有如下语句,请说明各符号的属性:

SYMB1 LABEL BYTE

SYMB2 EQU THIS BYTE

SYMB3 DW ?

SYMB4 EQU BYTE PTR SYMB3

答: SYMB1:BYTE

SYMB2:BYTE

SYMB3:WORD

SYMB4:BYTE

80X86汇编语言程序设计教程(杨季文)课后习题答案

题3.13 为什么说汇编语言中的等价语句EQU可理解为简单的宏定义?请举例说明。 答: EQU可以用符号定义常数,表达式,指令助记符,字符串等;

而宏定义是指定一个宏指令名,宏指令可表示相对应的程序片段。

如:

HELLO EQU "How are you !"

与:

HELLO MACRO

'How are you !'

ENDM

一致;

题3.14 设在某个程序片段中有如下语句,请说明各符号所表示的值:

SYMB1 = 10

SYMB2 = SYMB1*2

SYMB1 = SYMB1 + SYMB2 + 4

< …… 此处隐藏:2801字,全部文档内容请下载后查看。喜欢就下载吧 ……
80X86汇编语言程序设计教程(杨季文)课后习题答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/132329.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)