[计算机]实验3和4 - 汇编.docVIP

  • 1
  • 0
  • 约1.83千字
  • 约 4页
  • 2018-11-27 发布于浙江
  • 举报
[计算机]实验3和4 - 汇编

实验三 80x86伪指令使用实验 姓名: 序号: 班级: 分数: 1.在数据段winder中定义下面3个数组A,B,C,并完成有关的操作: 数组A:字符数组,初始值为你的名字和学号; 数组B:一个2行5列的二维数组,存储整数类型(小于等于65536)数据,初始值为零; 数组C:初始值为数组A,B的起始地址; 编写程序段,实现下面的操作: (1)显示数组A的内容; (2)取数组B中的第2行第3列元素到内存单元ds:200中; (3)求解数组A,B的大小(size),分别保存到bl,bh寄存器中; (4)求数组C的偏移地址,保存在寄存器dx中; (5)对上面的程序段进行手工计算,并对计算的结果进行验证; winder segment ;数据段的定义写在winder段中 AA DB 20101120069 IntSilence$ BB DW 2H DUP (5H DUP (0)) CC DW OFFSET AA,OFFSET BB winder ends ;实现的操作写在cod段中 cod segment Assume cs:cod,ds:winder Start:Mov ax,winder Mov ds,ax ;下面请写上要实现(1)(2)(3)(4)所需要的代码 ;实现操作(1)的代码 MOV AH,09H MOV DX,OFFSET AA INT 21H ;实现操作(2)的代码 MOV AX,BB+16D MOV [DS:200],AX ;实现操作(3)的代码 MOV AX,OFFSET BB SUB AX,OFFSET AA MOV BL,AL MOV AX,OFFSET CC SUB AX,OFFSET BB MOV BH,AL ;实现操作(4)的代码 MOV DX,OFFSET CC Mov ah,4ch Int 21h Cod ends End start 程序分析 1. 手算的结果 2. 结果验证 实验小结: 实验四 80x86汇编语言程序开发实验 姓名: 序号: 班级: 分数: 1. 汇编语言程序上机过程.ASM。 (2)用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 (3)用LINK将.OBJ文件连接成可执行的.EXE文件。 (4)在DOS状态下运行LINK产生的.EXE文件。 程序: data segment message db This is a sample program of keyboard and disply db 0dh,0ah,Please strike the key!,0dh,0ah,$惊叹号是全角字符,输出错误 data ends stack segment para stack stack db 50 dup(?) stack ends code segment assume cs:code ds:data ss:stack 不同段的关联用逗号分开 start: mov dx,offset message DS没有初始化 mov ah,9 int 21h again: mov ah,1 这里的逗号应为半角字符 int 21h cmp al,1bh je exit cmp al,61h jc nd cmp al,7ah ja nd and al nd: mov dl,al mov ah,2 int 21h jmp again exit: mov ah,4ch int 21h code ends end start 问题及分析: 总结编写汇编程序需注意的问题; 伪指令: segment,ends,assume,end,offset以及标号:start,again的作用; 按照上面的步骤,对程序进行编译连接,得到可执行文件;对编译连接的过程进行了解,对编译连接过程产生的各种可能的文件进行说; 为程序添加注释,分析程序实现的功能; 说明:程序中可能存在错误; 计算机组成原理与汇编元程序设计实验报告 - 2 -

文档评论(0)

1亿VIP精品文档

相关文档