教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

《汇编语言程序设计》期末复习题 -(9)

来源:网络收集 时间:2026-08-12
导读: 2. 编制一子程序,将 AL 中一位十六进制数转换为对应的 ASCII 码并用 2号 DOS 功能调用 显示出来,输入参数:被转换的十六进制数已在 方法一: D:\\ZQL>type exp12.asm CODE SEGMENT ASSUME CS:CODE START:MOV AL,0DH C

2. 编制一子程序,将 AL 中一位十六进制数转换为对应的 ASCII 码并用 2号 DOS 功能调用 显示出来,输入参数:被转换的十六进制数已在 方法一: D:\\ZQL>type exp12.asm CODE SEGMENT ASSUME CS:CODE START:MOV AL,0DH CALL Liuweipei MOV AH,4CH INT 21H Liuweipei PROC CMP AL,10

JC K1 ADD AL,7 K1: ADD AL,30H MOV DL,AL MOV AH,2 INT 21H RET Liuweipei ENDP CODE ENDS

END START

3. 用字符串指令编制一程序段 , 把以 DAT1为首地址的数据区中的 50个字节数据依次传送 到以 DAT2为首地址的数据区中。 要求 :在程序中按地址递增方式进行数据传送。 CLD

MOV CX,50 LEA SI,DAT1 LEA DI,DAT2 REP MOVSB

