《IBM —PC 汇编语言程序设计》 第一章习题


 
1.将下列十进制数转换为二进制数和十六进制数:
(1) 369
(2) 10000
(3) 4095
(4) 32767
答:
(1) 369=1 0111 0001B=171H
(2) 10000=10 0111 0001 0000B=2710H
(3) 4095=1111 1111 1111B=FFFH
(4) 32767=111 1111 1111 1111B=7FFFH
 

 
2. 将下列二进制数转换为十六进制数和十进制数:
(1) 10 1101
(2) 1000 0000
(3) 1111 1111 1111 1111 (4) 1111 1111
答:
(1) 10 1101B=2DH=45
(2) 1000 0000B=80H=128
(3) 1111 1111 1111 1111B=FFFFH=65535
(4) 1111 1111B=FFH=255
 

 
3. 将下列十六进制数转换为二进制数和十进制数:
(1) FA
(2) 5B
(3) FFFE
(4) 1234
答:
(1) FAH=1111 1010B=250
(2) 5BH=101 1011B=91
(3) FFFEH=1111 1111 1111 1110B=65534
(4) 1234H=1 0010 0011 0100B=4660
 

 
4. 完成下列十六进制数的运算,并转换为十进制数进行校核:
(1) 3A+B7
(2) 1234+AF
(3) ABCD-FE
(4) 7AB ×6F
答:
(1) 3A+B7H=F1H=241
(2) 1234+AFH=12E3H=4835
(3) ABCD-FEH=AACFH=43727
(4) 7AB×6FH=35325H=217893
 
 
补充:十六进制的乘除法怎么运算

十六进制的乘除法运算跟十进制一样但是规则是:逢知16进1。以计算350AH*12H为例:

先用2*350A

2*A=20   进一位余20-16=4

2*0=0     进零位余0加上面的进位等于1

2*5=10   进零位余A

2*3=6     进零位余6

所以2*350A=6A14

同理10*350A=350A0

最后350AH*12H=6A14+350A0=3BAB4


 
5. 下列各数均为十进制数,请用8 位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76
(2) 85+(-76)
(3) 85-76
(4) 85-(-76)
(5) (-85)-76
(6) -85-(-76)
答:
(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H                                                       ;CF=0;OF=0
(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H                                                        ;CF=1;OF=0
(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H                   ;CF=0;OF=0
(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H               ;CF=0;OF=1
(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH                 ;CF=0;OF=1
(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H                ;CF=0;OF=0
 
补充:
5.1 补码转原码:在有符号的二进制计算中,是用补码来计算的,计算后的值应该要转成源码,补码转原码其实就是再将补码进行一次求补码的操作。
5.2 
  • 当两个符号位相同的数做加法时,如果结果的符号位发生变化,则为溢出.
  • 当两个符号位不同的数做减法时,以A-B=C为例,如果A与C的符号位不同则为溢出.
  • 其它情况下均不会有溢出.
5.3
  • 当两个数相加的结果的长度增大时会产生进位.
  • 两个不同符号数相减,若被减数为负,减 数为正,相减后CF=0;
  • 当正数大于等于 负数的绝对值时,相加后产生进位,CF=1否则 CF=0

 
6 下列各数为十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?
(1) D8
(2) FF
答:
(1) D8H 表示的带符号数为-40, D8H 表示的无符号数为216;
(2) FFH 表示的带符号数为-1, FFH 表示的无符号数为255。
 

 
7 下列各数均为用十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的数或字符的 ASCII 码时,它们所表示的十进制数及字符是什么?
(1) 4F
(2) 2B
(3) 73
(4) 59
答:
(1) 4FH 表示的十进制数为79,4FH 表示的字符为 O;
(2) 2BH 表示的十进制数为43,2BH 表示的字符为+;
(3) 73H 表示的十进制数为115,73H 表示的字符为 s;
(4) 59H 表示的十进制数为89, 59H 表示的字符为 Y 。
posted @ 2020-04-20 17:51  军临天下jyj  阅读(706)  评论(0编辑  收藏  举报