汇编答案

2019-03-10 19:46

汇编答案

习题1.5〕将下列十六进制数转换为二进制和十进制表示

(1)FFH (2)0H (3)5EH (4)EFH

(5)2EH (6)10H (7)1FH (8)ABH 答 (1)FFH 11111111B 255D

(2)0H 0B 0D (3)5EH 1011110B 94D (4)EFH 11101111B 239D (5)2EH 101110B 46D (6)10H 10000B 16D (7)1FH 11111B 31D (8)ABH 10101011B 171D 〔习题1.6〕

将下列十进制数转换为BCD码表示

(1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 答 (1)12 00010010

(2)24 00100100 (3)68 01101000 (4)127 000100100111 (5)128 000100101000 (6)255 001001010101 (7)1234 0001001000110100 (8)2458 0010010001011000

〔习题1.7〕

将下列BCD码转换为十进制数

(1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010〔解答〕 (1)91 (2)89 (3)36 (4)90 (5)08 (6)97 (7)81 (8)02

〔习题1.8〕将下列十进制数分别用8位二进制数的原码、反码和补码表示

(1)0 (2)-127 (3)127 (4)-57

(5)126 (6)-126 (7)-128 (8)68 (1)0 +0 00000000 00000000 00000000 -0 10000000 11111111 00000000 (2)-127 11111111 10000000 10000001 (3)127 01111111 01111111 01111111

(4)-57 10101111 11010000 11010001 (5)126 01111110 01111110 01111110 (6)-126 11111110 10000001 10000010 (7)-128 10000000 (8)68 01000100 01000100 01000100 〔习题1.9〕完成下列二进制数的运算

(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧1001 (6)1011 ∨1001 (7)~1011 (8)1011 ? 1001 答(1)1011+1001=10100 (2)1011-1001=0010 (3)1011×1001=1100011

(4)10111000÷1001=10100,余数 1000 (5)1011 ∧ 1001=1001 (6)1011 ∨1001=1011 (7)~1011=0100

(8) 1011?1001=0010(?代表异或)

〔习题1.10〕数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?

答:数码0~9:30H~39H 大写字母A~Z:41H~5AH 小写字母a~z:61H~7AH

ASCII码为0dh、0ah分别对应回车和换行控制字符。

〔习题1.11〕计算机中有一个“01100001”编码,如果把它认为是无符号数,它是十进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?

答:十进制无符号数:01100001B=61H=97

BCD码:61 ASCII码:a

〔习题1.17〕举例说明CF和OF标志的差异。

答:溢出标志OF和进位标志CF是两个意义不同的标志。

进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。

例1:3AH + 7CH=B6H

无符号数运算:58+124=182,范围内,无进位 有符号数运算: 58+124=182 ,范围外,有溢出 例2:AAH + 7CH=(1)26H

无符号数运算:170+124=294,范围外,有进位 有符号数运算:-86+124=28 ,范围内,无溢出

习题1.19〕什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:

(1)FFFFh:0 (2)40h:17h (3)2000h:4500h (4)B821h:4567h

答:在8086处理器中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH。

在8086内部和用户编程时,采用的段基地址 : 段内偏移地址形式称为逻辑地址。

将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址

如下逻辑地址用物理地址表达: (1)FFFFh:0=FFFF0H (2)40h:17h=00417H (3)2000h:4500h=24500H

(4)B821h:4567h=BC777H (不要算错)

〔习题1.24〕说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。

(1) mov dx,[1234h]

(2) mov dx,1234h (3) mov dx,bx (4) mov dx,[bx] (5) mov dx,[bx+1234h] (6) mov dx,[bx+di]

(7) mov dx,[bx+di+1234h]〔解答〕 (1)直接寻址,EA=1234H (2)立即数寻址,DX=1234H (3)寄存器寻址,DX=2000H (4)间接寻址,EA=2000H (5)相对寻址,EA=3234H (6)基址变址寻址,EA=2040H (7)相对基址变址寻址,EA=3274H

习题2.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1) mov ax,1200h (2) mov ax,bx (3) mov ax,[1200h] (4) mov ax,[bx] (5) mov ax,[bx+1100h] (6) mov ax,[bx+si]

(7) mov ax,[bx][si+1100h]〔解答〕 (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) mov cx,dl (2) mov ip,ax (3) mov es,1234h (4) mov es,ds (5) mov al,300 (6) mov [sp],ax (7) mov ax,bx+di

(8) mov 20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[ SI ] (7)源操作数应为 [BX+DI] (8)立即数不能作目的操作数

〔习题2.6〕给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态: mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al

inc al 〔解答〕

mov al,89h ; AL=89h CF ZF SF OF PF add al,al ; AL=12h 1 0 0 1 1 ; 1000 1001 +1000 1001 10001 0010

add al,9dh ; AL=0afh 0 0 1 0 1 ; 0001 0010

+ 1001 1101 1010 1111

cmp al,0bch ; AL=0afh 1 0 1 0 1 ; 1010 1111 -1011 1100 * 0100 0011

sub al,al ; AL=00h 0 1 0 0 1 dec al ; AL=0ffh 0 0 1 0 1 ; 0000 0000 - 0000 0001 *1111 1111

inc al ; AL=00h 0 1 0 0 1 ;1111 1111 +0000 0001

*1111 1111

〔习题2.7〕设X、Y、Z均为双字数据,分别存放在地址为X、X+2;Y、Y+2;Z、Z+2的存储单元中,它们的运算结果存入W单元。阅读如下程序段,给出运算公式。

mov ax,X mov dx,X+2 add ax,Y adc dx,Y+2 add ax,24 adc dx,0 sub ax,Z sbb dx,Z+2 mov W,ax

mov W+2,dx 〔解答〕 W=X+Y+24-Z

〔习题2.8〕请分别用一条汇编语言指令完成如下功能:

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。

(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。

(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。〔解答〕 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX


汇编答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:专职安全员安全生产重点复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: