好文档 - 专业文书写作范文服务资料分享网站

汇编语言程序设计实验

天下 分享 时间: 加入收藏 我要投稿 点赞

第2章 汇编语言程序设计实验

2.1、实验1-1——多字节数的运算

1、实验目的 计科1406

熟悉汇编语言的上机环境和各种工具(编辑、汇编、连接、调试); 201416010608 掌握完整段和简化段两种汇编程序的编写; 李文俊 掌握简单汇编程序的处理和调试过程。 2、实验内容

⑴、两个长度为3个字节(3B)的二进制无符号数,分别存放在首地址为buf1和buf2的连续内存单元中,编程求这两者之和,并将结果放在起始地址为res的内存单元中。例如,这两个数据为888888H、456789H,则其和应为[1]CDF011H。

要求: ? 用完整段和简化段两种方式实现。 ? 观察它们的反汇编结果并进行比较,单步运行程序。 注意: ? 程序运行前先将res清0,程序运行后观察res单元中的数据是否符合预期。 ? 数据存放应“高对高、低对低”。 ⑵、将两数改为3B的压缩BCD码,重复以上实验过程。例如,这两个数据为888888H、456789H,则其和应为[1]345677H(表示[1]345677)。

? 注意,每两个字节相加后,应紧接着进行二-十进制调整。 3、实验扩展和思考

⑴、计算两个长度为3B的二进制数据之差应如何进行操作?

⑵、计算两个长度为3B的压缩BCD码数据之差应如何进行操作?

================================================================================

实验报告

================================================================================

? 方案描述

将三字节分为两部分,高16位和低16位, 将其存入buf区内,高字节与高字节相加, 低字节与低字节相加,之后存入res中。

? 程序清单 DATAS SEGMENT buf1 dd 888888h

buf2 dd 456789h res dd 0h

string db 'liwenjun 201416010608'

,0dh,0ah,'$';此处输入数据段代码

DATAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT

;此处输入堆栈段代码

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX

mov ax,word ptr buf1 add ax,word ptr buf2 mov word ptr res,ax mov ax,word ptr buf1+2

;此处输入代码段代码

adc ax,word ptr buf2+2

mov word ptr res+2,ax mov dx,offset string mov ah,9 int 21h MOV AH,4CH INT 21H CODES ENDS END START

汇编语言程序设计实验

第2章汇编语言程序设计实验2.1、实验1-1——多字节数的运算1、实验目的计科1406熟悉汇编语言的上机环境和各种工具(编辑、汇编、连接、调试);201416010608掌握完整段和简化段两种汇编程序的编写;
推荐度:
点击下载文档文档为doc格式
5ystg8o8xh9bpah88nxv
领取福利

微信扫码领取福利

微信扫码分享