微机原理试题1(含答案).doc

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可用除法运算将二进制数转换为BCD数。如把AL中的8位无符号二进制数转换为BCD数放入AX中的程序段如下: MOV CL,10 MOV AH,0 ;8位二进制数扩展为16位二进制数 DIV CL MOV CH,AH ;暂存BCD数个位 MOV AH,0 DIV CL MOV CL,4 SHL AH,CL ;BCD数十位移至高4位 OR CH,AH ;BCD数十位与个位拼合 MOV AH,0 MOV CL,10 DIV CL ;AH中的余数为BCD数百位 MOV AL,CH ;BCD数十位与个位送AL 用除10取余法将8位二进制数FFH转换为BCD数255H的二进制运算如图3-3所示。 图3-3 8位二进制数FFH转换为BCD数255H的二进制运算 除法指令对所有的状态标志位均无定义。 3.扩展指令CBW(convert byte to word)和CWD(convert word to double word) 从除法指令的操作可知,要把一个8位二进制数除以一个8位二进制数,要有一个16位二进制数在AX中,只是把一个8位的被除数放入AL中是不行的,因为除法指令将把任何在AH中的数当作被除数的高8位。所以在做8位除以8位的除法之前先要把8位被除数扩展为16位,在做16位除以16位的除法之前要把16位被除数扩展为32位,才能保证除法指令的正确操作。这种扩展对于无符号数除法是很容易办到的,只需将AH或DX清0即可。对符号整数除法就不能用将被除数的高半部清0来实现,而要通过扩展符号位来把被除数扩展。例如把-2的8位形式1111 1110转换为16位形式1111 1111 1111 1110,即要把高半部全部置1(-2的符号位);而把+3的8位形式0000 0011转换成16位形式0000 0000 0000 0011,却要把高半部全部置‘0’(+3的符号位)。 指令格式 CBW CWD 将字节扩展为字指令CBW所执行的操作是把AL的最高位扩展到AH的所有位。将字扩展为双字指令CWD把AX的最高位扩展到DX的所有位。在做8位除以8位和16位除以16位的除法之前,应先扩展AL或AX中的被除数。 例如,在数据段中,有一符号字数组变量ARRAY,第1个字是被除数,第2个字是除数,接着存放商和余数,其程序段是: MOV SI,OFFSET ARRAY MOV AX,[SI] CWD IDIV WORD PTR 2[SI] MOV 4[SI],AX MOV 6[SI],DX 一般情况下,都将符号数看作补码数,扩展指令和符号整数除法仅对补码数适用。若特别指出该符号数为原码数,则其扩展和除法运算都要另编程序段实现。 3.1.2 BCD数调整指令 第2.3节介绍的加减指令和本节介绍的乘除指令都是对二进制数进行操作。二进制数算术运算指令对BCD数进行运算,会得到一个非BCD数或不正确的BCD数。如: 0000 0011B+0000 1001B= 0000 1100B 0000 1001B+0000 0111B= 0001 0000B 第一个结果是非BCD数;第二个结果是不正确的BCD数。其原因是BCD数向高位的进位是逢10进1,而4位二进制数向高位进位是逢16进1,中间相差6。若再加上6,就可以得到正确的BCD数: 0000 1100B+0000 0110B= 0001 0010B 0001 0000B+0000 0110B= 0001 0110B 8086/8088对BCD数使用二进制数算术运算指令进行运算,然后执行一条能把结果转换成正确的BCD数的专用调整指令来处理BCD数的结果。 1.BCD数加法调整指令DAA(decimal adjust for add)和AAA(ASCII adjust for add) 指令格式 DAA AAA DAA 指令的意义是将AL中的数当作两个压缩BCD数相加之和来进行调整,得到两位压缩B

您可能关注的文档

文档评论(0)

bqyh91 + 关注
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档