当前位置:首页 >> 其它课程 >> 第二次汇编上机作业

第二次汇编上机作业


微机原理上机实验报告(二)
班级:_____________ 学号:____________ 姓名:_____________

实验目的
(1) 掌握算术运算指令的应用方法。 (2) 掌握十进制调整指令的应用方法。 (3) 掌握多精度数运算方法。

实验内容
试编写程序,实现以下目标: 设 X 和 Y 均为

16 位无符号数,编写一个求表达式 16*X+Y 值的程序,并且 在屏幕上显示计算的结果。在程序中,X 值定义为:1234H,Y 值定义为 5678H。 部分程序代码以及注释如下所示,请完成程序的空白部分:
DATAS SEGMENT xxx dw 1234h yyy dw 5678h zzz dd ? DATAS ENDS ;设 X 为 1234H ;设 Y 为 5678H ;双字变量,用于保存结果

CODES SEGMENT 'CODE' ;指定代码段类别名 ASSUME CS:CODES,DS:DATAS START: ;-------------------------------------------------------------在空白处填写程序 ;-------------------------------------------------------------adc dx, 0 ;dx <- CF mov word ptr zzz, ax ;强制定义 zzz 为字(双字节) ,zzz <- (DX:AX) mov word ptr zzz+2, dx call disply ;调用结果显示过程 MOV AH,4CH ;结束程序,返回操作系统 INT 21H disply proc ;结果显示过程 lea si, zzz+2 mov dh, 2 ;dh <- 外循环次数 2 (双字数据) lp1: mov bx, [si] ;取高位字送 bx mov cx, 0404h ;内循环次数 4 送 ch,移位次数 4 送 cl lp: rol bx, cl ;bx 中的高 4 位循环移位到低 4 位

mov dl, bl and dl, 0fh add dl, 30h cmp dl, 3ah jb next add dl, 07h next:mov ah, 02h int 21h dec ch jnz lp dec si dec si dec dh jnz lp1 mov dl, "H" mov ah, 02h int 21h ret disply endp CODES ENDS END START

;dl <- bl ;保留 dl 中的低 4 位,相当于 1 位 16 进制数 ;dl <- dl+30H,小于 0AH 的数转换为 ASCII 码

;dl <- dl+07H, 0AH 以上的数转换为 ASCII 码 ;显示 dl 中的数字码 ;内循环计数器 ch 减 1 ;ch 不为零,循环继续 ;si 指向低位字 ;外循环计数器 dh 减 1 ;显示 16 进制数的尾标

实验数据及结果 1. 完善的程序代码:
DATAS SEGMENT xxx dw 1234h yyy dw 5678h zzz dd ? DATAS ENDS ;设 X 为 1234H ;设 Y 为 5678H ;双字变量,用于保存结果

CODES SEGMENT 'CODE' ;指定代码段类别名 ASSUME CS:CODES,DS:DATAS START: ;-------------------------------------------------------------mov ax,datas; mov ds,ax; xor dx,0; mov ax,xxx; mov bx,16; mul bx; add ax,yyy;

;-------------------------------------------------------------adc dx, 0 ;dx <- CF mov word ptr zzz, ax ;强制定义 zzz 为字(双字节) ,zzz <- (DX:AX) mov word ptr zzz+2, dx call disply ;调用结果显示过程 MOV AH,4CH ;结束程序,返回操作系统 INT 21H disply proc ;结果显示过程 lea si, zzz+2 mov dh, 2 ;dh <- 外循环次数 2 (双字数据) lp1: mov bx, [si] ;取高位字送 bx mov cx, 0404h ;内循环次数 4 送 ch,移位次数 4 送 cl lp: rol bx, cl ;bx 中的高 4 位循环移位到低 4 位 mov dl, bl ;dl <- bl and dl, 0fh ;保留 dl 中的低 4 位,相当于 1 位 16 进制数 add dl, 30h ;dl <- dl+30H,小于 0AH 的数转换为 ASCII 码 cmp dl, 3ah jb next add dl, 07h ;dl <- dl+07H, 0AH 以上的数转换为 ASCII 码 next: mov ah, 02h ;显示 dl 中的数字码 int 21h dec ch ;内循环计数器 ch 减 1 jnz lp ;ch 不为零,循环继续 dec si ;si 指向低位字 dec si dec dh ;外循环计数器 dh 减 1 jnz lp1 mov dl, "H" ;显示 16 进制数的尾标 mov ah, 02h int 21h ret disply endp CODES ENDS END START

2. 程序运行结果

: 实验过程中所遇到的问题及解决办法
开始没有把数据段引入到程序中, 运行没有成功。 后来看了可见才知道自己哪里出了问 题,把数据段引入到代码段中,最后运行成功了!其实代码没多难,就是不知道左移四位怎 样写代码。


更多相关文档:

汇编语言程序第二次作业

汇编语言程序第二次作业_远程、网络教育_成人教育_教育专区。一、单项选择题(只有一个选项正确,共 10 道小题) 1. 若 PORT_VAL<5,则执行指令 MOV BX,((...

川大《汇编语言程序》第二次作业

川大《汇编语言程序》第二次作业_教育学_高等教育_教育专区。好东西,大家一起分享!一、单项选择题。本大题共 20 个小题,每小题 2.0 分,共 40.0 分。在每...

汇编语言第二次作业

汇编语言第二次作业_专升本_成人教育_教育专区。汇编语言第二次作业姓名:薛锦利 学号:14710074 2014 年上半年汇编语言第二次作业 1.试按下列要求在数据段中依次书...

汇编语言 第二次作业

汇编语言 第二次作业内容:课本实验 3,4,5 实验 3: 1 实验 4: 2 4-1 代码: code segment assume cs:code start: mov ax,0 mov ds,ax mov bx,23fh...

汇编上机作业-2014

汇编上机作业-2014_IT认证_资格考试/认证_教育专区。计算机学院 11 级汇编语言程序...⑵ 编写 Windows 32 位控制台程序,求解一元二次方程 ax2+bx+c=0,要求提示...

汇编语言上机作业与答案

2页 免费 汇编语言作业及答案 (6) 3页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...

汇编上机作业1

第二次汇编上机作业 暂无评价 4页 免费汇​编​上​机​作​业​1 暂无评价|0人阅读|0次下载|举报文档微机原理上机实验报告(一)班级: 学号: 姓名:...

微机原理作业第二次

上机第二次作业 姓名:吴志强学号:13170110001 专业:材料科学与工程 一、 实验目的 1. 熟练掌握汇编语言程序设计的方法及上机步骤。 2. 掌握算术运算中,十进制数...

汇编第二次作业(实验)

汇编作业和实验的程序题 9页 1财富值 汇编第二次上机实验 3页 1财富值 ...-5- 汇编与接口技术实验指导书(汇编语言部分) 实验、作业二、统计学生成绩一、...

汇编语言程序设计2016下半年第二次作业

汇编语言程序设计2016下半年第二次作业_教育学_高等教育_教育专区。中大远程教育 2014 年上半年汇编语言第二次作业 1.试按下列要求在数据段中依次书写各数据定义...
更多相关标签:
第二次上机作业 | 第二次上机作业答案 | java第二次上机西电 | 汇编语言上机过程 | 汇编语言上机实验报告 | 汇编语言上机 | 汇编上机 | 汇编语言上机实验 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com