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

上传人:C****o 文档编号:33382046 上传时间:2022-08-10 格式:PDF 页数:10 大小:93.83KB
返回 下载 相关 举报
2022年2022年计算机组成原理与汇编语言程序设计编程练习题 .pdf_第1页
第1页 / 共10页
2022年2022年计算机组成原理与汇编语言程序设计编程练习题 .pdf_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2022年2022年计算机组成原理与汇编语言程序设计编程练习题 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机组成原理与汇编语言程序设计编程练习题 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、计算机组成原理与汇编语言程序设计编程练习题一、填空题1、 构成 MSAM 汇编语言程序的三种语句是:指令语句、和宏指令语句。2、 构成 MSAM 汇编语言程序的三种语句是:、伪指令语句和宏指令语句。3、 构成 MSAM 汇编语言程序的三种语句是:指令语句、伪指令语句和。4、 在汇编程序中的变量均有三个属性:段属性、偏移量属性和。5、 在汇编程序中的变量均有三个属性:、偏移量属性和类型属性。6、 在汇编程序中的变量均有三个属性:段属性、和类型属性。7、 在汇编语言程序设计中的三种构成方法是:顺序程序设计、和循环程序设计。8、 在汇编语言程序设计中的三种构成方法是:、分支程序设计和循环程序设计。9

2、、 在汇编语言程序设计中的三种构成方法是:顺序程序设计、分支程序设计和。10、汇编语言中的常数有和字符常数。11、在汇编语言程序设计中的三种构成方法分别是:顺序程序设计、和循环程序设计。12、汇编语言源程序至少须有一个_段和一条_伪指令,而_段和 _段则视需要而设。二、判断题1、 指令 TEST AL ,0 执行后 AL 的内容一定是全零。( ) 2、 逻辑右移1 位和算术右移1 位结果都是一样的。( ) 3、 下面是合法的数据传送指令:MOV AL , 255。( ) 4、 指令之间的衔接方式有两种:串行的重叠处理方式和并行的顺序安排方式。( ) 5、 指令 SHRAX ,4 可以将 AX

3、的内容逻辑右移4 位。 ( ) 三、单项选择题1、 把源程序变成目标程序的应用软件是_ 。A、EDIT B、MASM C、 LINK D、DEBUG 四、简答题1. 请简述汇编语言程序开发的过程2. 请简述汇编语言源程序和机器语言程序有什么不同?3. 汇编程序开发步骤中的汇编程序MASM 的主要作用是什么?4. MASM 汇编程序开发步骤中的LINK 的主要作用是什么?5. 顺序程序设计的主要特点是什么?6. 一个循环程序通常由哪5 个部份组成?7. 请回答汇编语言程序开发的四个主要步骤8. 请回答汇编语言程序开发过程中的第二和第三步所需要的软件名称和生成的主要文件的扩展名。(如第一步需要软件

4、名称是字编辑软件PE 等,生成的源程序的扩展名是ASM )9. 请简述调用系统功能子程序的设计格式是什么?10. 指令语句和伪指令语句有什么不同?11. 简述汇编语言的组成及各基本语句的作用。12. 什么是系统调用?如何进行系统调用?五、分析设计题1. 如下程序是准备将0 至 100 中的奇数求和, 结果送 SUM 字单元, 请用汇编语言完成此程序的设计。DATA SEGMENT ; (1)定义结果单元,初值为0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页

5、- - - - - - - - - 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

6、 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 ;大于转移AD

7、D AX ,DX INC DX ;调整 DX 的值INC DX ; (5)做下一次EXIT :MOV SUM , AX ;将结果存入SUM 单元MOV AH , 4CH INT 21H ;正常返回DOS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - CODE ENDS END START ;程序结束3. 如下程序是准备将0 至 100 中的偶数求和,结果送SUM 字单元,请用汇编语言完成此程序的设计。DATA SEGMENT

8、 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 ;正

9、常返回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

10、EXIT ;大于准备结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 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 单元

