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

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

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 7:14:47

5.7 试编写一个汇编语言程序,求出首地址为DATA的100D字数组中的最小偶数,并把它存放在AX中。 答:程序段如下: BEGIN: MOV BX, 0 MOV CX, 100

COMPARE: MOV AX, DATA[BX] ;取数组的第一个偶数 ADD BX, 2

TEST AX, 01H ;是偶数吗?

LOOPNZ COMPARE ;不是,比较下一个数 JNZ STOP ;没有偶数,退出

JCXZ STOP ;最后一个数是偶数,即为最小偶数,退出 COMPARE1: MOV DX, DATA[BX] ;取数组的下一个偶数 ADD BX, 2

TEST DX, 01H ;是偶数吗? JNZ NEXT ;不是,比较下一个数 CMP AX, DX ;(AX)<(DX)吗? JLE NEXT

MOV AX, DX ;(AX)<(DX),则置换(AX)为最小偶数 NEXT: LOOP COMPARE1 STOP: RET

5.8 把AX中存放的16位二进制数K看作是8个二进制的“四分之一字节”。试编写程序要求数一下值为3(即11B)的四分之一字节数,并将该数(即11B的个数)在终端上显示出来。 答:程序段如下:

BEGIN: MOV DL, 0 ;计数初始值

MOV CX, 8

COMPARE: TEST AX, 03H ;是数03吗? JNZ NOEQUAL ;不是,转走 INC DL ;是,计数

NOEQUAL: ROR AX, 1 ;准备判断下一个数 ROR AX, 1 LOOP COMPARE

ADD DL, ‘0’ ;将计数值转换为ASCII码 MOV AH, 2 ;进行显示 INT 21H STOP: RET

5.9 试编写一个汇编语言程序,要求从键盘接收一个四位的16进制数,并在终端上显示与它等值的二进制数。 答:程序段如下:

BEGIN: MOV BX, 0 ;用于存放四位的16进制数 MOV CH, 4 MOV CL, 4

INPUT: SHL BX, CL ;将前面输入的数左移4位 MOV AH, 1 ;从键盘取数 INT 21H

CMP AL, 30H ;<0吗?

JB INPUT ;不是‘0~F’的数重新输入 CMP AL, 39H ;是‘0~9’吗? JA AF ;不是,转‘A~F’的处理

AND AL, 0FH ;转换为:0000B~1001B JMP BINARY

AF: AND AL, 1101 1111B ;转换为大写字母 CMP AL, 41H ;又

JB INPUT ;不是‘A~F’的数重新输入 CMP AL, 46H ;>F吗?

JA INPUT ;不是‘A~F’的数重新输入 AND AL, 0FH ;转换为:1010B~1111B ADD AL, 9

BINARY: OR BL, AL ;将键盘输入的数进行组合 DEL CH JNZ INPUT

DISPN: MOV CX, 16 ;将16位二进制数一位位地转换成ASCII码显示 DISP: MOV DL, 0 ROL BX, 1 RCL DL, 1 OR DL, 30H

MOV AH, 2 ;进行显示 INT 21H LOOP DISP STOP: RET

5.10 设有一段英文,其字符变量名为ENG,并以$字符结束。试编写一程序,查对单词SUN在该文中的出现次数,并以格式“SUN:xxxx”显示出次数。 答:程序如下:

DSEG SEGMENT

ENG DB ‘Here is sun, sun ,…,$’ DISP DB ‘SUN:’

DAT DB ‘0000’ , 0DH, 0AH, ‘$’ KEYWORD DB ‘sun’ DSEG ENDS

-------------------------------------------------------------------------- CSEG SEGMENT MAIN PROC FAR

ASSUME CS: CSEG, DS: DSEG, ES: DSEG START: PUSH DS ;设置返回DOS SUB AX, AX PUSH AX MOV AX, DSEG

MOV DS, AX ;给DS赋值 MOV ES, AX ;给ES赋值 BEGIN: MOV AX, 0

MOV DX, DISP-ENG-2 ;计算ENG的长度(每次比较sun,因此比较次数-2) LEA BX, ENG COMP: MOV DI, BX LEA SI, KEYWORD MOV CX, 3

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

共分享92篇相关文档

文档简介:

5.7 试编写一个汇编语言程序,求出首地址为DATA的100D字数组中的最小偶数,并把它存放在AX中。 答:程序段如下: BEGIN: MOV BX, 0 MOV CX, 100 COMPARE: MOV AX, DATA[BX] ;取数组的第一个偶数 ADD BX, 2 TEST AX, 01H ;是偶数吗? LOOPNZ COMPARE ;不是,比较下一个数 JNZ STOP ;没有偶数,退出 JCXZ STOP ;最后一个数是偶数,即为最小偶数,退出 COMPARE1: MOV DX, DATA[BX] ;取数组的下一个偶数 ADD BX, 2 TEST DX, 01H ;是偶数吗? JNZ NEXT ;不是,比较下一个数 CMP AX, DX ;(AX)<(DX)吗? JLE NEXT MO

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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