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

计算机组成原理与汇编语言程序设计编程练习题

来源:网络收集 时间:2018-10-31 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《计算机组成原理与汇编语言程序设计》编程练习题

一、填空题

1、 构成MSAM汇编语言程序的三种语句是:指令语句、 和宏指令语句。 2、 构成MSAM汇编语言程序的三种语句是: 、伪指令语句和宏指令语句。 3、 构成MSAM汇编语言程序的三种语句是:指令语句、伪指令语句和 。 4、 在汇编程序中的变量均有三个属性:段属性、偏移量属性和 。 5、 在汇编程序中的变量均有三个属性: 、偏移量属性和类型属性。 6、 在汇编程序中的变量均有三个属性:段属性、 和类型属性。

7、 在汇编语言程序设计中的三种构成方法是:顺序程序设计、 和循环程序设计。 8、 在汇编语言程序设计中的三种构成方法是: 、分支程序设计和循环程序设计。 9、 在汇编语言程序设计中的三种构成方法是:顺序程序设计、分支程序设计和 。 10、汇编语言中的常数有 和字符常数。

11、在汇编语言程序设计中的三种构成方法分别是:顺序程序设计、 和循环程序设计。 12、汇编语言源程序至少须有一个_______________段和一条_______________伪指令,而________________段和__________________段则视需要而设。 二、判断题

1、 指令TEST AL,0执行后AL的内容一定是全零。( ) 2、 逻辑右移1位和算术右移1位结果都是一样的。( ) 3、 下面是合法的数据传送指令:MOV AL,255。( )

4、 指令之间的衔接方式有两种:串行的重叠处理方式和并行的顺序安排方式。( ) 5、 指令SHRAX,4可以将AX的内容逻辑右移4位。( ) 三、单项选择题

1、 把源程序变成目标程序的应用软件是 _ 。 A、EDIT B、MASM C、LINK D、DEBUG 四、简答题

1. 请简述汇编语言程序开发的过程

2. 请简述汇编语言源程序和机器语言程序有什么不同?

3. 汇编程序开发步骤中的汇编程序MASM的主要作用是什么? 4. MASM汇编程序开发步骤中的LINK的主要作用是什么? 5. 顺序程序设计的主要特点是什么? 6. 一个循环程序通常由哪5个部份组成? 7. 请回答汇编语言程序开发的四个主要步骤

8. 请回答汇编语言程序开发过程中的第二和第三步所需要的软件名称和生成的主要文件的扩展名。(如第一步需要软件名称是字编辑软件PE等,生成的源程序的扩展名是ASM) 9. 请简述调用系统功能子程序的设计格式是什么? 10. 指令语句和伪指令语句有什么不同?

11. 简述汇编语言的组成及各基本语句的作用。 12. 什么是系统调用?如何进行系统调用? 五、分析设计题

1. 如下程序是准备将0至100中的奇数求和,结果送SUM字单元,请用汇编语言完成此程序的设计。

DATA SEGMENT

;(1)定义结果单元,初值为0

DATA ENDS

STACT SEGMENT PARA STACK DB 100 DUP(?)

STACK ENDS ;定义好堆栈 CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK START: MOV ;(2)

MOV DS,AX ;装填DATA数据段地址 MOV AX,0 MOV DX,1 LOOP1: CMP DX,100

JG EXIT ;大于转移 ADD AX,DX

;(3)调整DX的值 JMP LOOP1 ;无条件转移 EXIT: ;(4)将结果存入SUM单元 MOV AH, 4CH

INT 21H ;正常返回DOS CODE ENDS

;(5)程序结束 2. 如下程序是准备将100至200中的奇数求和,结果送SUM字单元,请用汇编语言完成此程序的设计。

DATA SEGMENT

SUM DW 0 ;定义结果单元,初值为0 DATA ENDS

STACT SEGMENT PARA STACK DB 100 DUP(?)

;(1)定义好堆栈 CODE SEGMENT

;(2)分配段寄存器 START: MOV AX,DATA

;(3)装填DATA数据段地址 MOV AX,0 MOV DX,101

LOOP1: ;(4)比较,形成条件 JG EXIT ;大于转移 ADD AX,DX

INC DX ;调整DX的值 INC DX

; (5)做下一次

EXIT: MOV SUM, AX ;将结果存入SUM单元 MOV AH, 4CH

INT 21H ;正常返回DOS

CODE ENDS

END START ;程序结束

3. 如下程序是准备将0至100中的偶数求和,结果送SUM字单元,请用汇编语言完成此程序的设计。

