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

第二次汇编上机作业


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

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

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


更多相关文档:

2015_汇编第2次上机题

2015_汇编第2次上机题_政史地_高中教育_教育专区。第二次上机题 子程序设计一、目的 1. 掌握基本的程序设计方法; 2. 掌握较大规模的程序调试方法; 3. 熟悉...

汇编语言 第二次作业

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

第三次汇编上机作业

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

汇编第二次作业(实验)

汇编作业和实验的程序题 9页 1财富值 汇编第二次上机实验 3页 1财富值 ...汇编与接口技术实验指导书(汇编语言部分) 三、问题有一个程序的数据区内容如下...

汇编语言第二次作业(2017中大)

汇编语言第二次作业(2017中大)_计算机软件及应用_IT/计算机_专业资料。汇编语言第二次作业 1.试按下列要求在数据段中依次书写各数据定义语句: (1)以 DA1 为首...

汇编语言第二次实验报告要求

汇编语言第二次实验报告要求 1、 题目:外部中断程序设计 2、 实验内容:利用...提交相应电子文档(WORD2003 或扫描件的 PDF 文档)至网络教学平台作业栏目。 ...

安工大第二次汇编上机实验

汇编程序代码的执行是自上而下的,并不是说前面有标记号就可以跳过,所以在 设计程序的时候一定要注意语句执行的先后顺序; 任务二:编程题第六题 1、程序源代码: ...

第二次上机参考答案

第2次上机课参考答案 暂无评价 4页 免费 C上机作业(第2次)参考答案 4页 8财富值 汇编第一次、第二次上机作... 15页 1财富值 河工大文献检索第二次上机....

计算机系统基础第二次作业

计算机系统基础第二次作业 3、对于以下 AT&T 格式汇编指令,根据操作数的长度确定对应指令助记符中的 长度后缀,并说明每个操作数的寻址方式。 (1)mov 8(%ebp, %...

2016年最新@南大计算机基础第二次作业答案汇总

2016年最新@南大计算机基础第二次作业答案汇总_教育学_高等教育_教育专区。? ?...(AB ).A、机器语言程序 B、汇编语言源 程序在 Windows 中,读写硬盘上保存的...
更多相关标签:
网站地图

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