ImageVerifierCode 换一换
格式:DOCX , 页数:69 ,大小:217.60KB ,
资源ID:14508373      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14508373.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微型计算机技术孙德文版课后习题答案全解.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微型计算机技术孙德文版课后习题答案全解.docx

1、微型计算机技术孙德文版课后习题答案全解 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】微型计算机技术孙德文版课后习题答案全解第1章(略)第2章(略)第3章3. 1. 已知DS091DH,SS1E4AH,AX1234H,BX0024H,CX5678H,BP0024H,SI0012H,DI0032H,(09226H)00F6H,(09228H)1E40H,(1E4F6H)091DH。在以上给出的环境下,试问下列指令或指令段执行后的结果如何(1)MOV CL,BX+20HSI;(2)MOVBPDI,CX;(3)LEA BX,BX+20HS

2、IMOV AX,BX+2;(4)LDS SI,BXDIMOVSI,BX;(5)XCHG CX,BX+32HXCHGBX+20HSI,AX解:(1) CL=09226H=F6H(2) BPDI=1E4F6H=CX=5678H(3) BX=0056H; AX=09228H=1E40H(4) SI=09226=00F6H; SI=1E4F6H=BX=0024H(5) AX=5678H; BX+20HSI=1234H3. 2. 设,DS1000H:SS2000H,AX1A2BH,BX1200H,CX339AH,BP1200H,SP1350H,SI1354H,(1135OH)OA5H,(11351H)3

3、CH,(11352H)OFFH,(11353H)26H,(11354H)52H,(11355H)0E7H,(126A4H)9DH,(126A5H)16H,(21350H)88H,(21351H)51H下列各指令都在此环境下执行,在下列各小题的空格中填入相应各指令的执行结果。(1)MOV AX,1352HAX (2)MOV AX,1352HAX (3)MOV 0150HBX,CH(11350H) ,(11351H) (4)MOV AX,0150HBPAX (5)POP AXAX ,SP (6)ADDSI,CX(11354H) ,(11355H) ,SF ZF ,PF ,CF ,OF (7)SUB

4、 BH,0150HBXSIBH ,SF ,ZF ,PF ,CF ,OF (8)INC BYTE PTR 0152HBX(11352H) ,(11353H),CF(9)INC WORD PTR 0152HBX(11352H) ,(11353H) ,CF (10)SAR BYTE PTR 0150HBX,1(11350H) ,CF ,OF (11)SAL BYTE PTR 0150HBX,(11350H) ,CF ,OF 解:(1)AX=1352H(2)AX=26FFH(3)11350H=33H; 11351H=3CH(4)AX=5188H(5)AX=5188H ; SP=1352H(6)1135

5、4H=ECH; 11355H=1AH; SF=ZF=PF=OF=0; CF=1(7)BH=75H; SF=ZF=PF=OF=0; CF=1(8)11352H=00H; 11353H=26H; CF不变(9)11352H=00H; 11353H=27H; CF不变(10)11350H=D2H; CF=1; OF=0(11)11350H=4AH; CF=1; OF=13. 3. 设下列各转移指令的第一字节在内存中的地址为CS2000H和IP016EH,且环境均为;DS6000H,BX16C0H,(616COH)46H,(616C1H)01H,(616C2H)00H,(616C3H)30H,(617

6、32H)70H,(61733H)17H。写出下列各无条件转移指令执行后CS和IP值。各指令左首的16进制编码是该指令的机器码。指令中的目的地址用相应的标号表示。(1)EBE7 JMP SHORT AGAIN(2)E90016 JMP NEAR PTR OTHER(3)E3 JMP BX(4)FF67 JMP WORD PTR 0072HBX(5)FFEB JMP DWORD PTRBX解:(1)CS=2000H; IP=0157H(2) CS=2000H; IP=1771H(3) CS=2000H; IP=16C0H(4) CS=3000H; IP=0146H(5)CS=2000H; IP=1

7、770H(6)CS=3000H; IP=0146H3. 4. 阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。(1)MOV BL,85HMOV AL,17HADD,AL,BLDAAAL ,BL ,CF (2)MOV AX,BXNOT AXADD AX,BXINC AXAX ,CF (3)MOV AX,OFF60HSTCMOV DX,96XOR DH,OFFHSBB AX DXAX ,CF (4)MOV BX,OFFFEHXOV CL,2SAR RX,CLBX ,CF 解:(1)AL=02H; BL=85H; CF=1(2)AX=0000H; CF=0(3)AX=0000H; C

8、F=0(4)BX=0FFFFH; CF=13. 5. 阅读分析下列指令序列ADD AX,BXJNO L1JNO L2SUB AX,BXJNC L3JNO L4JMP L5若AX和BX的初始值分别如下列五种情况所示,则执行该指令序列后,程序将分别转向何处执行(注:即写出转移去的目的地址L1L5中的一个)。(1)AX14C6H,BX80DCH(2)AX0B568H,BX54B7H(3)AX42C8H,BX608DH(4)AX0D023H,BX9FD0H(5)AX9FD0H,BX0D023H解:(1)转向L1(2)转向L1(3)转向L2(4)转向L5(5)转向L53. 6. AND AL,ALJZ

9、BRCH1RCR AL,1JZ BRCH2RCL AL,1INC ALJZ BRCH3上述程序运行后,试回答:(1)当(AL) 时,程序转向BRCH1(2)当(AL) 时,程序转向BRCH2(3)当(AL) 时,程序转向BRCH3解:(1)AL= 00H(2)AL=01H(3)AL=0FFH3 .7. 完成下列操作,选用什么指令:(1)将AX的内容、减去0520H,和上次运算的借位;(2)将变量名TABL的段地址送AX;解:(1)SBB AX, 0520H(2)MOV AX, SEG TABL3. 8. D1 DB 20H DUP()D2 DW D1请写出用一条指令实现取D1的偏移地址SI中的

10、三种方法。解:(1)MOV SI, OFFSET DI(2)MOV SI, D2(3)LEA SI, DI3. 9. 程序段1 程序段2MOV AX,147BH MOV AX,99D8HMOV BX,80DCH MOV BX,9847HADD AX,BX SUB AX,BXJNO L1 JNC L3JNC L2 JNO L4上述两个程序段执行后,分别转移到哪里解:(1)转向L1(2)转向L33. 10. MOV BX,0FFH AND BX,0FFFH OR BX,0F0FH XORBX,00FFH上述程序段运行后,BX ,CF 解:BX=0F00H; CF=03. 11. CMP AX,BX

11、 JGE NEXT XCHG AX,BXNEXT: CMP AX,CXJGE DONEXCHG AX,CXDONE: 试回答:(1)上述程序段执行后,原有AX,BX,CX中最大数存放在哪个寄存器中(2)这三个数是带符号数还是无符号数解:AX ; 带符号数第4章 画出下列语句中的数据在存储器中的存储情况。ARRAYB DB 63,63H,ABCD,3DUP(),2 DUP(1,3)ARRAYW DW 1234H,5,AB,CD,2DUP(1,3)解: 地址数据地址数据ARRAYB3FH42H63H41H41H44H42H43H43H 44H 01H 00H 03H01H00H03H01H01H0

12、0H03H03H34H00H12H05H00H4. 2. 程序中数据定义如下:DATA1 DW DATA2 DB 32DUP()DATA3 DD DLENGTH EQU DATA1此时DLENGTH的值是多少解:DLENGTH=38=26H4. 3. 程序中数据定义如下:ARRAY DB ABCDEFRESULT DB TABLE DW 20 DUP()则执行指令 MOV AX,TYPE RESULT后,AXMOV BX,TYPE TABLE后,BXMOV CX,LENGTH TABLE后,CXMOV DX,LENGTH ARRAY后,DXMOV SI,SIZE TABLE后,SIMOV DI

13、,SIZE ARRAY后,DI解:AX=1; BX=2; CX=20; DX=1; SI=40; DI=14. 4. 指令AND AX,7315H AND 0FFH中,两个AND有什么差别这两个AND操作分别在什么时候执行解:左为助记符,由CPU执行指令时运算;右为运算符,由汇编程序在汇编时运算。4. 5. 设BX1034H,则执行下列指令MOVAX,BXAND0FFHMOVCX,BXEQ1234H后,AX和CX各为多少若BX1234H,则结果如何解:AX=0034H; CX=0000H; AX=0034H;CX=FFFFH 4. 6. 设已知语句为:ORG 0024HDATA1 DW 4,1

14、2H,+4则执行指令MOVAX,DATA1+4后AX的值是多少解:AX=002CH4. 7. 已知数据定义语句为:BUFFER DB 16 DUP(O,2DUP(1)则其中字数据单元内容为0100H的单元数是多少解:16个4. 8. 要在以DA1为首址的数据区中依次存放下列数据; A,B,O,0,C,D,0,0请分别用DB、DW和DD语句实现。解:DAT DB A, B,0,0,C,D,0,0 DAT DW BA,0,DC,0DAT DB BA,DC4. 9. 试按下列要求在数据段中依次书写各数据定义语句:(1)以DA1为首字节的连接存储单元中存放20H个重复的数据序列:2,3, 10 个4,

15、一个7。(2)DA2为字符串变量,用字变量(DW)设置一字符串;STUDENTS(按 此顺序存放在各单元中)(3)用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。解:(1) DAT1 DB 20H DUP (2,3,10 DUP (4),7)(2) DAT2 DW TS, DU ,NE,ST(3) COUNT EQU DATA2-DATA14. 10. 下面程序段是实现从键盘输入十个一位10进数后累加。最后累加和以非压缩BCD码形式存放在AH(高位)和AL(低位)中。试把程序段中所空缺的指令填上。XOR BX,BXLOP: MOV AH,01H

16、 ;键盘字符输入INT 21HMOV AH,BHADD AL,BLMOV BX,AX解:MOV CX, 10AAA4. 11. 下面程序段的功能是把DA1数据区的数09转换为对应的ASCII码。试完善本程序段。DA1 DB OOH,O1H,02H,03H,04H,05H,06H,07H,08H,09HASCI DB 10 DUP()CUNTASCI-DA1LEA SI,DA1LEA DI,ADCILOP1: MOY AL,SIMOVDI,ALINC SIINC DILOOP LOP1解:MOV CX, COUTADD AL, 30H4. 12. BUFFABDQCAXYZCONT EQU -B

17、UFFCLDLEA DI,BUFFMOV CX,CONTMOV AL,XOR DX,DXNEXT: REPNZ SCA,SBCMP CX,0JZ K1INC DXJMP NEXTK1: 上述程序段运行后,DX中的值表示的意义是什么解:DX中为$个数4. 13. 设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。DATA SEGMENTA DB1,2,3,4,5,6,7,8,9,0AHDRG OO10HB DB 0AH,9,8,7,6,5,4,3,2,1DATA ENDSLEA SI,ALEA DO,BMOV CX,10LOP: LODSBXCHG

18、AL,DIDEC DISTOSBINC DILOOP LOP解:XCHG SI, DIXCHG SI, DI4. 14. 现有一子程序:SUB1 PROCTEST AL,80HJE PLUSTEST BL,80HJNE EXITOJMP XCHANGEPLUS: TEST BL,80HJE EITOXCHANGE: XCHG AL,BLEWITO: RETSUB1 ENDP试回答:(1)子程序的功能是什么(2)如调用子程序前AL9AH,BL77H,那么返回主程序时,ALBL解:(1) 测试AL, BL两数的符号,如为同号直接返回,如为异号,则AL与BL交换(2) AL=77H, BL=9AH4

19、. 15. 编写一程序段,将AL中的第7和0位,第6和1位,第5和2位,第4和3位互换。解:MOV CX, 8 MOV AH, 0K1: SHR AL, 1 RCL AH, 1 DEC CX JNZ K1 MOV AL,AH4. 16. 试编写一程序段,在CHAR为首址的26个字节单元中依次存放字母AZ解:MOV AL, A MOV DI, OFFSET CHAR MOV CX, 26LOP: MOV DI, AL INC AL INC DI LOOP LOP4. 17. 设在数据段中有X,Y两变量(字节单元),试编写程序段计算(只写有关程序功能的指令):X 当X0时Y|X| 当X0时解:MO

20、V AL, X CMP AL, 0 JGE BIGR NEG ALBIGR: MOV Y, AL4. 18. 编程序段计算SUMal+a2+a20,已知a1a20依次存放在以BUF为首址的数据区,每个数据占两个字节,和数SUM也为两个字节。(要求用循环结构编写,循环控制采用计数控制)。此题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。)解:MOV AX, 0 MOV BX, OFFSET BUF MOV CX, 20LOP: ADD AX, BX INC BX INC BX LOOP LOP MOV SUM, AX4. 19. 编写一个完整的源程序,将BUF字节单元存放的两位B

21、CD码,转换成2个字节的ASCII码,并分别存放在ASC和ASC+1字节单元中。例如:(BUF字节单元)58H,那么(ASC字节单元)35H,(ASC+1字节单元)38H。解:DATA SEGMENTBUF DB 58HASC DB 2 DUP ()DATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP (0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART : MOV AX, DATA MOV DS, AX MOV AL, BUF AND AL, 0F0H MOV CL, 4 SHR AL, CL O

22、R AL, 30H MOV ASC, AL MOV AL, BUF AND AL, 0FH OR AL, 30HMOV ASC+1, ALMOV AL, 4CHINT 21H CODE ENDSEND START4. 20. 在A1单元开始定义了一长度为N的字符串,找出其中所有的小写字母并存放到以A2开始的存储区中。统计出小写字母的个数,存放到SL单元中。请编一完整的源程序。数据段如下:DATA SEGMENTA1 DBN EQU A1A2 DB N DUP()SL DB DATA ENDS解:DATA SEGMENTA1 DB N EQU $-A1A2 DB N DUP ()SL DB DA

23、TA ENDS STACK SEGMENT PARA STACK DW 10H DUP (0)START ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACKSTART : MOV AX, DATA MOV DS, AX LEA SI, A1 LEA DI, A2 MOV CX, N XOR BL, BLAGAIN: MOV AL, SI CMP AL, a JB EXIT CMP AL, z JA EXITMOV DI, ALINC BLINC DIEXIT: INC SI LOOP AGAIN MOV SL, BL MOV AH, 4CH I

24、NT 21H CODE ENDS END START4. 21. 设在DAT单元存放一个-9+9的字节数据,在SQRTAB数据区中存放09的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。数据段如下:DATA SEGMENTDAT DB XXHSQRTAB DB 0,1,4,9,7781SQR DB DATA ENDS解:DATA SEGMENTDAT DB XXH SQRTAB DB 0,1,4,9, ,81SQR DB DATA ENDSSTACK1 SEGMENT PARA STACK DB 20H DUP (

25、0)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK1START : MOV AX, DATA MOV DS, AX CALL SUBROT MOV AH, 4CH INT 21HSUBROT PROC PUSH AX PUSH BX LEA BX, SQRTAB MOV AL, DATTEST AL, 80HJNS NEXTNEG ALNEXT: XLAT SQRTAB MOV SQR, AL POP BX POP AX RETSUBROT ENDSCODE ENDS END START4. 22. 编写能完成下列要求的程序:

26、测试字节数据STATUS,若其中位1、3、5有一位是“1”,程序就转至ROUT1;若有二位是“1”,就转向ROUT2;若三位都是“1”,就转向ROUT3;若这三位没有一位是“1”,就转向ROUT4。解:MOV AL, STATUSAND AL, 00101010BJZ ROUT4CMP AL,00101010BJZ ROUT3TEST AL, 00001010BJZ ROUT1TEST AL, 00101000BJZ ROUT1TEST AL, 00100010BJZ ROUT1JMP ROUT2HLT4. 23. STRING字符串的最大长度为80个字符,字符串的结束用字符表示。编写程序在该

27、字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格在字符串中的位置(004FH)存入POST单元;若无空格则将1存入POST。解:DATA SEGMENTSTRING DB $LENT EQU $- STRINGPOST DB SEARCH: MOV BX, OFFSET STRING MOV DL, 20H MOV POST, 0FFH LOP: MOV AL, BX INC BX CMP AL, $ JZ STP CMP AL, DL JNZ LOPDEC BXMOV POST, BX STP: MOV AH, 4CH INT 21H第5章5. 1. 用下列芯片构成存储系统,各需要多少个RAM芯片需要多少位地址作为片外地址译码设系统为20位地址线,采用全译码方式。(1)5124位RAM构成16KB的存储系统;(2)10241位RAM构成128KB的存储系统;(3)2K4位RAM构成64KB的存储系统;(4)64K1位RAM构成256KB的存储系统;解:1) 需要16KB/5124=64片片外地址译码需11位地址线。2) 需要128KB/1K1=1024片片外地址译码需10位地址线。3) 需要64KB/2K4=64片片外地址译码需9位地址线。4) 需要256KB/64K1位=32片片外地址译码需4位地址线。5. 2.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2