清华自动化罗予频计原试验二报告_第1页
清华自动化罗予频计原试验二报告_第2页
清华自动化罗予频计原试验二报告_第3页
清华自动化罗予频计原试验二报告_第4页
清华自动化罗予频计原试验二报告_第5页
免费预览已结束,剩余4页可下载查看

付费下载

下载本文档

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

文档简介

1、仅供个人参考实验二四则运算实验报告29自16马嘉利一、实验目的1. 巩固DEBUC及宏汇编的使用。2. 加深对运算指令的理解。For pers onal use only in study and research; not for commercial use3. 注意标志寄存器的变化。二、实验内容 (一)加减运算1. 在数据区中定义两个 16位的二进制数(16位的二进制数在内存中存放时占2个字节,低位字节数据存在较低地址单元;高位字节数据存在高地址单元。这一原则简称为“低字节在前、高字节在后”)。用8位加减运算指令分别计算这这两个数的和、差(计算时应先算低字节、后算高字节,计算高字节时还应

2、考虑低字节的进位),并将结果也存入数据区原始数据的后面。程序结束后返回 DOS为了使程序便于改成 BCD码运算,要求在程序中不要直接用16位运算指令。NAME MY_PROGDATA SEGMENTSTRING1 DB 0B1H,0DAHSTRING2 DB 4AH,81HSUM DB 10H DUP(O)DATA ENDSSTACK SEGMENT PARA STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA

3、SI,STRING1;获取地址LEA DI,STRING2LEA BX,SUMMOV CX,2;循环次数CLC;请标志位NEXT1: MOV AL,SIADC AL,DI;带进位加法MOV BX,ALINC SIINC DIINC BXDEC CXJNZ NEXT1;循环RCL BX,1;循环移位,将最高位进位移入BXINC BXSUB SI,2;还原SI指向地址SUB DI,2MOV CX,2CLCNEXT2: MOV AL,SI;减法开始SBB AL,DI;带进位减法MOV BX,ALINC SIINC DIINC BXDEC CXJNZ NEXT2RCL BX,1;循环移位,将最高位进位

4、移入BXINT 3CODE ENDSEND START2修改程序实现16位的压缩BCD码的加减运算。NAME MY_PROGDATA SEGMENTSTRING1 DB 00H,01HSTRING2 DB 00H,10HSUM DB 10H DUP(O)DATA ENDSSTACK SEGMENT PARA STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,STRING1LEA DI,STRING2LE

5、A BX,SUMMOV CX,2CLCNEXT1: MOV AL,SIADC AL,DIDAA修改,压缩BCD码加法调整MOV BX,ALINC SIINC DIINC BXDEC CXJNZ NEXT1RCL BX,1INC BXSUB SI,2SUB DI,2MOV CX,2CLCNEXT2: MOV AL,SISBB AL,DIDAS修改,压缩BCD码减法调整MOV BX,ALINC SIINC DIINC BXDEC CXJNZ NEXT2JNC IFN1;修改,如果是正数就不调整RCL BX,1MOV AX,9999HSUB AX,BX-2;修改,求负数补码ADD AL,01H;修改

6、,求负数原码DAAMOV BX-2,ALMOV AL,AHADC AL,0DAAMOV BX-1,ALIFN1: INT 3CODE ENDSEND START(二)乘法运算被乘数和(低1. 用重复累加的方法计算两位 BCD码数乘以两位BCD码数的积(参看流程图1)。 乘数都用压缩的 BCD码形式存放于数据区,各占一单元。乘积顺序存放在后两个单元中 位在前,高位在后 )。NAME MY_PROGDATA SEGMENTSTRING1 DB 99HSTRING2 DB 99HSUM DB 10H DUP(O)DATA ENDSSTACK SEGMENT PARA STACKDB 100 DUP(

7、?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV BL,STRING10;取内容MOV BH,STRING20LEA SI,SUMCLCMOV CX,0000;CX 置零CMP BL,0;BL=0?JZ SUCCESS;=0 跳转NEXT1: CMP BH,0;BH=0?JZ SUCCESS;=0 跳转ADC CL,BL;带进位加法求低位MOV AL,CLDAA压缩BCD码加法调整MOV CL,ALADC CH,0;高位加低位进位MOV A

8、L,CHDAA压缩BCD码加法调整MOV CH,ALDEC BH;BH-1MOV AL,BHDAS压缩BCD码减法调整MOV BH,ALJMP NEXT1SUCCESS:MOV SI,CL;输出低位MOV SI+1,CH;输出高位INT 3CODE ENDSEND STARTASCH码形式存放2. (选作内容)用乘法指令计算十进制数乘法2754 X 3。被乘数和乘数都用在内存中(低位在前),乘积以ASCH码存入后续单元(低位在前)。NAME MY_PROGDATA SEGMENTSTRING1 DB 33HSTRING2 DB 34H,35H,37H,32HSUM DB 10H DUP(O)D

9、ATA ENDSSTACK SEGMENT PARA STACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV BL,STRING10SUB BL,30H;减 30H得数值LEA SI,STRING2LEA DI,SUMMOV CX,4;被乘数位数CLCNEXT1: MOV AL,BLMOV AH,00 H 清零MOV DL,SISUB DL,30H;减 30H得数值MUL DL;DL乘以AL,结果存 AXAAM压缩

10、BCD码乘法调整INC SIADD AL,DI;本位积和前次进位相加AAA;不压缩BCD码加法调整ADD AL,30H;加 30H得 ASCII 码MOV DI,AL;保存结果INC DIMOV DI,AH;保存进位于DI+1DEC CXJNZ NEXT1ADD DI,30H;力口 30H得 ASCII 码INT 3CODE ENDSEND START四、实验收获1. 巩固DEBU(及宏汇编的使用。2. 加深对运算指令的理解,尤其是 DAA AAA DAS AAM等 ASCII调整指令的使用3. 学会了 -e指令的使用不得用于商业用途仅供个人用于学习、研究;不得用于商业用途For person

11、al use only in study and research; not for commercial use.Nur f u r den pers?nlichen f u r Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l ' e tude et la recherche uniquementa des fins personnelles; pasa desafess commercito员bko gA.nrogeHKO TOpMenob3ygaiflCH6yHeHuac egoB u HHuefigoHMucno 员 B30BaTbCEb KOMMepqeckuxqe 员 ex.以下无正文仅供个人用于学习、研究;不得用于商业用途For personal use only in study and research; not for commercial use.Nur f u r den pers?nlichen f u r Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l ' e t

温馨提示

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

评论

0/150

提交评论