欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    哈尔滨工程大学微机原理课后题答案.docx

    • 资源ID:96801484       资源大小:54.74KB        全文页数:19页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    哈尔滨工程大学微机原理课后题答案.docx

    第一章1题(1)110=6EH=01101110B(2)1039M0FH =01000000 HUB2题(1)129(0001 0010 1001)bcd注:在计算机汇编程序中BCD码只能用16进制数表示,形式为129H(2) 5678(0101 01100111 1000)bcdBCDBCD3题(1) 1010101 OB =0 A AH = 170D(2)10000000B=80H= 128D(4)01111110B=7EH=126D4题5题BCDBCD6题二进制数为100010001B(0010 0111 0011) BCD表示的十进制数为273BCD7题(1)8题6AH+ A6H110H9题(1)无符号数符号数(2)-1101BABI FH+ 0 E FCHB A IB HX=01H=01DX=01H=01D12ADH(HDEH10CFHY=0FFH=255 y=offh= -1117HOABH06 CH注:对于同一个数到底是符号数还是无符号数是由程序设计者根据数据实际的意义决定的, 一旦定下来,在程序中采用不同的指令来区分符号数和无符号数,即算数运算指令会有符号 数和无符号两套指令。10 .题(1)101+31 H+69H+0D5H+(5*8+7)=53111题ASCII 码 为 41H5AH48454C4C4FH,一'z' ASCII 码 为 61H7AH'A8' 4138H12题(1)正,ASCII码为45H01001001B本身为奇数个1所以偶校验D7为1,为0C5H;奇校验D7为0,为45H(2尸6,ASCII码为36H00U0U0B本身为偶数个1CODE ENDSEND START5-11或者用:MOV BX,AXMOV CL,3SHL AX, CLSUB AX,BX(3)AL=FFH采用左移指令MOV BX,AXSHL BX,1 ;乘2MOV DX,AXMOV CL,2SHL AX,CL ;乘4ADD AX,BX ;3 倍ADD AX,DX ;7 倍5-123228H5-13(l)AL=00(2)AL=01H5-14编程思路有两种方法:1 .将给出的BCD码首先转换成二进制数(十六进制数), 按二进制的算术运算,将最终结果再转换为BCD码。2.按照BCD码进行运算, 其中2*A按压缩BCD的加法(A+A)。此题用方法2比较简单DATA SEGMENTBUFF DB 34H ; BCD码数据为十进制34DES DB ?;最终的结果应为21HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, BUFFCMP AL,20H;十进制J 20HJB ADDSELFCMP AL, 60HJB SUB20HMOV DES, 80HJMP NEXTSUB20H: MOV AL,BUFFSUB AL,20HDASJMPOUTTADDSELF: MOV AL,BUFFADD AL,BUFF ;自加代替乘2DAAOUTT: MOV DES,ALNEXT:MOV AH,4cHINT21HCODE ENDSEND START5-15DATA SEGMENTBUFER DW 1200H/1200H, 1200HFLAG DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATAMOV DS, AXMOV AX,BUFERCMPAXJBUFER+2;判断1和2是否相等JZ TEST1EQU3CMPAX,BUFER+4;判断1和3是否相等JZ TWOEQUMOV AX,BUFER+2CMP AX,BUFER+4JZ TWOEQUMOV FLAG, 0JMP OUTTTESTlEQU3:CMPAX,BUFER+4 JZ ALLEQUTWOEQU: MOV FLAQ01H;两个数相等JMP OUTTALLEQU: MOV FLAQ02H;三个数相等OUTT: MOV AH, 4CHINT21HCODE ENDSEND START5-16AX=55H CX=0(2) 5,678,95-17DATTASEGMENTDATADW 5, 7,1900h, 2300h, OaOh, 000BH, .r 1NUMEQU ($-BUF) /2MAX DW ?MIN DW ?DATTA ENDSCODESEGMENTASSUME DS :D ATT A,CS:CODESTART:MOV AX, DATTA;序列数据个数;大数存于DX中;小数存于BX中MOV MOV MOV MOV MOV MOV MOVLOP:CMPJLCMP JG JMPBIG_CHG: MOVJMPDS, AXCX, NUMSI,0DX, DATABX, DATACX, NUM-1SI, 2DX, DATASIBIG_CHGBX, DATASILITTLE_CHGOUTTDX, DATASIOUTTLITTLE_CHG: MOVOUTT:INCINCLOOPMOVMOVMOVINTCODE ENDSENDBX, DATASISISILOPMAX, DXMIN , BXAH, 4CH21HSTARTNUMBERCNT PLUS DATTA5-18DATTA SEGMENTDB 5, 7, 19h, 23h, OaOh, OBH, 1EQU $-BUFDB CNT DUP(?)ENDSCODE SEGMENTASSUME DS:DATTA, CS:CODESTART: MOV AX, DATTAMOVMOVDS, AXCX, CNT;序列数据个数MOV SI, OFFSET NUMBERLEA DI, PLUSLOP:MOV AL, SICMP AL ,0JG PUT_PLUSJMP OUTTPUT_PLUS: MOV DI,AL INC DIOUTT:INC SILOOPLOPMOVINTAH, 4CH21HCODEENDS5-19DATAENDSEGMENTSTARTMARKCOUNTDB 98, 23, 90 ,77, 68 ,78 ,84 ,78, 79 ,98 EQU $-MARKA MARKDB;90分B MARKDBC MARKDBD MARKDBE MARKDBAVERAGEDBDATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATAMARK;成绩和清零SI, 60START: MOVMOVMOVMOVXORLOP: CMPAX, DATADS, AXCX, COUNT SI, OFFSETAX, AX BYTE PTRJAEMARK 60INCE MARK;低于60分JMPOUTTMARK 60: CMPBYTE PTRSI, 70JAEMARK 70INCD MARK;低于70分JMPOUTTMARK 70: CMPBYTE PTRSI, 80JAEMARK 80INCC MARKJMPOUTTMARK 80: CMPBYTE PTRSI, 90JAEMARK 90INCB MARKJMPOUTTMARK 90: INCA MARKOUTT: ADDADCINCAL, SIAH,0 SILOOPLOPMOV BL, COUNTDIV BLMOV AVERAGE, ALMOV AH, 4CHINT 21HCODE ENDSEND START;求平均值5-20;1)通过INT21的01H功能输入一个字符,大小写的ASCII码相差20H;2)显示过程中注意回车换行,或者采用空格,否则后出现在屏幕的字符会覆 盖前面的字符DATA SEGMENTSTRING DB ?DATA ENDS CODE SEGMENTASSUMECS:CODE ,DS: DATASTART: MOV AX, DATAMOV DS, AX LOP: MOV AH,01HINT21H CMP AL,阳 JZ OUTT MOV STRINQAL MOV DL ,0DH MOV AH ,02H INT21H MOV DL ,0AH MOV AH ,02H INT 21HMOV AL,STRING SUB AL,20H MOV DL ,AL MOV AH ,02H INT 21HMOV DL ,0DH MOV AH ,02H INT21H MOV DL ,0AH MOV AH ,02H INT21H JMP LOPOUTT: MOV AH, 4CH;输入字符并回显在屏幕;为结束符退出循环;将输入字符的ASCII码存入内存单元;显示回车字符;显示换行字符;输入字符为小写,减20H为大写;显示同车字符;显示换行字符;死循环INT21HCODE ENDSENDSTART5-21DATA SEGMENTPKK DB *adgdggdaad#ghg#u ioo1CNT EQU $-PKK ;题目要求是100个字符,此处自己定义非100, CUT DB ?NUM_OFFSET DW 0 ;存放和PKK的距离,100个字符,实际字节数据就可以表示距离值DATA ENDSCODE SEGMENTASSUME CS: CODE ,DS: DATA START: MOV AX, DATA MOV DS, AX MOV CX,CNT MOV CUT,0 MOV BX,0;采用相对寄存器间接寻址AGAIN: CMP PKKBX ,# JNZ NEXT INC CUTMOV NUM_OFFSET,BX;和首个字符的距离值NEXT: INC BXLOOP AGAINOUTT: MOV AH, 4CH INT21HCODE ENDSEND START 5-22 ;程序中没有考虑大小写混合的情况,只考虑单一情况 ;排序采用冒泡法,具体思路参考教材上的191493页 DATA SEGMENTSTRING DB ,DKSNTEYERTY',0DH,0AH;$,; 0DH 为回车字符,0AH 为换彳亍字符, ;* $,显示到此结束CNT EQU S-STRING-3;去掉最后三个字符CHAGE_STRING DB CNT DUP(?) DATA ENDS CODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AX LEA DX,STRING MOV AH,09H INT21HMOV DX,CNT-1 LOP: MOV CX,DX MOV SI,0MOV AH,0AGAIN: MOV AL ,STRINGSICMPAL,STRINGSR1JLE NEXTXCHG AL ,STRINGSI+1XCHG AL,STRINGSIMOV AH,01HNEXT: INC SILOOP AGAINDEC DXOR AH ,AHJNZ LOPLEA DX,STRINGMOV AH,09HINT21HJMP$MOV AH, 4CH;为了长时间显示,可采用JMP$代替返回DOSINT21HCODE ENDSEND START5-231)基本功能完成从SOURCE开始的地址100个字节传送到DST开始的空间。 子程序中采用了串指令(未讲),可以不用管。2)子程序的输入参数是通过堆栈传递的,调用子程序前压栈三次,占用了 6个 字节,此处子程序属于段间调用,断点(CS和IP)都要压栈保护,由CPU完成。 3)子程序调用结束后,没有出栈,所有会浪费堆栈的6个字节(在子程序中进 行了三次压栈操作)。修改的方法:调用子程序结束后将堆栈指针加6,或采用 RET6返回,或者不采用堆栈传递而通过寄存器传递输入参数。5-24;题意不太明确DATA SEGMENTDATA! DB 30H,31 H,32H,33H,34H,35H,36H,37H,38H,39H, 41 H,42H,43H,44H,45H,46H;0-9,A-F 的 ACII 码DATA2 DB 5 ;待查十六进制个位数DATA3 DB ?;查表结果DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATAMOV DS, AX CALL HEX_ASCIIMOV AH ,4CHINT21HHEX_ASCII:PUSH AXPUSH BXMOV AL ,DATA2MOV BX,OFFSET DATA1XLATMOV DATA3,ALPOP BXPOP AXRETCODE ENDSEND START5-25;采用INT21的01H功能输入一个字符,只考虑了 0-9 (ASCH码和数字间相 差30H),未考虑A-F(ASCII码和数字间相差37H)的数据.;查找一位数里最大数和最小数为子程序形式 ;显示字节数据采用子程序的形式,可以显示字节数高低的数可以为0-FoDATA SEGMENTSTRING DB ?;存放输入字符的中间变量NUM DB 10 DUP(?);存放输入10个个位数据CNT EQU $-NUMMAX DB ?MIN DB ?DATA ENDSCS:CODE ,DS: DATACODE SEGMENT ASSUMESTART: MOV AX, DATA MOV DS, AX MOV CX, 10 LEA SI,NUM LOP:MOV AH,01H;输入字符并回显在屏幕;将输入字符的ASCII码存入内存单元;显示空格字符;字符转换成数字;显示回车字符;显示换行字符INT21H MOV STRING,AL MOV DL ,20H MOV AH ,02H INT21HMOV AL, STRING SUB AL,30H MOV SI,AL INC SI LOOP LOP MOV DL ,0DH MOV AH ,02H INT21HMOV DL ,0AHMOV AH ,02HINT21HLEA SI,NUM MOV CX,CNTCALL MAX_MIN MOV MAX,DH MOV MIN,DL MOV BL,MIN CALL DIS_BYTE MOV DL ,20H MOV AH ,02H INT21H;调用查个位数中最大和最小数;调用字节显示子程序显示最小值 ;显示空格字符MOV BL ,MAX CALLDIS_BYTE JMP $MOV AH, 4CHINT21H ;显示字节子程序;调用字节显示子程序显示最大值;为了长时间显示,可采用JMP$代替返回DOS;输入参数(调用前提):要显示数据->BL;输出参数(调用结果):无DIS_BYTE:PUSH CXPUSH DXPUSH AXMOV AL, BLAND AL, OFOHMOV CL, 4SHR AL, CLCMP AL, OAHJB ADD_30ADD AL, 07HADD 30: ADD AL, 30HMOV DL, ALMOV AH, 02HINT 21HMOV AL, BLAND AL, OFHCMP AL, OAHJB ADD_30_lADD AL, 07H;取高4位;是否是A以上的数;A-F字符加37H;0-9字符加30H;显示字符;取低4位ADD_30_l: ADD AL, 30HMOV DL, AL ;显示字符MOV AH, 02HINT 21HPOP AXPOP DXPOP CXRET;查找无符号字节序列数据中最大和最小值;输入参数(调用前提):数据的首地址->SI,元素个数-cx;输出参数(调用结果):最大数->DH ,最小数->DLMAX_MIN PROC NEARMOV DH,SIMOV DL,SIDEC CXINC SIAGAIN: CMP SI ,DLJAE CHECK_MAXMOV SI, DLJMP NEXTCHECK_MAX: CMP SI,DHJBE NEXTMOV DH,SINEXT: INC SILOOP AGAINRETMAX.MIN ENDPCODE ENDSEND START所以偶校验D7为。,为36H;奇校验D7为1,为OB6H13题-38=10100110B=11011001B = U011010B补8 位-38=00110B原=111B反=U11111U1011010B补 16 位 125=01111101B=01111101Bk = OlllllOlBk 8 位 125=0000000001111101BLm=0000000001111101B反=0000000001111101Bh16 位-128= 10000000B补 8位 原码和反码不能用8位表示14题 +0=00000000BK=00000000B反=OOOOOOOOB4 8 位高8位补。为16位-0=10000000Bjm=11111111BS= 00000000B补 8 位-0=l000000000000000B=l B = 0000000000000000B#16 位15题X补=81H =111 11 111 1原=10000000反 真值为-127(2)X补=原=反真值为-2”(3)Xh=79H=01111001B原=01111001B反 真值为 121(4)X补=0FFFEH=原二口 101反16题(1) X补=1000 0000 0000 0000B(2) X补=1111 1111 1111 1111B(3) X补=0111 1111 1111 1111B(4) X补=0101 0101 0101 0101B 17题原码(-D(-127)8 位负数 10000001B-11111111B(+1)(+127)8 位正数 00000001B-01111111B+0原WOOOOOOOOB -0原=100000000BN 位的通式-(2N-1-1)+(2N-I-1)真值为-8000H=-32768真值为-8000H=32768真值为 7FFFH=32767真值为 5555H=21845反码(-D(-127)11111110B-1000000B(+1)(+127)01111111B-00000000B +0反=00000000B -0(2N-i_i)_+(2N-i_i)补码(-D(-128)11111111B-1000000B(+1)(+127)00000000B-01111111B+0补=00000000B-0补=00000000B18题(1)不溢出结果为15未超出8位补码的范围(2)不溢出结果为-55未超出8位补码的范围(3)溢出 结果为-132超出8位补码的范围(4)不溢出结果为-125未超出8位补码的范围 19题(1) 27+1100100111B 37+29001101UB+00010001B+00101001 B00101000B01100000B+ 00000110B01100110B20题x 25浮点原码0 0101 0 100011B反码和原码相同规范化表示x 2,(舍掉最低两位)原码 0 0111 1 100101 B 补码 0 011 1 1 011011 B第二章1题省略2题总线:计算机系统各部分之间传递地址、数据和控制信息的共同线路的集合。总线结构的好处:物理上是同时可以挂多个设备,但是总线上某一个时刻只有一个设备传送 信息。从空间上分为四类(是从PC机角度分类的)片内总线,片间总线(主总线,前端总线), 系统总线(PCI , ISA等标准总线),系统间通讯总线。标准总线好处:总线接口标准统一便于通用。总线传递信息分为三大类:数据总线,地址总线,控制总线。系统总线等也由是三大总线组 成,只是根据不同的需要经过了变换。3题总线接口单元(BIU):1)形成访问内存或者I/O端口的物理地址;2)从内存的代码段中取指令送到队列缓冲器中;3)读取操作数参加EU运算或则存放运算结果到指定地址。执行单元(EU)1)从BIU的指令队列缓冲器中去指令进行译码、执行;2)负责所有的算术,逻辑运算及16位偏移地址计算;3)像BIU提供指令的执行结果和16位偏移地址。二者同步进行操作,相当两级流水线,提高了效率。4题省略5题T1时刻是地址信息,用ALE信号锁存。注:凡是有ALE信号的CPU的某些管脚都具 有分时复用的功能。(如51单片机,AVR单片机等)。T3时刻数据信息送出。通过地址锁 存器保持地址信息。数据放大器(驱动器),加强总线的带载能力。6题略7题7825H+ 5A1FHD244HCF=0; OF= 1; ZF=0; PF= 1; AF= 1;SF=1;7825H-5A1FH1E06HCF=0; OF=0; ZF=0; PF= 1; AF= 1; SF=0;8题最大模式:除了 8086/8088处理器外还有协处理器最小模式:系统只有8086/8088处理器9题访问存储器使用到哪些信号:WR RD M/IO ALE AD0-AD15 A16/S3-A19/S6等10题一个指令周期至少包含一个总线周期(即:取指令读存取器的所花的总线周期),一个总线 周期包含4个时钟周,可会在T3后插入的等待周期。11题省略12题 主要点为以下三点,有以下原因的前两点还会引申出来的其他区别,如执行指令的 效率。但是二者的程序是完全兼容的。80868088外部总线16位外部总线8位队列缓冲字节6个 队列缓冲字节4个M/IOIO/M13题分时复用的信号,在总线周期前面出现的信号只要在后面的时钟周期还要维持其原来 信号稳定不变就都要进行锁存。14题 指令队列缓冲区使得CPU可以取指和执行指令并行进行。8086复位后, CS=OFFFFH,其他寄存器为 复位后程序指针指向了物理地址的FFFFOH的位置,一般 在此处都是一条跳转指令,由此处跳到用户的自己的监控程序的入口处(开始的地方)。此 特性具有通用性15题实际地址(物理地址)是20位的,而内部数据总线是16位的,只能通过段加偏移的办法 段起始地址最低4位为0o16题地址线为N,则寻址存储单位(字节)多少的关系为:2N 。也可能为4位,16位等。 17题逻辑地址表示为段地址:偏移地址,是在编程时使用,计算机也是利用他们二者来找到实际地址的。实际地址(物理地址)二段地址*16+偏移地址段地址只是段起始地址(是一个段开始的物理地址,为20位)的高16位。18题 二者都是1117AH,同一物理地址可以写成不同逻辑地址的形式,但在实际中一般 不会出现。19题代码段的寻址就是通过CS*16+IP ,所以指令存放的第一个字节单元的物理地址 A7B00H+2B50H=AA650H20题100字200字节 200=C8H 偏移从2300H开始,21题字节数据 123D4H=78H123D6H=34H字数据 123D4H=5678H123D6H=0E634H22题存储器10000H0000H代码段1OFFFH11000HOFFFH0000H数据段117FFH11800H119FFH堆栈段07FFH0000H01FFHCS= 1000H , DS= 11 OOH ,SS=1180H23题 偶地址开始存放的字数据为规则字,奇地址开始存放的字数据为非规则字。第四章41(1)目的操作数:寄存器寻址,源操作数:立即寻址(2)目的操作数:寄存器寻址,源操作数:直接寻址(3)目的操作数:寄存器间接寻址,源操作数:寄存器寻址(4)目的操作数:寄存器寻址,源操作数:相对基址变址寻址(5)目的操作数:寄存器寻址,源操作数:基址变址寻址(6)目的操作数:寄存器寻址,源操作数:寄存器寻址(7)目的操作数:寄存器间接寻址(SP寄存器指向的内存单元),源操作数:寄存器寻址(8)目的操作数:寄存器寻址,源操作数:寄存器寻址(9)目的操作数:寄存器寻址,源操作数:直接端口寻址(10)目的操作数:间接端口寻址(端口的寄存器间接寻址),源操作数:寄存器寻址(11)寄存器寻址(12)目的操作数:相对寄存器寻址42(1) DSx6+DI(2) SSxl6 + BP+SI(3) DSxl6 + BX + 10(4) ESxl6+BX + SI + lQH(5) D5xl6 + 5/ + FF80H(6) SSx16+SP(7) 05x16 + 2020”(8) ESxl6 + SI4一3(1)类型不匹配(寄存器长度不一致)(2) CS不能作目的操作数(3) IP不能作操作数(4)立即数不能作目的操作数(5)乘数不能是立即数(6)两个存储器单元间不能用MOV指令直接交换数据(7)数据类型不确定(字节还是字操作不清楚)(8) CUP和I/O间数据交换,只能用AX(AL)存放数据(9)立即数不能直接赋值给段寄存器(10)循环次数大于1放在CL寄存器(ID CX不能作寄存器间接寻址的寄存器(12)立即数不能做入栈操作44(1) AX=1200H(2) AX=647AH(3) (10050H)=7DH,(10051H)=B7H,ZF=0, SF=1, CF=0, OF=0(4) (12AD0H)=F7H,CF=0, OF=0(5) (12BD0H)=31H,CH=31H(6) BH=C9H,ZF=0, SF=1, CF=LOF=0(7) (12A80H)=2BH,(12A81 H)=89H,CF= 145(1) LEA BX , BUF (或 MOV BX ,OFFSET BUF)ADD BX, 8MOV CX , BX(2) MOV BX ,OFFSET BUF (或 LEA BX , BUF)MOV CX , BX+8MOV BX ,8MOV CX , BUF BX(3) MOV BX ,OFFSET BUF (或 LEA BX , BUF)MOV SI, 8MOV CX , BX+SI46SP= 100EH, AX=2468H,BX=2468H4一7(1) MOV AX, 0(2) AND AX, 0(3) XOR AX, AX(4) SUB AX, AX48 AX=0ABCHAX=0ABBHAX=0ABBHCL=0004HAX=ABB0H CL=0004HCL=B0HCL=28HAX=ABB0HAX=ABBOH49 AL=FFH BL 不变 CF=0410 AX=3520H4-11两条指令的区别是指令执行后是否保留运算结果,前条指令执行后AL的值改变后条指令中的AL的值不变。SF=1, CF=1, ZF=O, OF=04-12以下程序中的WORD PTR都可以省略,因为变量的属性就是字。无符号数:MOVMUL MOV MOV SUBSBB MOVAX, AWORD PTR C ; X*YfDX,AXCX, BX, CX, BX, W,Z 0 AXDXCX;直接加0,拓展无符号数Z的高16位MOV W+2, BX有符号数:MOV IMUL MOV MOV MOV CWDSUB SBB MOV MOVAX, AWORD PTR CCX,BX,AX,AXDX Z;X*Y9DX,AX;暂存 X*Y9BX,CX;16符号数Z符号位拓展,必须放在AX,拓展完放在DX,AXAX, DX, W, W+2,CXBXAXDX(2)无符号数:MOVADDMULDIVMOVMOVAX,AX,WORD PTR AWORD PTR CW,W+2,AXDX有符号数:MOVADDIMULIDIVMOVMOVAX,AX,WORD PTR AWORD PTR CW,W+2,AXDX(3)无符号数:MOV AX,MOV DX,DIV WORD PTR AADD AX, BMOV W, AX有符号数:MOV AX, DCWDIDIV WORD PTR AADD AX, BMOV W, AX4-13用指令TEST CX,0400H执行指令后,如果ZF=1,则D.)为0,否则不为。4-14 指令 AND BYTE PTR 1000H , 04-15同时改变CS和IP的有段间的跳转(直接和间接)、段间调用子程序以及段间中断服 务程序,段内只改变IP。4-16.先行 IP 为 2102H(1)转移的目标地址 IP=2102+0038H=213AH(2)转移的目标地址 IP=2102+FFD8H=213AH=20DAH4-18 (1) CMPDX, CXL1BX, AXL24-17. (1)L1 (2)L2 (3)L5 (4)L5JA(2)CMPJG(3)CMP CX, 0JE L3(4)CMPJO(5) CMPJLE(6) CMPJBEBX,AXL4BX, AXL5DX, CXL6(2) A , AE, L,LE(4) B ,BE,G,GE(6) A, AE,G, GE4-19(l)BE,AE,LE,GE L, LE,G, GE (5) B ,BE,L,LE4-20调用过程(子程序)时,断点要入栈,当调用子程序返回时,按照断点IP开始执行 程序。此处为段内跳转,所以只有IP入栈。入栈的不是CALL指令的IP,而是它后面的指 令的IP地址,段内短跳转的CALL指令为3字节,所以压栈的断点IP地址为365BH第五章第五章参考答案5-1(1) STAD DB 78,-40,0D6H,49H(2)ARRAY DB 45H, 12H,64H,00H,0D2H,04H,0C7H,00H(3)ALPHA DB 12H,0FCH,0E4H,65H(4)BETA DB 4 DUP(8),6 DUP(S),20 DUP(,)10 DUP(1,3)(5)STRING DB 'THIS IS A EXAMPE5(6) TOTAL EQU 780TOTAL= 7805-2 5-3COUNT的值为42*2+4 表示变量X2和X3共占用的字节存储单元数 5-4 注:SA3不占用内存 5-5 3000H为字数据的偏移地址为0030H 5-6(1) MOV BX ,OFFSET BUF1 或 LEA BX, BUF1(2) MOV CL ,BYTE PTR BUF2+3 MOV BUF3+7QC6H (4)CNT EQU BUF4-BUF2(5)MOVAL,BUF4+3MOV AH,0ADD AX,BUF2+1MOV WORD PTR BUF3,AX5-7(1) 7CH (2)6752H (3)C0H (4)31H (5)04H5-8 DA2=0D5B3H CF=0 5-9第二个AND为伪指令,在汇编时给出值。第一个AND为指令,可改写成 AND AX,06H5-10 DATA SEGMENTBCD! DB 31H,32H ;十进制数 1 和 2 的 ASCIIBCD2 DB ?;最终的结果应为21H DATA ENDS CODE SEGMENTASSUME CSCODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,BCD 1 SUB AL,30H MOV AH,AL;低4位暂存AH MOV AL,BCD 1 + 1 SUB AL,30H MOV CL,4 SHL AL,CL;高4位的左移4位 OR AL, AH MOV BCD2,AL MOV AH,4cH INT21H

    注意事项

    本文(哈尔滨工程大学微机原理课后题答案.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开