




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术汇编题目(1)数据块传送1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。2、将数据段DATA1中的10个字数据(16位数)传送到数据段 DATA2中。提示:1、指定数据的起始地址:(如果不指定起始地址,则起始地址为 0000H)DATA SEGMENTORG 2000HDB 1, ,2, 3, 4, 5, 6, 7, 8, 9, 10 ; DB 定义字节数据ORG 3000HDB 10 DUP(0);预留10个单元存放结果,初值预定义为 0DATA ENDS定义的内存单元为:地址内容(H)2000H12001H22002H32003
2、H42004H52005H62006H72007H82008H92009H0A2、定义字数据命令为:DWDATA1 SEGMENTDW 1, ,2, 3, 4, 5, 6, 7, 8, 9, 10 ; DW 定义字数据DATA1 ENDS一个字为两个字节,在内存中低位在前,高位在后。地址(H)内容(H)000001000100000202000300000403000500000604000700000805000900000A06000B00000C07000D00000E08000F0000100900110000120A001300查表1、已知015的平方值表,查表求 X (X是0到15
3、间任一数)的平方值,送到 Y单元,用 两种方法。2、已知0255的平方值表,查表求 X的平方值,送到 Y单元。提示:0到15的平方表,每个平方值为一个字节;0到255的平方表,每个平方值为 2个字节;调试程序,平方表中的数据定义几个就行,目 的是程序正确即可。一个字为两个字节,在内存中低位在前,高位在后。(3)计算1、计算多字节数据 1122334455667788H 与 99AABBCCDDEEFF00H 的和。2、计算 8 字节的 BCD 码十进制数 1122334455667788H 与 9988776655443322H 的和3、计算10个字数据的和(数据自己定义)。提示;1、多字节数
4、据在内存中存放,低位在前,高位在后DAT1 DB 88H,77H,66H,55H,44H,33H,22H,11HDAT2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99HDAT3 DB 9 DUP(0)地址数据DAT1000088000177000266000355000444000533000622000711DAT20008000009FF000AEE000BDD000CCC000DBB000EAA000F99DAT30010001100120013001400150016001700182、 BCD十进制加法二进制加法指令:ADDBCD十进制加法:ADDD
5、AA;十进制调整指令,仅对 AL作为加法的累加和寄存器进行调整(4)计算表达式的值1计算表达式Z (X Y)*7)/(Y 2)的值,已知X=10, 丫=5。提示:X DB 10Y DB 5Z DB ?AL=X-YBL=7AX=AL*BLBH=Y+2AL=AX/BH 的商AH=AX/BH 的余数, "二MUL无符号数乘法mni 有符号数乘法 '例m L DLT ax <- AL*DL1MHL BX: DX AX <-AX*BXMI L BYTE PTRSI|; AX < AL*(DS* 16+STj(5)找最大、最小数1、找出2040H单元和2041H单元的大
6、数,并送 2042H单元(数据自己定义)2、找出10个数(8位数)里的最大数(数据自己定义)3、找出10个数(16位数)里的最小数(数据自己定义)(6)统计正数、负数个数1、找出10个数(8位数)里的正数个数(数据自己定义)2、找出10个数(16位数)里的负数个数(数据自己定义)(7)数据块比较1、分别在FARD1和FARD2单元开始存放了 10个字节数据,编程比较是否一致(数据自 己定义)。2、分别在FARD1和FARD2单元开始存放了 10个字数据,编程比较是否一致(数据自己 定义)。(8)逻辑运算1、在数据段3000H单元开始存放了数字 09的ASCII码,求对应的十进制数字并存放到 3
7、500H开始的单元;再将3500H开始的十进制数字转换为对应的ASCII码,存放到3800H开始单元。提示:数字转换方法:例如:数字5 '的ASCII为35H(0011 0105B),想办法变为 05H(00000105B),存入对应的单 元,然后再将 05H(00000105B),变为35H(0011 0105B)存入对应的单元。DATA SEGMENTORG 3000HDB '0123456789 ' DB定义字节数据ORG 3500HDB 10 DUP(?); 预留10个单元存放结果ORG 3800HDB 10 DUP(?); 预留10个单元存放结果DATA EN
8、DS(9)输入输出1、在显示器上输出字符串HELLO !'。2、从键盘输入一组字符串,存入到 BUFFER数据区(自己定义)中。3、将十进制数25从显示器上输出。4、将数据段中的10个个位数数据从显示器上输出。以上各题做为练习使用! 提示:1、 显示字符串2、 键盘输入一组字符串方法1 用 10 号调用,方法 2 用 1 号调用,设置循环次数3、将十进制数25 从显示器上输出。想办法把 25 的十位和个位拆开,再分别变为 ASCII ,先显示 2 ,后显示53、 将数据段中的 10 个个位数数据从显示器上输出。从数据段中直接定义10 个个位数据, 取出数据后, 变为 变为 ASCII
9、,显示二 实验过程参考步骤题目1、 将数据段中 2000H 单元开始存放的 10 个数 ( 8 位数) 传送到 3000H 开始的 10 个字节中。源程序:数据定义DA TAS SEGMENTORG 2000HDATA1 DB 1,2,3,4,5,6,7,8,9,10ORG 3000HDATA2 DB 10 DUP (0)DATAS ENDSCODES SEGMENTSTART: MOV AX,DA TASMOV DS, AXMOV SI, 2000HMOV DI, 3000HMOV CX, 10NEXT:MOV AL, SIMOV DI, ALINC SIINC DIDEC CXJNZ NE
10、XTMOV AH, 4CHINT 21HCODES ENDSEND START运行前内存分布:程序运行前2000H:0102 03 04 05 06 07 08 09 0A3000H:0000 00 00 00 00 00 00 00 00程序运行后2000H:0102 03 04 05 06 07 08 09 0A3000H:0102 03 04 05 06 07 08 09 0A程序调试过程:第一步:输入源程序,如图 1所示。图1输入源程序第二步:保存源文件(注:保存到自己的目录中)。第三步:将汇编源程序汇编成目标文件:执行菜单中“运行一编译成目标文件”命令,若无语法错误,则在下方窗口中显
11、示“编译成功”,如图2所示;若有错误,可根据提示找出错误所在行,改正后,重新执行此命令。图2将汇编源程序编译成目标文件图3将目标文件连接成 EXE文件第四步:将第三步生成的目标文件连接成可执行文件:|执行菜单中“运行一生成可执行文件” 命令,若无连接错误,则在下方显示“生成EXE文件成功”,如图3所示;若有错误,可根据提示找出错误所在行,改正后,则从第三步开始继续调试。第五步:对生成的 EXE文件进行调试,查看结果,步骤如下:(1) 执行菜单中的“运行 一DEBUG调试”命令,打开 DEBUG窗口,如图4所示。图4 DEBUG调试窗口(2)输入命令" U”,将EXE文件(二进制机器码
12、)反汇编成汇编程序,如图 5所示。其中,最左边一列是代码段中指令的地址,为逻辑地址的形式,其段基址为汇编程序 分配,段内偏移地址默认从零开始;第二列为二进制机器码 (以十六进制形式显示),与第三列中的汇编语句相对应。查看第三列,找到自己所有的程序,一般到结束语句MOV AH,4CH INT 21H结束;若没有反汇编完所有的程序,则再执行一个“ U”命令,直到所有程序均被反汇编出 来。图5输入命令U对EXE文件进行反汇编,得到汇编程序(3)应用“G”命令运行程序,G命令格式:6=起始地址 断点地址;起始地址为开始执行 指令的地址(若为段内,可只写偏移地址),断点地址为停止执行语句的地址。例如,执
13、行例题代码段内所有程序时,命令可为G=0000 0017, 0000为第一条指令的偏移地址,0017为指令MOV AH, 4CH的地址,到此处结束本程序的执行。如图 6所示。图6运行G命令执行程序运行G命令后,程序即在断点处停止执行,此时显示出CPU内所有寄存器的当前值。若要查看运行后内存单元的值,可应用下面的命令D。(4)查看结果(A) 查看内存单元存放的结果:使用命令D,格式:D段地址:偏移地址。例如,查看本程序的运行结果,如图 7所 示。图7 D命令查看内存单元的值其中,段地址和偏移地址均要以实际运行程序的状态来输入。仅记录你的运行程序涉及的内存单元,及涉及到的CPU寄存器内容,不能记录
14、屏幕显示的所有内容(B)其它命令,请查询软件屏幕左边提示信息(5) 最后,输入命令 Q退出D E B UG程序。如图8所示。图8 命令Q退出DEBUG程序三实验报告格式要求一题目:将数据段DATA1中的10个字数据(16位数)传送到 数据段DATA2中1 .流程图:2 .源程序(要求有完整的数据段、代码段):3 .运算前内存分布:4 .运算后内存分布:5 . 连续运行 G= 6 .查看结果使用命令:7 . 记录结果:8 .存在问题及体会二 计算10个字数据的和(数据自己定义)。三 统计10个数(16位数)里的正、负数及零的个数(数据自己 定义)。提示:设置寄存器:计数器正数个数负数个数零的个数10个数的首地址取数据,进行比较,记录到对应的寄存器中四 在数据区DAT中存放有15个字数据,请利用冒泡法从小到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准个人店面租赁合同
- 中国第二十冶金建设公司综合学校高中分校高中历史四导学案:俄国无产阶级革命的导师列宁
- 电力建设临时工合同协议
- 电子挖机转让合同协议
- 电商房间出租合同协议
- 电池使用安全合同协议
- 白酒销售订购合同协议
- 电动机销售合同协议
- 电商入股开店合同协议
- 电力线路租赁合同协议
- 商业摄影课件
- 三轴搅拌桩安全操作规程
- 上海市中学艺术课程标准(征求意见稿)说明
- QCC改善案例(超经典)
- 第十套广播体操教案
- 复合铜箔项目可行性研究报告(范文模板)
- 高等学校体育工作基本标准
- (word完整版)使用Photoshop通道抠图公开课教案
- 南京传媒学院新闻传播学院招聘网络与新媒体教师模拟备考预测(自我提高共1000题含答案解析)检测试卷
- EIM Book 1 Unit 10 Dont give up单元检测试题
- GB/T 629-1997化学试剂氢氧化钠
评论
0/150
提交评论