08196059李爽通信一班四.docVIP

  • 2
  • 0
  • 约1.52千字
  • 约 12页
  • 2016-09-18 发布于重庆
  • 举报
08196059李爽通信一班四

实验 四 二进制多位加法运算2010-12-14 指导教师: 刘波 星期: 二 节次: 56 实验课时:二 姓名: 李爽 学号: 专业、班级: 通信一班 得分: 实验目的 1、熟悉实验系统键盘显示的使用。 2、掌握使用加法类运算指令编程及调试方法。 3、掌握加法类指令对状态标志位的影响。 计算X+Y+Z=?(X、Y、Z为16位二制数)CLC ????????????? MOV SI,4000H ;result in [4100] ????????????? MOV [SI],0ffffH ????????????? MOV [SI+2],0ffffH ????????????? MOV [SI+4],0ffffH ????????????? MOV AX,0000H ????????????? MOV [SI+102H],AX;;;;;;;;;第一句 ????????????? MOV AX,[SI] ???????????? ADD AX,[SI+2] ???????????? ADC [SI+102H],0000 ???????????? ADD AX,[SI+4] ???????????? MOV [SI+100H],AX ???????????? ADC [SI+102H],0000;;;;;;;第二句 ????????????mov ah,4ch int 21h ? MOV [SI+102H],AX;;;;;;;;;第一句 将内存单元0B56:4100至0B56:4102全部清零,用于下面运算记过中的进位值。 ADC [SI+102H],0000;;;;;;;第二句 将ADD相加所得的标志位CF的值通过ADC加法与0000相加的形式存放到内存单元0B56:4100中,并将CF重新根据结果置零 5、思考题解答 P121习题3.69。设计一个程序段,将AX和BX(合并为32位寄存器,AX为高16位)中的8位BCD数,加上CX和DX中的8位BCD数,加法之后的结果保存在内存单元数据段偏移地址为3000H开始的地方 如:AX||BX的内容是(对应的十进制就 CX||DX的内容是(对应的十进制就 则,加法的结果3000H单元的内容为66h 3001H单元的内容为55h 3002H单元的内容为89h 3003H单元的内容为90h 提示:加法的十进制调整指令DAA,只能调整AL中的内容,所以,每次的ADD或ADC加法,只能采用8位加法。 CLC MOV SI,3000H MOV AX,1234H MOV BX,5656H MOV CX,7854H MOV DX,9910H MOV [SI+104H],0000H MOV [SI],AX MOV AX,BX ADD AL,DL DAA MOV BL,AL MOV AL,AH ADC AL,DH DAA MOV BH,AL MOV [SI+100H],BX MOV AX,[SI] ADC AL,CL DAA MOV CL,AL MOV AL,AH ADC AL,CH DAA MOV CH,AL MOV [SI+102H],CX ADC [SI+104H],0000H MOV AH,4CH INT 21H

文档评论(0)

1亿VIP精品文档

相关文档