文章分类 - 汇编语言(王爽第三版)实验
摘要:实验16 编写包含多个功能子程序的中断例程 安装一个新的int 7ch中断例程,为显示输出提供如下功能子程序: (1) 清屏。 (2) 设置前景色。 (3) 设置背景色。 (4) 向上滚动一行。 入口参数说明: (1) 用 ah 寄存器传递功能号:0 表示清屏,1表示设置前景色,2 表示设置背景色,
阅读全文
摘要:实验15 安装新的int 9中断例程 安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏幕的“A”,其他的键照常处理。 提示:按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80h 程序分析: 【1】这个程序是个中断例程
阅读全文
摘要:实验14 访问CMOS RAM 实验要求:编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 实验分析: (1)直接在指令中写字符/和:,让编译器自动查吧。 (2)熟悉CMOS RAM 端口中的那些单元代表的信息。 秒:0单元 分:2单元 时:4单元 日:7单元 月:8单元 年:9单元
阅读全文
摘要:实验13 编写、应用中断例程 (1)编写并安装int 7ch中断例程,功能为显示一个用0结尾的字符串,中断例程安装在0:200处。 参数: (dh)=行号, (dl)=列号, (cl)=颜色 ds:si指向字符串首地址 以上中断例程安装好后,对下面的程序进行单步跟踪,尤其注意int,iret指令执行
阅读全文
摘要:实验12 编写0号中断的处理程序 编写0号中断处理程序,使得在除法溢出时,在屏幕中间显示字符串'divide error!',然后返回dos。 实验分析: (1)按照12.9小节中分析的,编写一个do0程序,这个不难, ; ;程序名称:do0 ;功能:在屏幕中央显示字符串,显示“除法溢出”。 ;入口
阅读全文
摘要:实验11 编写子程序 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下。 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 参数:ds:si指向字符串首地址 应用举例: assume cs:codesg datasg segment db
阅读全文
摘要:课程设计1 任务:将实验七中的Power idea 公司的数据,按照图10.2所示的格式在屏幕中显示出来。 讲解:噢!在搞了几个小程序后,终于开始接触一个规模比较大的程序了。这个任务也是建立在这些小的程序基础上的。 实验目的: 1)进一步熟悉掌握子程序的编写。理解入口参数,返回值,程序目的。 2)在
阅读全文
摘要:实验10:编写子程序 一. 子程序:显示字符串 实验要求:在屏幕的8行3列,用绿色显示data段中的字符串。 名称:show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 参数:(dh)=行号(0-24取值范围);(dl)=列号(0-79取值范围);(cl)=颜色(是一个二进
阅读全文
摘要:实验9 根据材料编程 编程: 在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串:“welcome to masm!” 程序分析: 1)在内存中定义并初始化一个字符串:“welcome to masm!”(这个在数据段中定义就可以,使用db) 2)由材料提示(这里是8位的二进制的组合,形成一个属性)
阅读全文
摘要:实验8 分析一个奇怪的程序 题目:分析下面程序,在运行前思考:这个程序可以正确返回吗? 运行后思考:为什么是这样的结果? 通过这个程序加深对相关内容的理解. 代码如下: assume cs:codesg codesg segment mov ax, 4c00H int 21H start: mov
阅读全文
摘要:实验7 寻址方式在结构化数据访问中的应用 问题提出:Power idea公司的基本情况如下: 见书中数据列表: 下面格式已经定义好了这些数据: assume cs:code data segment db '1975','1976','1977','1978','1979','1980','1981
阅读全文
摘要:实验6 实践课程中的程序 (1)将课程中所有讲解过的程序上机测试,用debug跟踪其执行过程,并在过程中理解所讲内容。 问题7.6 将data段中每个单词的头一个字母改为大写字母。 assume cs:code data segment db '1. file ' db '2. edit ' db
阅读全文
摘要:实验5 编写、调试具体多个段的程序 一。将下面的程序编译连接,用Debug加载、跟踪,然后回答问题。 assume cs:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dat
阅读全文
摘要:实验4 [bx]和loop的使用 1.编程:向内存0:200H~0:23fH依次传送数据0~63(3FH) 程序分析: 【1】内存0:200H~0:23fH空间与0020:0-0020:3f内存空间是一样的,(这个不会?oh!My God!,物理地址是唯一的,但逻辑地址组合是多种的。) 【2】因为偏
阅读全文
摘要:实验3 编程、编译、连接、跟踪 (1)将下面的程序保存为t1.asm文件,将其生产可执行文件t1.exe。 assume cs:codesg codesg segment mov ax, 2000H mov ss, ax mov sp, 0 add sp, 10 pop ax pop bx push
阅读全文
摘要:实验2 用机器指令和汇编指令编程 1.预备知识:Debug的使用 【1】合理利用在debug中cs、ds、ss、es这4个段寄存器。简化debug命令格式。 【2】注意在执行t命令时,如遇到初始化栈结构的指令,为了避免sp指针设置出问题,mov ss,ax和mov sp,10一个执行了。这个涉及到了
阅读全文
摘要:实验前专题:开发环境搭建 目前我们能够搭建的开发环境: 【1】纯DOS环境(DOS6.22);使用Edit编辑器对汇编代码编辑;可以使用微软的masm汇编编译器编译和连接。以后实验中也多次使用纯DOS环境。这个模式可以使用实模式方式。随着操作系统发展,这种方式基本绝迹了。 【2】XP系统下的虚拟模式
阅读全文

浙公网安备 33010602011771号