汇编上机作业参考答案(

更新时间:2023-05-12 09:10:47 阅读: 评论:0

汇编上机作业参考答案(
上机作业
实验题目:
1:熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。
2:编写程序,完成下面公式计算(其中变量X和Y是32位无符号数,变量A、B和Z是16位无符号数)A<-(X-Y+24)/Z的商 B<-(X-Y+24)/Z的余数
3:有单字节无符号数X,Y,Z,若X+Y>30,则求X+Z,否则则求X-Z,运算结果放入SUM单元中。X,Y,Z,SUM 均为字节变量名。
(设X,Y,Z的值分别是 32,45,20,求得结果并输出;再设X,Y,Z的值分别是 10,15,20,求得结果并输出。要求尽量用DEBUG调试程序,修改数据。)
4:编写程序实现将数据段BUFF开始字节单元中的10个数字0,1,2,3,4,5,6,7,8,9转换成相应的ASCII码送入以ASC开始的内存单元。
(通过DEBUG指令查看程序执行结果)
5:已知存储区有一首地址为ARRAY的字数组,元素个数为10,现在要求将数组的每个数据都加2(不考虑数据溢出)。
6:在一个字节数组ARRAY中找到第一个非零数据,如果找到,则显示第一个非0数据的下标,否则输出“NO FOUND”。
7:题目要求:在数据段以YVAR为首地址的区域中,存放有字数据,用串操作指令把第三个数据传送到数据段以MVAR为首地址的单元中。
8:与REP前缀相配合工作的MOVS串传送指令
题目要求:在数据段以YVAR为首地址的区域中,存放有6个字的数据,用串操作指令把后4个字的数据传送到数据段以MVAR为首地址的4个字的单元中。
上机作业参考答案
1:熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。
2:编写程序,完成下面公式计算(其中变量X和Y是32位无符号数,变量A、B和Z是16位无符号数)A<-(X-Y+24)/Z的商 B<-(X-Y+24)/Z的余数
DATA1 SEGMENT
X DD ?
Y DD ?
Z DW ?
A DW ?
B DW ?
DATA1 ENDS
CODE1 SEGMENT
MOV AX,X
MOV DA,X+2
SUB AX,Y
SBB DX,Y+2
ADD AX,24D
ADC DX,0
DIV Z
MOV A,AX
MOV B,DX
3:有单字节无符号数X,Y,Z,若X+Y>30,则求X+Z,否则则求X-Z,运算结果放入SUM单元中。X,Y,Z,SUM 均为字节变量名。
(设X,Y,X的值分别是 32,45,20,求得结果并输出;再设X,Y,X的值分别是 10,15,20,求得结果并输出。要求尽量用DEBUG调试程序,修改数据。)
DATA SEGMENT
X DB ?
Y DB ?
Z DB ?
SUM DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X
ADD AL,Y
CMP AL,30
JG ADDXZ
MOV BL,X
SUB BL,Z
JMP EXIT
ADDXZ:MOV BL,X
ADD BL,Z
EXIT:MOV SUM,BL
MOV AH,4CH
INT 21H
CODE ENDS
END START
(4、5任选一个)
4:编写程序实现将数据段BUFF开始字节单元中的10个数字0,1,2,3,4,5,6,7,8,9转换成相应的ASCII码送入以ASC开始的内存单元。
(通过DEBUG指令查看程序执行结果)
DATA SEGMENT
BUFF DB 0,1,2,3,4,5,6,7,8,9
ASC DB 10 DUP(?)
CONT EQU $-BUFF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA SI,BUFF
LEA DI,ASC
MOV CX,CONT
LOP:MOV AL,[SI]
OR AL,30H
MOV [DI],AL

本文发布于:2023-05-12 09:10:47,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/887272.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   结果   单元   指令   开始   汇编   要求   字节
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图