11、, 请用汇编语言完成此程序的设计。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 M

12、OV 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

13、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 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 ,

14、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 数据段地址

15、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 单名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

16、- - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 元,请用汇编语言完成此程序的设计。DATA SEGMENT ABC DB 0 ;定义结果单元,初值为0 VAR DB ?DATA ENDS STACT SEGMENT PARA STACK DB 100 DUP (?);定义 100 个字节的堆栈空间STACK ENDS CODE SEGMENT ; (1)分配段寄存器START: ; (2)装填 DATA 数据段地址MOV DS,AX MOV AL , VAR ; (3)移位次送寄存器SHL AL ,CL ; (4)清 AL 高 4

17、 位为 0 CMP 9,AL JAE EXIT ;AL 小于等于9 时转 EXIT ADD AL , 7 ;大于 9 时 AL 加工为 BCD 码EXIT :ADD AL ,30H ; (5)存结果MOV AH , 4CH INT 21H ;返回 DOS CODE ENDS END START ;程序结束9. 已知 STR 是一个以 $为结束的字符串,如下程序统计字符A在字符串中出现的次数,并将统计结果送COUNT 单元,请用汇编语言完成此程序的设计。DATA SEGMENT STR DB ACabAabbbAHJA , , $;定义 STR 串; (1)定义 COUNT 字节单位,初值为零D

18、ATA ENDS STACT SEGMENT PARA STACK | DB 100 DUP (?);定义 100 个字节的堆栈空间STACK ENDS CODE SEGMENT ASSUME DS :DATA,CS:CODE,SS:STACK ;分配段寄存器START: MOV AX ,DATA MOV DS,AX ;装填 DATA 段段地址MOV CL,0 ;(2) 装入 STR 有效地址到SI LOOP1:;(3)取 STR 中的一个字符送寄存器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

19、- - - 第 6 页,共 10 页 - - - - - - - - - CMP AL , AJZ SUM ;如果是 A字符转统计CMP AL , $;比较是否为串结束符;(4)如果是 $转;(5)调整 SI JMP LOOP1 SUM:INC CL INC SI JMP LOOP1 EXIT :MOV COUNT ,CL ;结果送入COUNT 单元MOV AH , 4CH INT 21H ;返回 DOS CODE ENDS END START 10. 已知 STR 是一个以 $为结束的字符串,如下程序统计字符A在字符串中出现的次数,并将统计结果送COUNT 单元,请用汇编语言完成此程序的设计

20、。DATA SEGMENT STR DB AVCFACabAabbbAHJA , , $;定义 STR 串COUNT DB 0 ;定义 COUNT 字节单位,初值为零DATA ENDS STACT SEGMENT PARA STACK ; (1)定义 1K 个字节的堆栈空间STACK ENDS CODE SEGMENT ASSUME DS :DATA ,CS:CODE,SS:STACK ;分配段寄存器START: MOV AX ,DATA MOV DS,AX ;装填 DATA 段段地址MOV CL ,0 ; (2) 装入 STR 有效地址到LOOP1:MOV AL ,SI ;取 STR 中的一

21、个字符送AL 寄存器; ( 3)比较取出的字符是A?JZ SUM ;如果是 A字符转统计CMP AL , $;比较是否为串结束符JZ EXIT ;如果是 $转; (4)调整 SI JMP LOOP1 SUM:; (5)统计数加1 INC SI JMP LOOP1 EXIT :MOV COUNT ,CL ;结果送入COUNT 单元MOV AH ,4CH INT 21H ;返回 DOS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - -

