王庆生主编的汇编语言程序设计课后答案习题1详解
合肥工业大学出版社,2006年八月第一版,王庆生主编的汇编语言程序设计答案习题一详解。
习题1
1.1把下列十进制数转换为二进制数和十六进制数。
(1)67 (2)34 (3)254 (4)123
答:(1)67D=1000011B=43H
(2)34D=100010B=22H
(3)254D=11111110B=0feH
(4)123D=1111011B=7bH
1.2把下列二进制数转换为十六进制数和十进制数。
(1)01101101 (2)10110010 (3)111111
答:(1)01101101B=6dH=109D
(2)10110010B=0d2H=208D
(3) 111111B=3fH=63D
1.3作下列十六进制数的运算,并转换为十进制数校核。
(1)5a+64 (2)86-49 (3)123-9a (4)43*2b
答: 90D+100D=190D正确 (2) 134D-73D=61D正确
291D-154D=137D正确
67D*43D=2881D正确
合肥工业大学出版社,2006年八月第一版,王庆生主编的汇编语言程序设计答案习题一详解。
1.4下列各数均为十进制数,请采用八位二进制补码运算,并回答标致寄存器flags中CF和OF的值,运算结果所代表的十进制数是多少?如果用十六进制
补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?
(1)85+69 (2)85+(-69) (3)85-(-69) (3)85-(69)
答:(1)八位二进制01010101+01000101=10011010=-102D CF=0,OF=1
十六位二进制0000000001010101+0000000001000101=0000000010011010
=154D
CF=0,OF=0
(2)八位二进制01010101+10111011=00010000=16D CF=1,OF=0 十六位二进制0000000001010101+1111111110111011=0000000000010000
=16D
CF=1,OF=0
(3)八位二进制01010101-10111011=10011010=-102D CF=1,OF=1
十六位二进制0000000001010101-1111111110111011=0000000010011010
=154D
CF=1,OF=0
(4)八位二进制01010101-01000101=00010000=16D CF=0,OF=0
十六位二进制0000000001010101-0000000001000101=0000000000010000
=16D
CF=0,OF=0
1.5 实模式下,写出段地址和偏移地址为1234:2002、1430:0042、FF00:0FFF的物理地址。
答: 逻辑地址 物理地址
合肥工业大学出版社,2006年八月第一版,王庆生主编的汇编语言程序设计答案习题一详解。
1234:2002=12340+2002=14342
1430:0042=14300+0042=14342
FF00:0FFF=FF000+0FFF=FFFFF
1.6 已知8086系统某存储单元物理地址为:52506H,你认为段基址的最大值、最
小值分别是多少? 8086微机最多可以有多少个不同的段基址?
答: 52506=5250:0006, 段基址的最大值=5250
52506=4251:FFF6, 段基址的最小值=4251
8086微机最多有2^16=65535个不同的段基址。
1.7从物理地址为00100H开始到00103H单元中顺序存放的数据为:12H,34H,56H,
78H。请画出数据存放示意图,并回答以下问题:
答:
(1)写出00101H字节单元的内容
(00101)= 34H
(2)写出00102H字单元的内容
(00102)= 7856H
1.8简述16位机的各类寄存器的主要作用。
1.数据寄存器
①AX: 累加器,运算时较多使用这个寄存器,有些指令规定必须使用它。
②BX:基址寄存器,除了存放数据,他经常用来存放一段内存的起始偏移地址。 ③CX:计数寄存器,除了存放数据,他经常用来存放重复操作的次数。
合肥工业大学出版社,2006年八月第一版,王庆生主编的汇编语言程序设计答案习题一详解。
④DX:数据寄存器,除了存放数据,他经常用来存放32数据的高16位。
上面的寄存器都可以拆分为两个八位寄存器使用。分别命名为:AH,AL,BH,BL,CH,CL,DH,DL。
2.地址寄存器
①SP: 堆栈指针,这是一个专用的寄存器,存放堆栈栈顶的偏移地址。
②BP: 基址指针,可以用来存放内存中数据的偏移地址。
③SI: 原変址寄存器,他经常用来存放内存中原数据区的偏移地址,并在某些
指令作用下可以自动递增或递减其中的值。
④DI: 目的変址寄存器,他经常用来存放内存中目的数据区的偏移地址,并在
某些指令作用下可以自动递增或递减其中的值。
3.段寄存器
①CS: 代码段寄存器,用来存放当前正在执行的程序段的段基址。
②SS: 堆栈段寄存器,用来存放堆栈段的段基址。
③DS: 数据段寄存器,用来存放数据段的段基址。
④ES: 附加段寄存器,用来存放另一个数据段的段基址。
4.专用寄存器
①IP:指令指针寄存器,存放即将执行的指令的偏移地址。
②FLAGS:存放CPU的两类标志。
状态标志:反映处理器当前的状态,如有无溢出,有无进位等。
控制标志:用来控制处理器的工作方式,如是否响应可屏蔽中断等。
1.9简述标志寄存器的各标志位的含义。 条件标志:
①CF(Carry Flag)进位标志:用于反映运算是否产生进位或借位。如果运算
结果的最高位产生一个进位或借位,则CF置1,否则置0。运算结果的最高
合肥工业大学出版社,2006年八月第一版,王庆生主编的汇编语言程序设计答案习题一详解。
位包括字操作的第15位和字节操作的第7位。移位指令也会将操作数的最高位或最低位移入CF。
②PF(Parity Flag)奇偶标志:用于反映运算结果低8位中“1”的个数。“1”
的个数为偶数,则PF置1,否则置0。
③AF(Auxiliary Carry Flag)辅助进位标志:在字节操作时低半字节向高半
字节进位或借位,字操作时低字节向高字节进位或借位,AF置1,否则置0。 ④ZF(Zero Flag)零标志:用于判断结果是否为0。运算结果0,ZF置1,否则置0。
⑤SF(Sign Flag)符号标志:用于反映运算结果的符号,运算结果为负,SF
置1,否则置0。因为有符号数采用补码的形式表示,所以SF与运算结果的最高位相同。
⑥OF(Overflow Flag)溢出标志:反映有符号数加减运算是否溢出。如果运
算结果超过了8位或者16位有符号数的表示范围,则OF置1,否则置0。 控制标志:
①TF(Trap Flag)陷阱标志:当TF被设置位1时,CPU进入单步模式,所
谓单步模式就是CPU在每执行一步指令后都产生一个单步中断。主要用于程序的调试。8086/8088中没有专门用来置位和清零TF的命令,需要用其他办法。
②IF(Interrupt Flag)中断标志:决定CPU是否响应外部可屏蔽中断请求。
IF为1时,CPU允许响应外部的可屏蔽中断请求。
③DF(Direction Flag)方向标志:决定串操作指令执行时有关指针寄存器
调整方向。当DF为1时,串操作指令按递减方式改变有关存储器指针值,每次操作后使SI、DI递减。
…… 此处隐藏:1517字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




