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

第二次汇编上机作业


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

实验目的
(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. 程序运行结果

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


更多相关文档:

第二次汇编上机作业

第二次上机作业 7页 20财富值 2010年下半年汇编语言第二... 6页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。...

汇编语言第二次作业

汇编语言第二次作业_专升本_成人教育_教育专区。汇编语言第二次作业姓名:薛锦利 学号: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...

汇编语言程序第二次作业

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

第三次汇编上机作业

慈禧太后的保养秘方 晚清风云人物: 第二次汇编上机作业1/2 相关文档推荐 ...上机作业第三次 暂无评价 3页 20财富值如要投诉违规内容,请到百度文库投诉中心...

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

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

汇编第一次、第二次上机作业答案

汇编第一次、第二次上机作业答案汇编第一次、第二次上机作业答案隐藏>> 第一次上机作业 1.将以 1.将以 H 为首地址的字节存储区中的既能被 3 整除也能被...

汇编上机作业-2014

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

汇编语言上机作业与答案

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

2015_汇编第2次上机题

2015_汇编第2次上机题_政史地_高中教育_教育专区。第二次上机题 子程序设计一、目的 1. 掌握基本的程序设计方法; 2. 掌握较大规模的程序调试方法; 3. 熟悉...
更多相关标签:
第二次上机实验 | 汇编语言上机实验 | 汇编语言上机实验报告 | 汇编语言上机基本步骤 | 汇编语言上机过程 | 北邮汇编语言上机实验 | 汇编上机 | 汇编语言程序上机过程 |
网站地图

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