logo资料库

汇编程序DOSBox实验1.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
汇编语言实验报告 (实验一) 一. 实验目的 1. 掌握汇编语言程序的上机步骤 (1 )用编辑程序(如 EDIT、记事本等)编辑汇编语言源程序(建立.ASM 文件) (2 )用 MASM 程序产生 OBJ 文件 (3 )用 LINK 程序产生 EXE 文件 (4 )程序的运行(用 DEBUG 或在 DOS 下直接运行) 2. 掌握 DEBUG 的使用方法 二. 程序说明 1. 在数据段 DATA 中有两个字数据 X 和 Y, 假设 X=1122H, Y=3344H, 编程求两个字 的和,结果存放到 Z 单元中. 2. 从 SOURCE_BUFFER 单元开始存放了 20 个字母 A, 编程将这 20 个字母 A 的字符 串传送到 DEST_BUFFER 开始的单元中. 3. 从 SOURCE_BUFFER 单元开始存放了 20 个字母 A, 编程将这 20 个字母 A 的字符 串向下移 10 个单元. 三. 设计思想 根据串指令和编程方法将源代码写好后保存为 asm 文件并在 DOSBox 中进行操作 四. 程序代码 1.data segment x dw 1122h y dw 3344h z dw ? data ends code segment assume cs:code,ds:data main proc far start:push ds xor ax,ax push ax mov ax,data mov ds,ax mov ax,x add ax,y mov z,ax ret main endp code ends end start
segment db 20 dup('A') segment db 20 dup( ? ) 2. data source_buffer data ends extra dest_buffer extra ends code segment main proc far assume cs:code,ds:data,es:extra start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov ax,extra mov es,ax lea si,source_buffer lea di,dest_buffer cld mov cx,20 rep movsb ret main endp code ends end start 3. data source_buffer data ends extra dest_buffer extra ends code segment main proc far segment db 20 dup('A') segment db 20 dup( ? ) assume cs:code,ds:data,es:extra start: push ds sub ax,ax push ax mov ax,data mov ds,ax
mov ax,extra mov es,ax lea si,source_buffer lea di,source_buffer+10 cld mov cx,20 rep movsb ret main endp code ends end start 五. 结果分析
分享到:
收藏