4. 在以 Block 为首地址的字节单元中, 存放了 06计算 (1班的学生考试成绩。 试编制一程 序,利用学生的序号来查表得到该学生的成绩,设学生的序号在 NUMBER 单元,查表结 果存入 RESULT 单元中。 DATA SEGMENT

Block DB X1, X2, X3, ??, X 50 NUMBER DB X RESULT DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX, Block

MOV AL, NUMBER XLAT MOV RESULT, AL MOV AH,4CH INT 21H CODE ENDS

END START 5. 在南昌市的湖坊乡, 约有人口 45000 , 试编写一程序统计一下该乡超过 100岁以上的老 人有多少,并将统计结果存放在 SUM 单元中。

DATA SEGMENT

AGE DB 25,31,6,101,90,71,116, CONT EQU $-AGE SUM DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,CONT MOV BX,0 LOP: CMP AGE[BX],100 JB NEXT INC SUM

6. 设有 DX:AX构成一个 32位数据 , 从 AX 的低位 (第 0位 开始 , 逐位向高位和 DX 置 1, 置 1的个数由 CX 的内容确定 ( 已知 CX<32 。试编制一程序段 , 实现上述要求。 XOR AX,AX

LOP: STC RCL AX,1 RCL DX,1 LOOP LOP

7. 编写程序段,用 DOS 的 1号功能调用通过键盘输入一字符,并判断输入的字符。如字 符是“ Y ” ,则转向 YES 程序段;如字符是“ N ” ,则转向 NO 程序段;如果是其它字符, 则转向 DOS 功能调用,重新输入字符。 (考生勿需写出源程序格式,只需写出与试题要 求有关的指令序列 KEY:MOV AH,1 (YES和 NO 分别是两程序段入口处的标号 INT 21H

CMP AL,‘ Y ’ JE YES

CMP AL,‘ N ’ JE NO JMP KEY

8. 在以 STRING 为首地址的存储区域存放了一个字符串 , 串的长度为 否有字符 $,若有将 SIGN 单元置 1, 反之 , 将 SIGN 单元置 0(列

(1 用比较条件转移指令实现。 (2用重复操作前缀串搜索指令实现。 (1 MOV CX,50 (2 MOV CX,50 MOV BX,0 LEA DI,STRING N: CMP STRING[BX],’ $’ CLD

JZ DONE MOV AL,’ $’

汇编语言程序设计 综合复习 INC LOOP MOV JMP DONE: MOV EXIT0: HLT BX N SIGN,0 EXIT0 SIGN,1 DONE: EXIT0: REPNE JZ MOV JMP MOV HLT SCASB DONE SIGN,0 EXIT0 SIGN,1 …… 9. 从键盘接收一个 4 位十进制数据,并将其存入 ASCII 缓冲区,若输入出错,则调用子程 序输出出错信息,提示重新输入,试编写一程序完成上述功能。 DATA SEGMENT ASCII DB 4 DUP(? SIGN DB

‘Input error,Repeat! $’ DATA ENDS CODE SEGMENT ASSUME

CS:CODE,DS:DATA START: MOV AX,DATA DONE: MOV DS,AX LEA SI,ASCII OUTPUT MOV CX,4 NEXT: MOV AH,01H INT 21H CMP AL,30H JB DONE CMP AL,39H JA DONE OUTPUT MOV [SI],AL CODE INC SI LOOP NEXT MOV AH,4CH INT 21H 和打印出的第 7 章 程序设计题一样! 若输入:3456 SI CALL JMP PROC PUSH LEA MOV INT POP RET ENDP ENDS END OUTPUT NEXT ASCII 33H 34H 35H 36H CX DX,SIGN AH,09H 21H CX START 源程序: DATA SEGMENT M1 DB ×× M2 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA 共 28 页 第 26 页 10.编写一完整源程序,将 M1 中 的二进制数按位倒排送 M2 中,即 M1 第 0 位送 M2 第 7 位,M1 第 1 位送 M2 第 6 位,依次类推。 数据段如下: DATA M1 M2 DATA SEGMENT DB DB ENDS YY;任一字节数 ?

汇编语言程序设计 综合复习 MOV DS,AX MOV CX,8 MOV AL,M1 XOR AH,AH LOP: SAL AL,1 RCR AH,1 LOOP LOP MOV M2,AH MOV AH,4CH INT 21H CODE ENDS END START D7 M1: D0 1 0 1 0 D7 1 0 1 1 D0 M2: 1 1 0 1 0 1 0 1 11.在数据段中,WEEK 是星期一~星期日的英文缩写,DAY 单元中有数 1~7(1 表示星期 一,7 表示星期日: WEEK DAY DB ‘MON’, ‘TUE’, ‘WED’, ‘THU’, ‘FRI’, ‘SAT’, ‘SUN’ DB X ; 数字 1~7 试编写一源程序, 根据 DAY 的内容用单个字符显示功能调用(2 号功能去显示对应的英 文缩写。 源程序: DATA SEGMENT WEEK DB ‘MON’, ‘TUE’, ‘WED’, ‘THU’, ‘FRI’, ‘SAT’, ‘SUN’ DAY DB X DATA ENDS LOP: MOV DL,WEEK[BX] CODE SEGMENT MOV AH,02H ASSUME

CS:CODE,DS:DATA INT 21H START:MOV AX,DATA INC BX MOV DS,AX LOOP LOP XOR BX,BX MOV AH,4CH MOV BL,DAY INT 21H DEC BL CODE ENDS MOV AL,BL END START SAL BL,1 ADD BL,AL MOV CX,3 12.试编制一程序段,用串操作指令 STOSB 实现向 DA 数据区依次相间存放字母字符 A,B, C,??J 和数字字符 0~9,相间顺序是:A,0,B,1,C,2,?,I,8,J,9(设 DA 数据区所在段 已由 ES 指向 源程序: MOV MOV LEA MOV AL, ‘A’ AH, ‘0’ DI,DA CX,20 共 28 页 第 27 页 DI ES DA A 0

汇编语言程序设计 综合复习 CLD LOP:STOSB; (DI INC XCHG LOOP AL AL,AH LOP AL DI DI+1 B 1 C 2 ?? 13.在首地址为 TAB 的数组中按递增次序存放着 100 个数,试编程将出现次数最多的数以及 出现的次数分别存放于变量 NUM 和 COUNT 中,并以: COUNT=? 的形式输出 COUNT 的值(设 最多重复次数<10 DATA SEGMENT BUF DB 1,2,14H,14H,14H,14H,14H,15H,15H,15H,15H,59H LEN =$-BUF NUM DB ? COUNT DB 0 MM DB 'COUNT=','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV SI,0 MOV CX,LEN MOV BL,0 A: MOV AL,BUF[SI] CMP AL,BUF[SI+1] JNE KL1 INC BL MOV BH,AL JMP KL2 KL1:CMP COUNT,BL JAE L2 注意和教材 MOV COUNT,BL P1065.6 比较 MOV NUM,BH L2: MOV BL,0 KL2:INC SI LOOP A INC COUNT LEA DX,MM MOV AH,9 INT 21H 共 28 页 第 28 页

汇编语言程序设计 综合复习 MOV DL,COUNT ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 共 28 页 第 29 页

…… 此处隐藏:2047字,全部文档内容请下载后查看。喜欢就下载吧 ……
《汇编语言程序设计》期末复习题 -(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/443437.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)