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

IBM_PC汇编语言程序的设计课后习题答案(第二版沈美明))

来源:用户分享 时间:2025/5/26 1:21:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

(1) 若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中;

(2) 若两个数中均为奇数,则将两数加1后存回原变量;

(3) 若两个数中均为偶数,则两个变量均不改变。

答:程序如下:

DSEG SEGMENT

A DW ?

B DW ?

DSEG ENDS

;--------------------------------------------------------------------------

CSEG SEGMENT

MAIN PROC FAR

ASSUME CS: CSEG, DS: DSEG

START: PUSH DS ;设置返回DOS

SUB AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX ;给DS赋值

BEGIN: MOV AX, A

MOV BX, B

XOR AX, BX

TEST AX, 0001H ;A和B同为奇数或偶数吗?

JZ CLASS ;A和B都为奇数或偶数,转走

TEST BX, 0001H

JZ EXIT ;B为偶数,转走

XCHG BX, A ;A为偶数,将奇数存入A中

MOV B, BX ;将偶数存入B中

JMP EXIT

CLASS: TEST BX, 0001H ;A和B都为奇数吗?

JZ EXIT ;A和B同为偶数,转走

INC B

INC A

EXIT: RET

MAIN ENDP

CSEG ENDS ;以上定义代码段

;--------------------------------------------------------------------------

END START

5.24 假设已编制好5个歌曲程序,它们的段地址和偏移地址存放在数据段的跳跃表SINGLIST中。试编制一程序,根据从键盘输入的歌曲编号1~5,转去执行五个歌曲程序中的某一个。

答:程序如下:

DSEG SEGMENT

SINGLIST DD SING1

DD SING2

DD SING3

DD SING4

DD SING5

ERRMSG DB ‘Error! Invalid parameter!’, 0DH, 0AH, ‘$’

DSEG ENDS

;--------------------------------------------------------------------------

CSEG SEGMENT

MAIN PROC FAR

ASSUME CS: CSEG, DS: DSEG

START: PUSH DS ;设置返回DOS

SUB AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX ;给DS赋值

BEGIN: MOV AH, 1 ;从键盘输入的歌曲编号1~5

INT 21H

CMP AL, 0DH

JZ EXIT ;是回车符,则结束

IBM_PC汇编语言程序的设计课后习题答案(第二版沈美明)).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4r46t44sfx7u3cm9b9nu86wqu5roxb0035s_14.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top