第一范文网 - 专业文章范例文档资料分享平台

合工大汇编语言程序设计实验报告

来源:用户分享 时间:2025/5/28 8:32:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

(2)寄存器传递参数(结果在ax中查看)

(3)内存传递参数(结果在ax中查看)

五、实验体会

通过本实验,让我更加深入了解地址表和转移表、子程序和从C输出汇编文件等知识,

通过实现地址表与转移表加深了对汇编寻址方式的了解;实现子程序,掌握主程序如何调用子程序,及子程序与主程序之间的参数传递方式;用VS实现C->ASM后,对C或C++有了新的认识。

实验四 汇编语言高级编程专题

一. 实验目的

1、汇编语言宏程序设计;

2、 掌握中断服务子程序的编写。 3、 汇编语言与高级语言的混编。

二. 实验内容

1、编写一个宏,求三个数的最小数,原型为:MIN3 x,y,z,min 2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。 3、VC++中编写内联汇编,将字节数组的每个元素高低四位互换。 char dbyte[] = {0x34,0x45,0x56,0x67,0xaf};

三. 实验过程和程序

1. 编写一个宏,求三个数的最小数,原型为:MIN3 x,y,z,min

min3 macro x,y,z,min mov ax,x cmp ax,y jbe next mov ax,y cmp ax,z jbe done next: cmp ax,z jbe done done: mov min,ax endm

DATAS SEGMENT x dw 2 y dw 4 z dw 3 min dw ? DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS MOV DS,AX min3 x,y,z,min MOV AH,4CH INT 21H CODES ENDS END START

2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。

INTNO EQU 1CH DATA SEGMENT OLDISR DW ?,? TIMER DB 100 COUNTER DW 0 ISDONE DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX MOV AX,0 MOV ES,AX xor cx,cx

;PROTECT

MOV AX, ES:[INTNO*4] MOV OLDISR[0],AX MOV AX,ES:[INTNO*4+2] MOV OLDISR[2], AX ;SET NEW ISR

MOV WORD PTR ES:[INTNO*4], OFFSET ISR MOV WORD PTR ES:[INTNO*4+2],SEG ISR ;WAIT HERE WAITHERE: CMP ISDONE,1 JNZ WAITHERE EXIT: ;RESTORE

MOV AX,OLDISR[0] MOV ES:[INTNO*4],AX MOV AX,OLDISR[2]

MOV ES:[INTNO*4+2],AX MOV AX,4C00H INT 21H ISR PROC FAR PUSH DX PUSH AX MOV AX,DATA MOV DS,AX

STI ;便于中断嵌套 INC TIMER

;--------判断是否输入a----------- mov ah,0bh int 21h or al,al jz next

MOV AH,8;不显示输入的字符

INT 21H CMP AL,'a' JNE next

MOV AH,2;换行 MOV DL,10 INT 21H

;MOV COUNTER,0 ;从起一行计时时从0开始计时,注释掉则从起一行继续旧时间计时

搜索更多关于: 合工大汇编语言程序设计实验报告 的文档
合工大汇编语言程序设计实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2a45l5pjai3bj0x6hwy5_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top