DATA SEGMENT

SUM DW 0 ;定义结果单元,初值为0 DATA ENDS

STACT SEGMENT PARA STACK DB 100 DUP(?)

STACK ENDS ;定义好堆栈 CODE SEGMENT

;(1)分配段寄存器 START: MOV AX,DATA

MOV DS,DATA ;装填DATA数据段地址 ;(2)设定初值 MOV DX,2

LOOP1: ;(3)比较,形成条件 JG EXIT ;大于转移 ADD AX,DX

INC DX ;调整DX的值 INC DX

JMP LOOP1 ; 做下一次 EXIT: ;(4)将结果存入SUM单元 ;(5)置入口参数 INT 21H ;正常返回DOS CODE ENDS

END START ;程序结束 4. 如下程序是准备将100至200中的偶数求和,结果送SUM字单元,请用汇编语言完成此程序的设计。 DATA SEGMENT

SUM DW 0 ;定义结果单元,初值为0 DATA ENDS

STACT SEGMENT PARA STACK

; (1)定义100个字节的堆栈空间 STACK ENDS CODE SEGMENT

;(2)分配段寄存器 START: MOV AX,DATA

MOV DS,DATA ;装填DATA数据段地址 MOV AX,0

;(3)设定初值 LOOP1: ;(4)比较,形成条件 JG EXIT ;大于准备结束

ADD AX,DX

INC DX ;调整DX的值 INC DX

JMP LOOP1 ; 做下一次

EXIT: MOV SUM, AX ;将结果存入SUM单元 MOV AX,4C00H

;(5)正常返回DOS CODE ENDS

END START ;程序结束

5. 如下程序是准备将VAR单元中低四位的二进值转换成ASCII码,结果送ABC单元,请用汇编语言完成此程序的设计。

DATA SEGMENT

ABC DB 0 ;定义结果单元,初值为0 VAR DB ? DATA ENDS

STACT SEGMENT PARA STACK

;(1)定义100个字节的堆栈空间 STACK ENDS CODE SEGMENT

;(2)分配段寄存器 START: MOV AX,DATA

MOV DS,DATA ;装填DATA数据段地址 MOV AL, VAR

;(3)将AL高4位清零 CMP 9,AL

JAE EXIT ;AL小于等于9时转EXIT ;(4)大于9时调整AL EXIT: ADD AL, 30H MOV ABC,AL MOV AH,4CH

;(5)返回DOS CODE ENDS

END START ;程序结束

6. 已知VAR低4位的值是小于16的无符号数,如下程序是准备将VAR单元中低4位的值转换成ASCII码,结果送ABC单元,请用汇编语言完成此程序的设计。 DATA SEGMENT

ABC DB 0 ;定义结果单元,初值为0 VAR DB ? ;小于16 DATA ENDS

STACT SEGMENT PARA STACK

; (1)定义100个字节的堆栈空间 STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK ;分配段寄存器 START: MOV AX,DATA

;(2)装填DATA数据段地址 MOV AL, VAR

AND AL,0FH ; 将BL的高四位清零 9,AL ;(3)比较AL是否大于9 JAE EXIT ;AL小于等于9时转EXIT ADD AL,7

EXIT: ;(4)对AL加工为ASCII码 MOV ABC,AL

;(5)返回DOS系统调用入口参数 INT 21H CODE ENDS

END START ;程序结束

7. 如下程序是准备将VAR单元中高四位的二进值转换成ASCII码,结果送ABC单元,请用汇编语言完成此程序的设计。 DATA SEGMENT

ABC DB 0 ;定义结果单元,初值为0 VAR DB ? DATA ENDS

STACT SEGMENT PARA STACK

DB 100 DUP(?) ;定义100个字节的堆栈空间 STACK ENDS CODE SEGMENT

;(1)分配段寄存器 START: MOV AX,DATA

;(2)装填DATA数据段地址 MOV AL, VAR

;(3)移位次数送寄存器 SHL AL,CL AND AL,0FH CMP 9,AL

JAE EX09 ;AL小于等于9时转EX09 ;(4)大于9时AL加工 JMP EXIT EX09: ADD AL,30H EXIT: MOV ABC,AL MOV AH,4CH

;(5)返回DOS CODE ENDS

END START ;程序结束

8. 如下程序是准备将VAR单元中D2至D5四位的二进值转换成ASCII码,结果送ABC单

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机组成原理与汇编语言程序设计编程练习题在线全文阅读。

计算机组成原理与汇编语言程序设计编程练习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/244399.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: