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

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

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 3:33:49

第五章5.1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

答:程序段如下:

BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用 INT 21H

CMP AL, ‘a’ ;输入字符<‘a’吗? JB STOP

CMP AL, ‘z’ ;输入字符>‘z’吗? JA STOP

SUB AL, 20H ;转换为大写字母,用AND AL, 1101 1111B也可 MOV DL, AL ;显示一个字符的DOS调用 MOV AH, 2 INT 21H JMP BEGIN STOP: RET

5.2 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 答:程序段如下:

BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用

INT 21H

CMP AL, ‘a’ ;输入字符<‘a’吗? JB STOP

CMP AL, ‘z’ ;输入字符>‘z’吗? JA STOP

DEC AL ;得到前导字符 MOV DL, AL ;准备显示三个字符 MOV CX, 3

DISPLAY: MOV AH, 2 ;显示一个字符的DOS调用 INT 21H INC DL LOOP DISPLAY STOP: RET

5.3 将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中。 答:程序段如下: DSEG SEGMENT STORE DB 4 DUP (?) DSEG ENDS ┇

BEGIN: MOV CL, 4 ;右移四次 MOV CH, 4 ;循环四次 LEA BX, STORE A10: MOV DX, AX

AND DX, 0FH ;取AX的低四位 MOV [BX], DL ;低四位存入STORE中 INC BX

SHR AX, CL ;右移四次 DEC CH

JNZ A10 ;循环四次完了码?

B10: MOV DL, STORE ;四组数分别放在AL、BL、CL和DL中 MOV CL, STORE+1 MOV BL, STORE+2 MOV AL, STORE+3 STOP: RET

5.4 试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示‘MATCH’, 若不相同则显示‘NO MATCH’。 答:程序如下: DSEG SEGMENT

STRING1 DB ‘I am a student.’ STRING2 DB ‘I am a student!’ YES DB ‘MATCH’, 0DH, 0AH, ‘$’ NO DB ‘NO MATCH’, 0DH, 0AH, ‘$’ 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: LEA SI, STRING1 ;设置串比较指令的初值 LEA DI, STRING2 CLD

MOV CX, STRING2 - STRING1 REPE CMPSB ;串比较 JNE DISPNO

LEA DX, YES ;显示MATCH JMP DISPLAY

DISPNO: LEA DX, NO ;显示NO MATCH

DISPLAY: MOV AH, 9 ;显示一个字符串的DOS调用 INT 21H RET MAIN ENDP

CSEG ENDS ;以上定义代码段

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

共分享92篇相关文档

文档简介:

第五章5.1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 答:程序段如下: BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用 INT 21H CMP AL, ‘a’ ;输入字符<‘a’吗? JB STOP CMP AL, ‘z’ ;输入字符>‘z’吗? JA STOP SUB AL, 20H ;转换为大写字母,用AND AL, 1101 1111B也可 MOV DL, AL ;显示一个字符的DOS调用 MOV AH, 2 INT 21H JMP BEGIN STOP: RET 5.2 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 答:程序段如下: BEGIN: M

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