云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > IBM-PC汇编语言程序设计课后习题答案第二版沉美明资料

IBM-PC汇编语言程序设计课后习题答案第二版沉美明资料

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 3:44:57

-------------------------------------------------------------------------- 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 ;是回车符,则结束 SUB AL, ‘1’ ;是1~5吗? JB ERROR ;小于1,错误 CMP AL, 4

JA ERROR ;大于5,错误 MOV BX, OFFSET SINGLIST

MUL AX, 4 ;(AX)=(AL)*4,每个歌曲程序的首地址占4个字节 ADD BX, AX

JMP DWORD PTR[BX] ;转去执行歌曲程序 ERROR: MOV DX, OFFSET ERRMSG MOV AH, 09H

INT 21H ;显示错误信息 JMP BEGIN SING1: ┇ JMP BEGIN SING2: ┇

JMP BEGIN SING3: ┇ JMP BEGIN SING4: ┇ JMP BEGIN SING5: ┇ JMP BEGIN EXIT: RET MAIN ENDP

CSEG ENDS ;以上定义代码段

-------------------------------------------------------------------------- END START

5.25 试用8086的乘法指令编制一个32位数和16位数相乘的程序;再用80386的乘法指令编制一个32位数和16位数相乘的程序,并定性比较两个程序的效率。 答:8086的程序如下(假设为无符号数): DSEG SEGMENT

MUL1 DD ? ;32位被乘数 MUL2 DW ? ;16位乘数

MUL0 DW 0,0 ,0 ,0 ;乘积用64位单元存放 DSEG ENDS

-------------------------------------------------------------------------- CSEG SEGMENT

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

;-------------------------------------------------------------------------- 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

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com