22、- CODE ENDS END START 二、第 5 章练习题解答1、填空题参考答案1、伪指令语句2、指令语句3、宏指令语句4、类型属性5、段属性6、偏移量属性(或位移量属性)7、分支程序设计8、顺序程序设计9、循环程序设计10、数值常数11、分支程序设计。12、代码;END ;数据;堆栈。2、判断题参考答案1.(错)2. (错)3. (对)4.(错)5.(错)3、单项选择题参考答案1.B 4、简答题参考答案1用文字编辑软件编辑源程序文件(1)调用汇编程序MASM 将源程序汇编成目标程序(2)如果有错则转(1),无错则下一步(3)调用连接文件LINK 将目标程序转成可执行文件(4)装载运行(

23、或用框图作答也对) 2 (1)机器语言程序是指用二进制代码组成的指令序列(2)汇编语言是将机器语言“符号化”,汇编的指令语句与机器指令一一对应3对源程序进行汇编,如果源程序无语法错,就把源程序汇编生成目标程序。4连接程序LINK 将目标程序(OBJ)转换为一个可执行文件(EXE)5程序运行时,完全按照编写的指令顺序执行,且每条指令仅执行一次。6 (1)初始化部份;(2)工作部份(3)修改部份(4)控制部份(5)结束处理部份7 (1)编辑生成源程序(2)汇编源程序生成目标程序(3)连接目标程序生成可执行文件(4)运行调试可执行文件8 (1)汇编程序MASM 。生成的目标程序扩展名OBJ;(2)连

24、接程序LINK 。生成的可执行文件扩展名EXE 。9 (1)送入口参数到指定寄存器(2)送子功能号到AH (3)发出软中断指令INT 10(1)指令语句汇编时生成可供执行的指令代码。(2)伪指令语句是指示汇编程序如何汇编源程序,汇编时不生成指令代码。11(1)汇编语言是由指令语句、伪指令语句、和宏指令语句组成。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - (2)指令语句是程序运行时所执行的语句;(3)伪指令语句是汇编过程中执

25、行的语句;(4)宏指令语句是在汇编过程中产生指令代码用于替代程序中多次出现的程序段。12系统调用DOS 调用中通过INT 21H 的调用。其过程是:(1)置入口参数(1 分) ;(2)将系统功能号送入AH :(3)执行系统调用INT 21H 。5、分析设计题参考答案1、解答:(1) SUM DW 0 (2)AX , DATA (3) ADD DX , 2 (4)MOV SUM ,AX (5) END START 2、解答:(1) STACK ENDS (2)ASSUME CS : CODE,DS:DATA ,SS,STACK (3) MOV DS,AX (4)CMP DX ,200 (5) J

26、MP LOOP1 3、解答:(1) ASSUME CS :CODE,DS:DATA,SS: STACK (2)MOV AX,0 (3)CMP DX ,100 (4)MOV SUM,AX (5)MOV AH,4CH (或MOV AX ,4CXXH )4、解答:(1) DB 100 DUP (0)(2) ASSUME CS :CODE,DS:DATA,SS: STACK (3) MOV DX ,100 (4) CMP DX ,200 (5) INT 21H 5、解答:(1) DB 100 DUP (?)(2) ASSUME CS:CODE,DS:DATA,SS:STACK (3) AND AL ,

27、0FH (4) ADD AL ,7 (5) INT 21H 6、解答:(1) DB 100 DUP(?)(2) MOV DS, AX (3) CMP (4) ADD AL ,30H (5) MOV AH ,4CH (或MOV AX ,4CxxH )7、解答:(1) ASSUME CS:CODE,DS:DATA,SS:STACK 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - (2) MOV DS, AX (3) MOV CL,

28、4 (4) ADD AL ,37H (5) INT 21H 8、解答:(1) ASSUME CS :CODE,DS:DATA,SS: SATCK (2) MOV AX ,DATA (3) MOV CL,2 (4) AND AL ,0FH (5) MOV ABC ,AL 9、解答:(1) COUNT DB 0 (2) LEA SI,STR (或 MOV SI,OFFSET STR)(3) MOV AL ,SI (4) JZ EXIT (5) INC SI 10、解答:(1) DB 1024 DUP(?)(2) LEA SI ,STR (MOV SI ,OFFSET STR)(3) CMP AL , A(4) INC SI (5) INC CL 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