资源描述:
《汇编语言程序设计(第四版)第2章【课后答案】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4CB765H,说明下列每条指令执行完后AX寄存器的内容。(1)movax,1200h(2)movax,bx(3)movax,[1200h](4)movax,[bx](5)movax,[bx+1100h](6)movax,[bx+si](7)movax,[bx][si+1100
2、h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH ;偏移地址=bx=0100h(4)AX=3412H ;偏移地址=bx=0100h(5)AX=4C2AH ;偏移地址=bx+1100h=1200h(6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误(1)movcx,dl(2)movip,ax(3)moves,1234h(4)
3、moves,ds(5)moval,300(6)mov[sp],ax(7)movax,bx+di-18-(8)mov20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[SI](7)源操作数应为[BX+DI] (8)立即数不能作目的操作数〔习题2.3〕已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区
4、域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。 leabx,table moval,8 xlat〔解答〕 leabx,table ;获取table的首地址,BX=200H moval,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H P35〔习题2.4〕什么是堆栈,它的工作原则是什么,它的基本操作有
5、哪两个,对应哪两种指令?〔解答〕堆栈是一种按“先进后出”原则存取数据的存储区域,位于堆栈段中,使用SS段寄存器记录其段地址;它的工作原则是先进后出;堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化? movax,8057h pushax movax,0f79h pushax-18- popbx pop[bx
6、]〔解答〕 movax,8057h pushax movax,0f79h pushax popbx ;bx=0f79h pop[bx] ;DS:[0f79h]=8057h 〔习题2.6〕给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态: moval,89h addal,al addal,9dh
7、 cmpal,0bch subal,al decal incal-18-〔解答〕moval,89h ;AL=89h CF ZF SF OF PFaddal,al ;AL=12h 1 0 0 1 1;10001001+10001001100010010 addal,9dh ;AL=0afh 0 0 1 0 1;00010010+10011101 10101111 cmpal,0bch
8、 ;AL=0afh 1 0 1 0 1;10101111-10111100*01000011 subal,al ;AL=00h 0 1 0 0 1 decal