77范文网 - 专业文章范例文档资料分享平台

课后习题答案(3)

来源:网络收集 时间:2020-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

PUSH AX PUSH BX POP AX POP BX

(4)执行下面的程序段后,AL的内容是( ),BL的内容是( ). MOV AL,20H TEST AL,80H JNZ DO1 MOV BL,0 JMP DO2

DO1:MOV BL,1 DO2:HLT 答: (1).(AL)=12H,(BX)=3412H (2).(AL)=11H (3).(AX)=5678H,(BX)=1234H (4).(AL)=80H,(BL)=0

19. 两个非组合BCD数(BY0,BY1)进行十进制减法,并将差求绝对值后保存在SD单元。补完程序。

MOV AL,BY0 CMP AL,BY1 JNC L1 MOV AH,BY1 MOV BY1,AL MOV AL,AH L1:SUB AL,BY1 ( )

MOV SD,AL

答:AAS。AAS指令用于对两个分离的BCD数相减的结果(在AL中)进行调整,得到一个有效的分离BCD数\差\,结果仍放在AL中 20. 已知有程序段如下:

MOV AL,35H MOV DL,AL AND DL,0FH AND AL,0F0H MOV CL,4 SHR AL,CL MOV BL,10 MUL BL ADD AL,DL

执行之后,AL等于多少?该程序段完成了什么功能?

- 11 -

答:程序段执行后AL=23H。该程序段实现了将AL中的1个组合BCD码转换为十六进制数并存回AL中的功能。

21. 以HEX为首址的字节单元处存放着一串ASCII字符:“0123456789ABCDEF”,并有程序段如下:

MOV BX,OFFSET HEX LEA DI,HCOD INC DI STD

MOV AL,5CH MOV AH,AL AND AL,0FH XLAT HEX STOSB

MOV AL,AH MOV CL,4 SHR AL,CL XLAT HEX STOSB

上述程序段执行后,字节单元HCOD及其相邻单元HCOD+1的内容是多少?该程序段的功能是什么?

答:程序段执行后,HCOD单元的内容是‘5’,HCOD+1单元的内容是‘C’。该程序段将AL中存放的1字节十六进制数转换为2个对应的ASCII字符存放在HCOD及其相邻单元HCOD+1中。

(四)习题四解答

1. 什么是汇编语言?它和机器语言及高级语言有何区别?

答:计算机程序设计语言分为三个层次:机器语言,汇编语言和高级语言。 机器语言是用0和1的二进制串表示机器指令代码的语言。不同的CPU,机器语言是不同的。由于机器语言指令很难记,程序员用机器语言只在计算机诞生的早期出现过。 汇编语言用一些助记符来代替机器语言指令代码,与机器语言指令代码是一一对应的,因此也是面向机器的。助记符是帮助人们记忆的符号,方便程序员进行编程。汇编语言程序设计一般用于对硬件的控制,编程效率较低,但设计出的程序工作效率较高。高级语言接近自然语言,容易学习,编程效率较高。

2. 汇编语言程序一般包括了哪些段?如何定义这些段?

答:8086汇编源程序中可以定义四种段,即:数据段、附加段、堆栈段和代码段。每

- 12 -

种段都可以定义一个或多个。其中数据段、附加段用来定义数据、分配存储单元,堆栈段专门用于保存参数、断点等信息,代码段则用来存放指令。

当程序需要设置一个段的时候,就必须首先使用段定义伪指令。它的格式为 段名 SEGMENT [定位类型][组合类型][‘类别名’] (语句)… ;程序和数据 段名 ENDS

每个段都以SEGMENT伪指令开始,以ENDS伪指令结束。

3. 什么是伪指令?它和指令有何区别?

答:伪指令语句是用于指示汇编程序如何汇编源程序,例如源程序中的伪指令语句告诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段中哪些是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等等。伪指令语句除定义的具体数据要生成目标代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程序在汇编源程序时,通过执行一段程序来完成的,而不是在运行目标程序时实现的。

伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。

4. 判断以下说法是否正确,如有错,请说明原因并改正。

(1)伪指令在汇编过程中不会产生二进制代码。

(2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。 (3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。 (4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。 答:(1)正确。

(2)错误。宏不能精简目标代码。

(3)错误。高级语言程序经编译或解释后直接转换为目标代码。 (4)正确。

5. 若数据段中有定义

NUM1 EQU 23H NUM2 DW 0

则指令MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后NUM2+1单元的内容分别是什么?

答:指令MOV NUM2,NUM1的源操作数使用立即数寻址,目的操作数使用直接寻址。指令执行后NUM2+1单元的内容是0。

6. 设DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存69632H~69635H单元的内容依次是00H、11H、22H、33H。 4字节指令 CALL DWORD PTR [BX+1200H] 本身位于2000H:3250H处的双字单元中。当8086执行该指令后转移至子程序入口时,CS、

- 13 -

IP、SS、SP各寄存器以及栈顶2个字单元的内容分别是多少?

答:执行结果为CS=3322H,IP=1100H,SS=5000H,SP=3254H,栈顶的两个字即断点地址,为2000H:3254H。

7. 已知某数据段从物理地址03000H处开始,定义如下:

DSEG SEGMENT ORG 2000H A1 DD 2 DUP(7,1,?) A2 DB 10 DUP(0,4,3 DUP(2),5) CNT EQU 20H A3 DW 100 DUP(?) DSEG ENDS

请分别用分析运算符SEG、OFFSET、LENGTH、SIZE、TYPE求出 A1、A2、A3的段基址、偏移量、类型及它们的LENGTH、SIZE。

答:(SEG A1)=0300H,(OFFSET A1)=2000H,(TYPE A1)=4,

(LENGTH A1)=2,(SIZE A1)=2×4=8; (SEG A2)=0300H,(OFFSET A2)=2018H,(TYPE A2)=1, (LENGTH A2)=10,(SIZE A2)=10×1=60; (SEG A3)=0300H,(OFFSET A3)=2054H,(TYPE A3)=2, (LENGTH A3)=100,(SIZE A3)=100×2=200

8. 阅读下面的程序,回答问题 DATA SEGMENT

BUF DB '1234' N=$-BUF BCD DB N DUP(?) DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX LEA SI,BUF MOV CX,N

LEA DI,BCD+N-1

LOOP1:MOV AL,[SI]

SUB AL,30H MOV [DI],AL INC SI DEC DI

- 14 -

DEC CX JNE LOOP1 MOV AH,4CH INT 21H CODE ENDS END START

(1)画出内存分配图。

(2)说明程序功能,程序执行后,从BCD开始的N个字节单元中的内容是什么? (3)找出一条指令代替指令“SUB AL,30H”,使程序功能不变。

(4)如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD;DEC DI改成INC DI,其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是什么? (5)取消数据段的BCD存储区,将处理后的数据放回原处,应如何修改程序? 答:(1)

变量 值 EA BUF→ 31H 0

32H 1 33H 2 34H 3 BCD→ -- 4 -- 5 -- 6 - 7

(2)程序功能是将从BUF开始的连续4个字符'1234'转变为4个对应的数值,按逆序存放到以变量BCD为首地址的存储单元中。程序执行后,从BCD开始的N个字节单元中的内容是4 3 2 1。

(3)用指令“AND AL,0FH”代替指令“SUB AL,30H”,程序功能不变。

(4)如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD;DEC DI改成INC DI,其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是1 2 3 4。 (5)取消数据段的BCD存储区,将经处理后的数据放回原处,修改程序如下 DATA SEGMENT

BUF DB '1234'

N=$-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX LEA SI,BUF MOV CX,N

- 15 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库课后习题答案(3)在线全文阅读。

课后习题答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1090520.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: