微机原理与接口技术(第3版)课件 第14章 实验指导-汇编语言部分_第1页
微机原理与接口技术(第3版)课件 第14章 实验指导-汇编语言部分_第2页
微机原理与接口技术(第3版)课件 第14章 实验指导-汇编语言部分_第3页
微机原理与接口技术(第3版)课件 第14章 实验指导-汇编语言部分_第4页
微机原理与接口技术(第3版)课件 第14章 实验指导-汇编语言部分_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术第14章实验指导目录14.1汇编语言基础实验14.2接口基础实验14.3接口综合设计314.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证1414.1汇编语言基础实验寻址方式验证实验目的掌握DEBUG常用基本命令,理解各类寻址方式的特点,并掌握使用方法知识技能8086的寄存器结构、存储器组织、寻址方式,以及DEBUG常用基本命令的使用实验预习“DOSBox的安装与设置”、“DEBUG常用命令和使用”514.1汇编语言基础实验寻址方式验证DEBUG常用命令和使用R命令的使用功能1:查看CPU寄存器内容-r通用寄存器注:DEBUG

中的命令不分大小写614.1汇编语言基础实验寻址方式验证DEBUG常用命令和使用R命令的使用功能1:查看CPU寄存器内容-r段寄存器注:不同机器上这些值可能不同IP(指令指针寄存器)714.1汇编语言基础实验寻址方式验证功能1:查看CPU寄存器内容-r标志寄存器OFDFIFSFZFAFPFCF标志位DEBUG中的状态(1)DEBUG中的状态(0)OFOV(溢出)NV(未溢出)DFDN(减少)UP(增加)IFEI(许可)DI(禁止)SFNG(负)PL(正)ZFZR(等于零)NZ(不等于零)AFAC(进位)NA(无进位)PFPE(偶)PO(奇)CFCY(进位)NC(无进位)R命令的使用14.1汇编语言基础实验寻址方式验证功能1:查看CPU寄存器内容-rCS:IP机器码CS:IP处的当前指令指令要访问的内存操作数R命令的使用14.1汇编语言基础实验寻址方式验证R命令的使用功能2:修改CPU寄存器内容-r寄存器名

:新的值

修改AX的值注:debug使用的是十六进制数(不加H)14.1汇编语言基础实验寻址方式验证D命令的使用功能:查看内存状态格式1:-d段地址:偏移地址显示连续128字节内容从1000:0000H处开始的128字节14.1汇编语言基础实验寻址方式验证D命令的使用功能:查看内存状态格式1:-d段地址:偏移地址显示连续128字节内容地址内存单元的内容对应的ASCII码字符注:无对应字符时显示“.”14.1汇编语言基础实验寻址方式验证D命令的使用功能:查看内存状态格式1:-d段地址:偏移地址8字节8字节地址为1000:0070H地址为1000:007FH‘A’的ASCII码显示字符A显示连续128字节内容14.1汇编语言基础实验寻址方式验证D命令的使用功能:查看内存状态格式2:-d段地址:偏移地址1偏移地址2显示指定范围内存单元的内容14.1汇编语言基础实验寻址方式验证E命令的使用功能:改写内存单元内容格式

:-e

段地址:偏移地址

值1值2值3

(1)值——数值

在内存2000:0000H开始处写入数据待写入的6个字节数据写完后,可以用D命令查看14.1汇编语言基础实验寻址方式验证E命令的使用功能:改写内存单元内容格式

:-e

段地址:偏移地址

值1值2值3

(2)值——字符or字符串

字符字符串此时存储的是对应的ASCII码14.1汇编语言基础实验寻址方式验证A命令的使用功能:将用户输入的汇编语言指令汇编为机器代码,存入内存格式1:-a(默认从CS:IP处输入)CS:IP当前值指令地址用户输入的指令此处输入回车表示指令输入结束14.1汇编语言基础实验寻址方式验证A命令的使用功能:将用户输入的汇编语言指令汇编为机器代码,存入内存格式2:-a段地址:偏移地址(从指定地址处输入指令)指定地址处输入14.1汇编语言基础实验寻址方式验证U命令的使用功能:二进制代码反汇编为汇编语言格式1:-u(默认从CS:IP处开始反汇编)32字节指令地址机器码反汇编后的指令14.1汇编语言基础实验寻址方式验证T命令的使用功能:单步跟踪执行程序格式

:-t举例:从1000:0000H处开始执行指令步骤:①用R命令修改CS和IP的值,指向1000:0000H修改寄存器值修改前修改后14.1汇编语言基础实验寻址方式验证T命令的使用功能:单步跟踪执行程序格式

:-t举例:从1000:0000H处开始执行指令步骤:②用T命令跟踪执行2114.1汇编语言基础实验寻址方式验证实验内容与操作(1)立即寻址MOV

AX,1MOV

BL,02HMOV

BH,34H注意:不同机器上段地址可能不同,按实际情况操作即可。2214.1汇编语言基础实验寻址方式验证实验内容与操作(2)寄存器寻址在验证完(1)后,执行MOVAX,BX注意:不同机器上段地址可能不同,按实际情况操作即可。2314.1汇编语言基础实验寻址方式验证实验内容与操作(3)直接寻址假设[1000H]=1234H,执行MOVAX,[1000H]注意:不同机器上段地址可能不同,按实际情况操作即可。2414.1汇编语言基础实验寻址方式验证实验内容与操作(4)寄存器间接寻址令[1000H]=5678H,执行MOVSI,1000HMOVAX,[SI]注意:不同机器上段地址可能不同,按实际情况操作即可。2514.1汇编语言基础实验寻址方式验证实验内容与操作(5)变址寻址在验证完(4)后执行MOVBX,1000HMOVAX,[BX+1]注意:不同机器上段地址可能不同,按实际情况操作即可。2614.1汇编语言基础实验寻址方式验证实验内容与操作(6)基址加变址寻址、相对基址加变址寻址令[1000H]=AB90H,[10002]=3412H,执行MOVBX,1000HMOVSI,1MOVAX,[BX+SI]MOVCX,[BX+SI+1]A命令输入汇编指令部分略向DS:1000~DS:1003处写入0AB90H和3412H2714.1汇编语言基础实验寻址方式验证实验内容与操作(6)基址加变址寻址、相对基址加变址寻址令[1000H]=AB90H,[10002]=3412H,执行MOVBX,1000HMOVSI,1MOVAX,[BX+SI]MOVCX,[BX+SI+1]2814.1汇编语言基础实验寻址方式验证思考题立即寻址、寄存器寻址方式与其他寻址方式有何本质区别?这些寻址方式中的操作数分别在哪里?2914.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证13014.1汇编语言基础实验顺序程序设计实验实验目的掌握汇编语言程序设计的一般过程和DEBUG跟踪执行程序的方法;掌握汇编语言程序的一般结构,掌握顺序程序设计方法。知识技能汇编语言程序的编写、编译、链接和执行,DEBUG跟踪执行程序,8086指令系统,源程序结构实验预习“汇编语言程序编写、编译、链接和执行”等相关内容预备知识编辑源程序编译masm.exe(→*.obj)注意:源程序最好和编译程序masm.exe在同一路径下对源程序ex2.asm进行编译,生成目标程序ex2.obj(1)如果是.txt类型的文件,则用命令“masmex2.txt;”(2)加“;”可以避免输入目标文件名等编译结果(错误和警告)14.1汇编语言基础实验顺序程序设计实验汇编语言程序设计的一般步骤编辑源程序编译连接link.exe(→*.exe)对目标文件ex2.obj进行连接,生成可执行程序ex2.exe此类警告信息可以忽略14.1汇编语言基础实验顺序程序设计实验汇编语言程序设计的一般步骤编辑源程序编译连接运行及调试输入可执行程序文件名,运行(但是看不到结果)用debug调试(1)输入U命令,查看程序不同机器上的地址可能不同14.1汇编语言基础实验顺序程序设计实验汇编语言程序设计的一般步骤编辑源程序编译连接运行及调试(2)输入R命令查看寄存器初始状态(3)输入T命令单步执行程序14.1汇编语言基础实验顺序程序设计实验汇编语言程序设计的一般步骤编辑源程序编译连接运行及调试(4)遇到“INT21H”指令输入P命令结束14.1汇编语言基础实验顺序程序设计实验汇编语言程序设计的一般步骤3614.1汇编语言基础实验实验内容顺序程序设计实验编写程序将双字型变量VAR1与VAR2相加,结果保存在VAR1中。用DEBUG跟踪执行程序,并分析结果。分析:(1)在数据段中定义变量VAR1和VAR2(2)双字型变量高16位相加时,要用ADC指令,把D15位相加产生的进位加上(3)在访问变量高/低16位时需要使用PTR伪指令3714.1汇编语言基础实验参考程序顺序程序设计实验3814.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果伪指令语句,汇编器执行指令性语句,CPU执行3914.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果数据段段名数据段实际的段地址是076AH14.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果装入实际的数据段地址4114.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果数据段实际的段地址是076AH观察变量VAR1和VAR2的初值VAR1和VAR2在内存的地址4214.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果数据段实际的段地址是076AH观察变量VAR1和VAR2的初值VAR1变量按小尾顺序原则存放4314.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果数据段实际的段地址是076AH观察变量VAR1和VAR2的初值VAR2变量按小尾顺序原则存放4414.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果观察变量VAR1和VAR2的初值VAR1的低16位4514.1汇编语言基础实验

实验步骤顺序程序设计实验(1)输入源程序、编译、链接,用DEBUG跟踪执行程序,使用U命令得到反汇编结果观察变量VAR1和VAR2的初值VAR1的高16位4614.1汇编语言基础实验

实验步骤顺序程序设计实验(2)用“g

CS:0005”DS的值

被修改为实际数据段的地址即将执行该指令4714.1汇编语言基础实验

实验步骤顺序程序设计实验(2)用“g

CS:0005”即将执行该指令即将访问的内存操作数4814.1汇编语言基础实验

实验步骤顺序程序设计实验(3)用“gCS:0019”,使程序执行到“MOVAH,4C”2个变量的和4914.1汇编语言基础实验思考题如果要将变量VAR1中的4位压缩BCD码与VAR2中的4位压缩BCD码相加,结果保存在VAR1中,其中VAR1和VAR2定义如下:顺序程序设计实验VAR1 DB 34H,67HVAR2 DB 78H,12H请编写程序,并用DEBUG观察分析程序执行的结果。5014.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证15114.1汇编语言基础实验分支程序设计实验实验目的掌握分支程序设计的方法;掌握转移类指令的使用方法。知识技能8086指令系统、源程序结构、汇编语言程序设计的一般过程、条件转移指令,以及分支程序设计的基本方法实验预习复习第4章有关条件转移指令的格式、功能,以及分支程序的设计方法。预备知识14.1汇编语言基础实验分支程序设计实验

实验任务计算分段函数:其中X和Y是无符号字节数。提示:用无符号数的条件转移指令预备知识14.1汇编语言基础实验分支程序设计实验

实验分析变量X的值可以修改,实验时请取2种不同情况:①<20②>=20预备知识14.1汇编语言基础实验分支程序设计实验

实验分析预备知识14.1汇编语言基础实验分支程序设计实验

实验分析预备知识14.1汇编语言基础实验分支程序设计实验

实验分析预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支①<20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支①<20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支①<20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支②>=20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支②>=20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支②>=20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验分析分支②>=20的执行过程预备知识14.1汇编语言基础实验分支程序设计实验

实验步骤(1)编写汇编语言源程序(见参考程序14.1-2),然后进行编译、链接,得到可执行程序。(2)用DEBUG调试生成的可执行程序,装入被调试程序,测试第1个分支(3)测试第2个分支6514.1汇编语言基础实验思考题如果X和Y是有符号字节数,程序应该如何修改?分支程序设计实验6614.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证16714.1汇编语言基础实验循环程序设计实验实验目的熟练掌握计数控制的循环程序的设计方法和调试方法。知识技能8086指令系统、源程序结构、汇编语言程序设计的一般过程和循环程序设计。实验预习复习第4章中有关循环指令和循环程序的相关内容。预备知识14.1汇编语言基础实验循环程序设计实验

实验任务请编写程序对给定的若干个字节单元中的字符进行分类统计,统计数字字符'0'~'9',英文字符(包括大小写)、其他字符的个数,分别存放于变量NUM、LET和OTH中预备知识14.1汇编语言基础实验循环程序设计实验

实验分析数字字符:30H~39H大写字母:41H~5AH小写字母:61H~7AH预备知识14.1汇编语言基础实验循环程序设计实验

实验分析判断字符的ASCII码在哪个范围。数字字符:30H~39H算法基本思想英文字母:41H~5AH61H~7AH其他字符:在以上范围之外变量NUMLETOTH预备知识14.1汇编语言基础实验循环程序设计实验

实验分析算法基本思想BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0预备知识14.1汇编语言基础实验循环程序设计实验

实验分析算法基本思想BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0NUM−BUF地址2−

地址1=字节数

