教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

西安交大汇编实验报告(2)

来源:网络收集 时间:2026-07-14
导读: 这个系列是西安交大的汇编课程的两次课内两次实验报告。 汇编语言第二次实验报告 计算机11班 2110505018 司默涵 2013年5月25日 这个系列是西安交大的汇编课程的两次课内两次实验报告。 80X86汇编语言程序设计课内实验报告 这个系列是西安交大的汇编课程的两

这个系列是西安交大的汇编课程的两次课内两次实验报告。

汇编语言第二次实验报告

计算机11班 2110505018 司默涵 2013年5月25日

这个系列是西安交大的汇编课程的两次课内两次实验报告。

80X86汇编语言程序设计课内实验报告

这个系列是西安交大的汇编课程的两次课内两次实验报告。

实验步骤

第一题: 在主程序中调用子函数 count, 完成将每个在数组 mark 里的成绩一一取 出, 分别判定其大小而放入统计 60~69 分, 70~79 分, 80~89 分, 90~99 分 和 100 分的人数的 S6, S7, S8, S9 和 S10 单元中,在屏幕上依次显示出 S6, S7, S8, S9 和 S10 中的数。

第二题: 使用条件汇编和重复汇编。判断当给定名为X 的字符串长度大于5 时, 重复 ADD AX, AX 10 次。

第三题: 使类型1CH 的中断向量指向中断处理程序COUNT,COUNT中 1CH 中断每 调用一次则给num加一,计算出num最后的值后存入单元M 中。

第四题: 接收从键盘输入的 10 个十进制数字,输入回车符则停止输入, 在 bx 里存入数组 7,5,9,1,3,6,8,0,2,4 的符号地址,每键入一 个数后都存入 al,调用 xlat 使得(al)<—((al)+(bx)) al 中为译码后的数,存入 string 并一次输出所有的数。

这个系列是西安交大的汇编课程的两次课内两次实验报告。

实验中遇到的 1、 问题 问题及其解决 方法在调用 DOS/BIOS 时将 16 进制数后没有加 H,造成程序报错。 解决方法:仔细读程序,多注重编程细节,努力养成好的编程习惯。 2、 问题 由于我的电脑是 64 位系统,不支持 masm,因此我一直用 emu8086 编 程,但在实践中发现我所使用的 emu8086 模拟器在语法规则方面和 masm 有些不同,且不支持条件汇编和重复汇编。 解决方法:利用 dosbox 配合 masmplus,模拟 dos 环境,从而解决了 不兼容问题。 3、 对中断向量的修改、恢复的理解不清晰,在编写题目三时遇到了一些 困难。 解决方法:经

过老师的讲解和自己看书思考,最终解决了问题。

实验结果

见附录。

2013 年 5 月 17 日 建议1、 可以考虑增加实验时间。汇编语言的风格、思路与我们之前学习过的 高级语言有所不同,熟悉编程环境需要时间。感觉上机期间,同时需 要熟悉环境、设计算法、编写程序和调试程序是很有压力的。所以可 以考虑在正式编程前增加一次实验。 2、 可以考虑设计一些更加有趣的题目。本次需要编写的两个程序有些枯 燥,不妨再生动些。 3、 可以考虑使用类似 C 语言学习时的 moodle 系统, 可以同时减轻老师和 学生的负担。而且实现了在寝室中可以随时编写程序。避免到上机时 猝不及防。

备注

源代码和截图见附录

这个系列是西安交大的汇编课程的两次课内两次实验报告。

附录

程序一

ASM图

ASM图较为复杂,从略。

程序代码

data segment

score db 76,69,84,90,73,88,99,63,100,80 s6 db 0 s7 db 0 s8 db 0 s9 db 0 s10 db 0 data ends code segment

assume cs:code, ds:data main proc start:

mov ax,data mov ds,ax mov cx,10 call alloc disp:

mov dl,s6 call display mov dl,s7 call display mov dl,s8 call display mov dl,s9 call display mov dl,s10 call display

mov ah,4ch int 21h main endp

;---------------------------------------- display proc

add dl,30h ;屏幕上显示的是ascii码,所以求出数字,然后转换成ascii码

这个系列是西安交大的汇编课程的两次课内两次实验报告。

mov ah,02h int 21h ret

display endp

;----------------------------------------

alloc proc xor si,si comp:

cmp score[si],100 je is10

cmp score[si],90 jge is9

cmp score[si],80 jge is8

cmp score[si],70 jge is7 is6: inc s6 Jmp l1 is7: inc s7 Jmp l1 is8: inc s8 Jmp l1 is9: inc s9 Jmp l1 is10: inc s10 Jmp l1 L1: Inc si Loop comp ret

alloc endp code ends end start

这个系列是西安交大的汇编课程的两次课内两次实验报告。

截图

结果分析

根据输出可以知道,程序按照题目要求正确统计了各分数段的人数。

这个系列是西安交大的汇编课程的两次课内两次实验报告。

程序二

ASM图

程序代码(数据段中X分别用‘123456’和‘1234’测试)

DATA SEGMENT

X DB '123456' ;之后换成'1234'再次测试 count equ $-X DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

IF count GT 5 REPT 10

ADD AX,AX

这个系列是西安交大的汇编课程的两次课内两次实验报告。

ENDM ENDIF

MOV AX,4C00H INT 21H CODE ENDS END START

截图

(1)预计第一次(X=123456)实验结果为“ADD AX,AX”将重复汇编10次,生成list文件如下(黑体部分为重复10次的语句)。

Microsoft (R) Macro Assembler Version 5.00 5/17/13 20:16:02 Page 1-1

1 0000 DATA SEGMENT

2 0000 31 32 33 34 35 36 X DB '123456' ;之后换成'12345'再? 尾馐?

3 = 0006 count equ $-X 4 0006 DATA ENDS 5

6 0000 CODE SEGMENT

7 ASSUME CS:CODE,DS:DATA 8 0000 START: 9 IF count GT 5 10 REPT 10 11 ADD AX,AX 12 ENDM

13 0000 03 C0 1 ADD AX,AX 14 0002 03 C0 1 ADD AX,AX 15 0004 03 C0 1 ADD AX,AX 16 0006 03 C0 1 ADD AX,AX 17 0008 03 C0 1 ADD AX,AX 18 000A 03 C0 1 ADD AX,AX 19 000C 03 C0 1 ADD AX,AX 20 000E 03 C0 1 ADD AX,AX 21 0010 03 C0 1 ADD AX,AX 22 0012 03 C0 1 ADD AX,AX 23 ENDIF

24 0014 B8 4C00 MOV AX,4C00H 25 0017 CD 21 INT 21H 26 0019 CODE ENDS 27 END START

这个系列是西安交大的汇编课程的两次课内两次实验报告。

Microsoft (R) Macro Assembler Version 5.00 5/17/13 20:16:02 Symbols-1

Segments and Groups:

N a m e Length Align Combine Class

CODE . . . . . . . . . . . . . . 0019 PARA DATA . . . . . . . . . . . . . . 0006 PARA

Symbols:

N a m e Type Value

COUNT . . . . . . . . . . . . . NUMBER 0006

START . . . . …… 此处隐藏:4021字,全部文档内容请下载后查看。喜欢就下载吧 ……

西安交大汇编实验报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1546382.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)