↓字节数DS:0000‘1’DS:0001‘2’DS:0002‘3’DS:0003‘4’DS:0004‘5’DS:0005‘a’DS:0006‘b’DS:0007‘c’DS:0008‘d’DS:0009‘A’DS:000A‘*’DS:000B‘%’DS:000C‘g’DS:000D‘s’DS:000E‘[‘DS:000F0DS:00100DS:00110=000FH–0=15CX(循环次数)预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HAL预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL=31H>30H不跳转预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL=31H<39H不跳转预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL里是数字

1预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI1预备知识14.1汇编语言基础实验循环程序设计实验

实验分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI61HAL5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0AL=61H>30H,不跳转程序分析←SI61HAL5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL>39H,跳转5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H>=41H不跳转5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H>5AH,跳转5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H=61H,不跳转5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H<7AH,不跳转5预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HAL字母个数加151预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HAL处理下一个51预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI24HALAL<30H,跳转55预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI24HAL其他字符个数加1551预备知识14.1汇编语言基础实验循环程序设计实验

实验分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析取下一个字符←SI进入下一轮循环余下过程类似,请自己分析5519214.1汇编语言基础实验思考题循环程序设计实验如果要把BUF中所有的大写字母转换成小写,请修改程序。给出源程序截图用D命令程序观察执行前和执行后,BUF中的字符,验证是否实现字符串大小写的转换给出截图。9314.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证19414.1汇编语言基础实验DOS系统功能调用实验实验目的掌握常用的DOS系统功能调用,学会简单的人机信息交互方法。知识技能8086指令系统、源程序结构、汇编语言程序设计的一般过程、循环程序设计,以及DOS系统功能调用相关的程序设计。实验预习复习DOS系统功能调用方法。预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验任务从键盘输入目标字符串和待查找的关键字符,从目标字符串中寻找出关键字符。若找到则在屏幕上显示Y,否则显示N。要求显示的格式如下(*代表不同的字符):INPUTSTRING:*********INPUTCHARACTER:*RESULT:*预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*提示信息用09H号功能Y或N用01H号功能输入的字符串用0AH号功能输入的字符用02H号功能预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*提示信息用09H号功能预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*Y或N用01H号功能输入的字符串用0AH号功能预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*每一行最后要回车换行用09H号功能预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析字符保存到变量CHAR预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析不匹配,继续比较下一个字符预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析匹配则跳出循环预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析预备知识14.1汇编语言基础实验DOS系统功能调用实验

实验分析CX=0退出循环,说明所有字符都不匹配11314.1汇编语言基础实验思考题循环程序设计实验试编写程序并调试,实现从键盘输入2个字符串,进行比较:如果完全相同,则显示MATCHED,否则显示NOTMATCHED。11414.1汇编语言基础实验主要内容顺序程序设计实验2分支程序设计实验3循环程序设计实验4DOS系统功能调用实验5子程序设计实验6寻址方式验证111514.1汇编语言基础实验子程序设计实验实验目的熟练掌握3种基本结构程序的设计方法,熟练掌握子程序设计与调用方法,掌握参数传递的方法知识技能8086指令系统、源程序结构、汇编语言程序设计的一般过程、DOS系统功能调用,以及子程序设计与调用。实验预习复习过程定义方法,复习主程序与子程序之间参数传递的方法。预备知识14.1汇编语言基础实验

实验任务子程序设计实验编写程序实现两个6字节数相加,其中ADD1=060504030201HADD2=90876A7DBC45H最后将计算的结果输出到屏幕上,要求:(1)将两个单字节相加的程序段设计为子程序。主程序分6次调用该子程序,调用时通过寄存器传递参数。(2)编写一个子程序实现十六进制数到ASCII码的转换,并将计算结果输出到屏幕上。预备知识14.1汇编语言基础实验

实验分析子程序设计实验本实验主要分成2部分:①加法运算ADD1=060504030201HADD2=90876A7DBC45H+46H+++++ADC:带进位加法CF=06次定义带进位的单字节加法子程序在主程序中调用6次即可。预备知识14.1汇编语言基础实验

实验分析子程序设计实验本实验主要分成2部分:①加法运算ADD1=060504030201HADD2=90876A7DBC45H++++++ADD1、ADD2怎么定义01H06H45H90H00

ADD1ADD2SUMADD1 DB 01H,02H,03H,04H,05H,06HADD2 DB 45H,0BCH,7DH,6AH,87H,90HSUM DB 6DUP(0)注意:ADD1、ADD2和SUM是低字节在前、高字节在后。预备知识14.1汇编语言基础实验

实验分析子程序设计实验本实验主要分成2部分:①加法运算01H06H45H90H00

ADD1ADD2SUM单字节加法子程序需要的参数有哪些?a.参与带进位加法的2个字节数据,来自ADD1中的一个字节来自ADD2中的一个字节b.运算结果保存的一个字节要用寄存器传递SIDIBX预备知识14.1汇编语言基础实验

实验分析子程序设计实验CODE SEGMENT ASSUMECS:CODESUBADDPROCFAR ;单节相加子程序

PUSH AX ;保护AX的值

MOV AL,[SI] ;SI是一个源操作数指针

ADC AL,[DI] ;DI是另一个源操作数指针

MOV[BX],AL ;BX是结果操作数指针 INC SI ;指向ADD1的下一个字节 INC DI ;指向ADD2的下一个字节 INC BX ;指向SUM的下一个字节 POP AX ;恢复AX的值

RETFSUBADDENDP在主程序中调用6次即可。带进位的单字节加法子程序预备知识14.1汇编语言基础实验

实验分析子程序设计实验MOV SI,OFFSETADD1MOV DI,OFFSETADD2MOV BX,OFFSETSUMMOV CH,0MOVCL,COUNT;COUNTDB6CLCAGAIN:CALLFARPTRSUBADD;调用子程序

LOOP AGAIN;循环调用6次主程序预备知识14.1汇编语言基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论